Написание аналогичной работы УТП в ERP
31.07.2019
12:47
#1
В УТП обработка - и там для заполнения макета необходимо выбрать информацию из регистра себестоимости + штрихкод на номенклатуру. В УТП это реализовано так:
| Код |
|---|
//Запрос выбирает инфу из регистра себестоимости+штрихкод на номенклатуру.
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Контрагент",ЭтотОбъект.Поставщик);
Запрос.УстановитьПараметр("ДатаНач",ЭтотОбъект.ДатаНачала);
Запрос.УстановитьПараметр("ДатаКон",КонецДня(ЭтотОбъект.ДатаКонец));
Запрос.УстановитьПараметр("ДоговорКонтрагента",ЭтотОбъект.Договор);
Запрос.Текст = "ВЫБРАТЬ
| ПродажиСебестоимость.Подразделение.ЦПС КАК ПодразделениеЦПС,
| Штрихкоды.Штрихкод,
| ПродажиСебестоимость.Номенклатура КАК Номенклатура,
| ПродажиСебестоимость.ХарактеристикаНоменклатуры,
| СУММА(ПродажиСебестоимость.Количество) КАК Количество,
| СУММА(ПродажиСебестоимость.Стоимость) КАК Стоимость
|ИЗ
| РегистрНакопления.ПродажиСебестоимость КАК ПродажиСебестоимость
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Штрихкоды КАК Штрихкоды
| ПО ПродажиСебестоимость.Номенклатура = Штрихкоды.Владелец
| И ПродажиСебестоимость.ХарактеристикаНоменклатуры = Штрихкоды.ХарактеристикаНоменклатуры
|ГДЕ
| ПродажиСебестоимость.ДокументОприходования.Контрагент = &Контрагент
| И ПродажиСебестоимость.ДокументОприходования.ДоговорКонтрагента = &ДоговорКонтрагента
| И ПродажиСебестоимость.Период МЕЖДУ &ДатаНач И &ДатаКон
|
|СГРУППИРОВАТЬ ПО
| ПродажиСебестоимость.Номенклатура,
| ПродажиСебестоимость.ХарактеристикаНоменклатуры,
| Штрихкоды.Штрихкод,
| ПродажиСебестоимость.Подразделение.ЦПС
|
|УПОРЯДОЧИТЬ ПО
| ПодразделениеЦПС,
| ПродажиСебестоимость.Номенклатура.Наименование
|ИТОГИ
| СУММА(Количество),
| СУММА(Стоимость)
|ПО
| ПодразделениеЦПС";
Результат = Запрос.Выполнить();
ВыборкаЦПС = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам,"ПодразделениеЦПС");
ИтогСумма = 0;
ИтогКоличество = 0;
НомерСтроки = 0;
Пока ВыборкаЦПС.Следующий() Цикл
ЦПС.Параметры.ЦПС = ВыборкаЦПС.ПодразделениеЦПС;
ИтогСумма = ИтогСумма + ВыборкаЦПС.Стоимость;
ИтогКоличество = ИтогКоличество + ВыборкаЦПС.Количество;
ЦПС.Параметры.Количество = ВыборкаЦПС.Количество;
ЦПС.Параметры.Сумма = ВыборкаЦПС.Стоимость;
ТабДок.Вывести(ЦПС);
ВыборкаНоменклатура = ВыборкаЦПС.Выбрать();
ТабДок.НачатьГруппуСтрок();
Пока ВыборкаНоменклатура.Следующий() Цикл
НомерСтроки = НомерСтроки +1;
Таблица.Параметры.НомерСтроки = НомерСтроки;
Таблица.Параметры.Штрихкод = ВыборкаНоменклатура.Штрихкод;
Таблица.Параметры.Номенклатура = ВыборкаНоменклатура.Номенклатура;
Таблица.Параметры.Характеристика = ВыборкаНоменклатура.ХарактеристикаНоменклатуры;
Таблица.Параметры.Количество = ВыборкаНоменклатура.Количество;
Таблица.Параметры.Сумма = ВыборкаНоменклатура.Стоимость;
ТабДок.Вывести(Таблица);
КонецЦикла;
ТабДок.ЗакончитьГруппуСтрок();
КонецЦикла;
Итог.Параметры.ИтогКоличество = ИтогКоличество;
Итог.Параметры.ИтогСумма = ИтогСумма;
ТабДок.Вывести(Итог);
Подвал.Параметры.ИтогСумма = ИтогСумма;
Если Выборка.Количество()> 0 Тогда
Подвал.Параметры.Менеджер = Выборка[Выборка.Количество()-1].Наименование;
Подвал.Параметры.Должность = Трег(Выборка[Выборка.Количество()-1].Должность);
Иначе
Подвал.Параметры.Менеджер = "";
Подвал.Параметры.Должность = "";
КонецЕсли;
ТабДок.Вывести(Подвал);
|
Внутренние совместители и Свод начислений и удержаний УППРасчет страховых взносов, перенос из двух баз
Читают тему
(гостей: 1)