0
applesound
23.01.19
✎
23:23
|
Доброго времени суток.
Необходимо решить задачу:
Из УТ 10.3 перенести в БП 3.0 остатки по товарам в разрезе партий поступлений. Для написания правил использую конфигурацию КД 2.
Создал ПКО ВводНачальныхОстатков_Структура, убрал галку Искать объект приемника по внутреннему идентификатору объекта источника, установил галку Автоматически
генерировать номер или код, если он не задан.
Источник: РегистрНакопленияЗапись.ПартииТоваровНаСкладах
Приёмник: ДокументСсылка.ВводНачальныхОстатков
Создал ПКС с пустым источником:
Шапка
Организация,Дата
Табличная часть (НоменклатураНаСкладе)
Склад, Номенклатура, Количество, Сумма, Партия, РасчетныйДокумент
Создал ПВД ВводНачальныхОстатков_Структура_Товары
Объект выборки: РегистрНакопленияЗапись.ПартииТоваровНаСкладах
Способ выборки: Произвольный алгоритм
Правило конвертации: ВводНачальныхОстатков_Структура
Перед обработкой:
Запрос = Новый Запрос;
ЗапросТекст =
"ВЫБРАТЬ
| ПартииТоваровНаСкладахОстатки.Номенклатура,
| ПартииТоваровНаСкладахОстатки.Склад,
| ПартииТоваровНаСкладахОстатки.ДокументОприходования,
| ПартииТоваровНаСкладахОстатки.КоличествоОстаток,
| ПартииТоваровНаСкладахОстатки.СтоимостьОстаток
|ИЗ
| РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&Дата, ) КАК ПартииТоваровНаСкладахОстатки";
Запрос.Текст = ЗапросТекст;
Запрос.УстановитьПараметр( "Дата",Параметры.ДатаПолученияОстатков);
Результат = Запрос.Выполнить();
ВыборкаДанных = Результат.Выбрать();
// структура табличной части
НоменклатураНаСкладе = Новый ТаблицаЗначений;
НоменклатураНаСкладе.Колонки.Добавить("Склад");
НоменклатураНаСкладе.Колонки.Добавить("Номенклатура") ;
НоменклатураНаСкладе.Колонки.Добавить("Количество");
НоменклатураНаСкладе.Колонки.Добавить("Сумма");
НоменклатураНаСкладе.Колонки.Добавить("Партия");
НоменклатураНаСкладе.Колонки.Добавить("РасчетныйДокумент");
// шапка документа
ИсходящиеДанные = Новый Структура;
ИсходящиеДанные.Вставить("Организация",);
ИсходящиеДанные.Вставить("Дата", );
Пока ВыборкаДанных.следующий() цикл
//заполнение табличной части
НоваяСтрока= НоменклатураНаСкладе.Добавить();
НоваяСтрока.Склад = Выборка;
НоваяСтрока.Номенклатура = Выборка;
НоваяСтрока.Количество = Выборка;
НоваяСтрока.Сумма = Выборка;
НоваяСтрока.Партия = Выборка;
НоваяСтрока.РасчетныйДокумент = Выборка;
КонецЦикла;
ИсходящиеДанные.Вставить("НоменклатураНаСкладе",НоменклатураНаСкладе);
В параметрах добавил параметр ДатаПолученияОстатков, установил галку Диалог и ТипЗначени = Дата
В итоге получил 0 выгруженных документов.
|
|