Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
15 Дек 2017, 12:54
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Расшифровка нескольким параметрам  (Прочитано 1136 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн Пустовалов Артем

  • ***
  • Сообщений: 102
  • РЕПУТАЦИЯ: 2
  • КПД: 2%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте, специалисты 1с. У меня платформа 8,2. УПП 1,3. Делаю внешний отчет по товарам на складах. Отчет формируется правильно,Вот тект
Процедура Отчет(ТабДок, КонецПериода, НачалоПериода, Склад, ТипЦен) Экспорт
   //{{КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ(Отчет)
   // Данный фрагмент построен конструктором.
   // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
   
   Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Отчет");
   Запрос = Новый Запрос;
   Запрос.Текст =
   "ВЫБРАТЬ
   |   ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад,
   |   ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
   |   СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК КоличествоНачальныйОстаток,
   |   СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход) КАК КоличествоПриход,
   |   СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход) КАК КоличествоРасход,
   |   СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КоличествоКонечныйОстаток,
   |   ЦеныНоменклатурыСрезПоследних.Цена,
   |   ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ЦеныНоменклатурыСрезПоследних.Цена КАК Сумма
   |ИЗ
   |   РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(
   |         &НачалоПериода,
   |         &КонецПериода,
   |         ,
   |         ,
   |         Склад = &Склад
   |            ИЛИ &Склад = ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)) КАК ТоварыНаСкладахОстаткиИОбороты
   |      ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонецПериода, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
   |      ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
   |
   |СГРУППИРОВАТЬ ПО
   |   ТоварыНаСкладахОстаткиИОбороты.Склад,
   |   ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
   |   ЦеныНоменклатурыСрезПоследних.Цена,
   |   ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток * ЦеныНоменклатурыСрезПоследних.Цена
   |
   |УПОРЯДОЧИТЬ ПО
   |   Склад
   |ИТОГИ ПО
   |   ОБЩИЕ,
   |   Склад
   |АВТОУПОРЯДОЧИВАНИЕ";
   
   Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
   Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
   Запрос.УстановитьПараметр("Склад", Склад);
   Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
   
   РезультатЗапроса = Запрос.Выполнить();
   
   ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
   ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
   ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы");
   ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы");
   ОбластьОбщийИтог = Макет.ПолучитьОбласть("ОбщиеИтоги");
   ОбластьСклад = Макет.ПолучитьОбласть("Склад");
   ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
   
   ТабДок.Очистить();
   ТабДок.Вывести(ОбластьЗаголовок);
   ТабДок.Вывести(ОбластьШапкаТаблицы);
   ТабДок.НачатьАвтогруппировкуСтрок();
   
   ВыборкаОбщийИтог = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   
   ВыборкаОбщийИтог.Следующий();      // Общий итог
   ОбластьОбщийИтог.Параметры.Заполнить(ВыборкаОбщийИтог);
   ТабДок.Вывести(ОбластьОбщийИтог, ВыборкаОбщийИтог.Уровень());
   
   ВыборкаСклад = ВыборкаОбщийИтог.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
   
   Пока ВыборкаСклад.Следующий() Цикл
      ОбластьСклад.Параметры.Заполнить(ВыборкаСклад);
      ТабДок.Вывести(ОбластьСклад, ВыборкаСклад.Уровень());
      
      ВыборкаДетальныеЗаписи = ВыборкаСклад.Выбрать();
      
      Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
         ТабДок.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень());
      КонецЦикла;
   КонецЦикла;
   
   ТабДок.ЗакончитьАвтогруппировкуСтрок();
   ТабДок.Вывести(ОбластьПодвалТаблицы);
   ТабДок.Вывести(ОбластьПодвал);
   
   //}}КОНСТРУКТОР_ВЫХОДНЫХ_ФОРМ
КонецПроцедуры

Загвоздка в том что не могу задать расшифровку для ячеек. Нужно задать для первых 2 колонок стандартную обработку, т.е для колонки склад что бы открывалась форма элемента справочника «Склады». Для номенклатуры «Номенклатура». А для всех других выводился отчет по текущей номенклатуре. Помогите кто может  реализовать. Вот то что уже есть.

Процедура ПолеТабличногоДокументаОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)

      Если ТипЗнч(Расшифровка) = Тип("СправочникСсылка.Номенклатура")Тогда
   ИначеЕсли ТипЗнч(Расшифровка) = Тип("СправочникСсылка.Склады")Тогда
      Иначе
      
      СтандартнаяОбработка = Ложь;
      ТабДок = Новый ТабличныйДокумент;
      Макет = ВнешнийОтчетОбъект.ПолучитьМакет("Расшифровка");
      ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");
      ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
      ОбластьПодвал = Макет.ПолучитьОбласть("Подвал");
      ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали");
      
      Запрос = Новый Запрос;
      Запрос.Текст =
      "ВЫБРАТЬ
      |   ТоварыНаСкладахОбороты.Регистратор,
      |   ТоварыНаСкладахОбороты.КоличествоРасход,
      |   ТоварыНаСкладахОбороты.КоличествоПриход,
      |   ТоварыНаСкладахОбороты.Номенклатура
      |ИЗ
      |   РегистрНакопления.ТоварыНаСкладах.Обороты(&НачалоПериода, &КонецПериода, Регистратор, Номенклатура = &Номенклатура) КАК ТоварыНаСкладахОбороты"
      
      ;
      
      Запрос.УстановитьПараметр("КонецПериода", КонецПериода);
      Запрос.УстановитьПараметр("НачалоПериода", НачалоПериода);
      Запрос.УстановитьПараметр("Номенклатура",Расшифровка);
      
      РезультатЗапроса = Запрос.Выполнить();
      
      ТабДок.Очистить();
      ТабДок.Вывести(ОбластьЗаголовок);
      ТабДок.Вывести(ОбластьШапка);
      
      ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
      Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
         
         ОбластьДетальныхЗаписей.Параметры.Документ = ВыборкаДетальныеЗаписи.Регистратор ;
         ОбластьДетальныхЗаписей.Параметры.Расход = ВыборкаДетальныеЗаписи.КоличествоРасход ;
         ОбластьДетальныхЗаписей.Параметры.Приход = ВыборкаДетальныеЗаписи.КоличествоПриход ;
         
         ТабДок.Вывести(ОбластьДетальныхЗаписей);
         
      КонецЦикла;
      
      ТабДок.Вывести(ОбластьПодвал);
      ТабДок.Показать();
      ТабДок.ТолькоПросмотр = Истина;
   КонецЕсли
   
КонецПроцедуры



Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
3 минуты в отладчике посмотрите чего у вас за тип значения, сразу станет понятно
Помог? Нажми - Спасибо :)
skype: Soprov1C

Онлайн Пустовалов Артем

  • ***
  • Сообщений: 102
  • РЕПУТАЦИЯ: 2
  • КПД: 2%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
3 минуты в отладчике посмотрите чего у вас за тип значения, сразу станет понятно

Дело в том что расшифровка имеет тип который указан в свойствах "Параметры расшифровки". А при указании его в коде, ни как не могу поставить параметр Номенклатуры в

  Запрос.УстановитьПараметр("Номенклатура",Расшифровка);
Срабатывает условие   
Если ТипЗнч(Расшифровка) = Тип("СправочникСсылка.Номенклатура")Тогда

Помогите если не сложно разобраться

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
ну виртуально сложно. давайте тим, щаз гляну
Помог? Нажми - Спасибо :)
skype: Soprov1C

Онлайн Пустовалов Артем

  • ***
  • Сообщений: 102
  • РЕПУТАЦИЯ: 2
  • КПД: 2%
  • Регистрация: 2015-10-14
  • Сайт: 
  • Профессия: Ученик 1С
ну виртуально сложно. давайте тим, щаз гляну
Дело в том что у меня сейчас нет доступа к этому ПК. Это типовая база и данные есть во всех типовых базах,и внешний отчет, текст выложен сверху) помогите пожалуйста) либо могу скинуть файл мин через 30)

Оффлайн дфтын

  • Могу решить ЛЮБУЮ задачу в 1С и не только.. С вопросами в личку:)
  • *****
  • Сообщений: 2720
  • РЕПУТАЦИЯ: 325
  • КПД: 12%
  • 1С наше все
  • Регистрация: 2014-04-29
    • Skype: Soprov1C
  • Компания: Корпорация зонтиков
  • Профессия: Разработчик 1С
пишите мне в скайп лучше
Помог? Нажми - Спасибо :)
skype: Soprov1C


Теги:
 

Отчет - расшифровка по статье затрат "услуги автотранспорта"

Автор marismurРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 2888
Последний ответ 22 Авг 2014, 14:36
от morph1991
Расшифровка в отчете на СКД, который вызывается из формы справочника(управляемые формы)

Автор anna_vsРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 19
Просмотров: 6144
Последний ответ 09 Дек 2015, 14:39
от vitasw
ОСВ по 20 счету (отсутствует расшифровка статей затрат на конец месяца )

Автор ирина56Раздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 4320
Последний ответ 02 Апр 2013, 17:23
от MuI_I_Ika
Расшифровка по Регистратору на СКД не получается оформить макет

Автор ZSSРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 0
Просмотров: 576
Последний ответ 29 Сен 2016, 15:19
от ZSS
расшифровка ячейки счет-фактуры

Автор ruslan_k-1Раздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 9
Просмотров: 3488
Последний ответ 17 Окт 2010, 23:15
от progmikon

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
177 Сообщений
ilyay ilyay
69 Сообщений
oleg-x
48 Сообщений
AIFrame
46 Сообщений
alex0402
46 Сообщений
andron81_81
41 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
Golickoff Golickoff
31 Сообщений
BuhRust
30 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 790
  • Точка Скрытых: 0
  • Точка Пользователей: 11
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal