0
rutony
11.09.13
✎
17:11
|
Переношу остатки по дисконтным картам из ТиС в нетленку, в документ Корректировки регистра (аналогия типового в Рознице 2.0).
Никак не хочет формироваться набор записей регистра...
Само правило:
Произвольную выгрузка для него:
Товары = СоздатьОбъект("ТаблицаЗначений");
Товары.НоваяКолонка("ДисконтнаяКарта");
Товары.НоваяКолонка("Сумма");
Товары.НоваяКолонка("Активность");
Товары.НоваяКолонка("Период");
Товары.НоваяКолонка("НомерСтроки");
Товары.НоваяКолонка("Номенклатура");
Товары.НоваяКолонка("Характеристика");
ТаблицаРегистров = СоздатьОбъект("ТаблицаЗначений");
ТаблицаРегистров.НоваяКолонка("Имя");
ДатаТА = ПолучитьДатуТА();
ДатаНач = Дата(1980,1,1);
ДатаКон = ?((ПустоеЗначение(ДатаНачала) = 0) И (ДатаНачала < ДатаТА), ДатаНачала,ДатаТА);
Запрос = СоздатьОбъект("Запрос");
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|Период с ДатаНач по ДатаКон;
|ДисконтнаяКарта = Регистр.ДисконтныеКарты.ДисконтнаяКарта;
|СуммаБезСкидки = Регистр.ДисконтныеКарты.СуммаБезСкидки;
|СуммаСкидки = Регистр.ДисконтныеКарты.СуммаСкидки;
|Функция СумБезСкидки = Сумма(СуммаБезСкидки);
|Функция СумСуммаСкидки = Сумма(СуммаСкидки);
|Группировка ДисконтнаяКарта;
//|БЕЗ ИТОГОВ;
|";//}}ЗАПРОС
СчетчикСтрок = 1;
Если Запрос.Выполнить(ТекстЗапроса) <> 0 Тогда
Пока Запрос.Группировка(1) = 1 Цикл
Товары.НоваяСтрока();
Товары.ДисконтнаяКарта = Запрос.ДисконтнаяКарта;
Товары.Сумма = Запрос.СумБезСкидки - Запрос.СумСуммаСкидки;
Товары.Активность = 1;
Товары.Период = ДатаНач;
Товары.НомерСтроки = СчетчикСтрок;
Товары.Номенклатура = "";
Товары.Характеристика = "";
СчетчикСтрок = СчетчикСтрок + 1;
КонецЦикла;
ТаблицаРегистров.НоваяСтрока();
ТаблицаРегистров.Имя = "ПродажиПоДисконтнымКартам";
ИсходящиеДанные = СоздатьОбъект("СписокЗначений");
ИсходящиеДанные.Установить("Номер", "000000001");
ИсходящиеДанные.Установить("Дата", ДатаНач);
ИсходящиеДанные.Установить("Комментарий", "Перенос накоплений по дисконтным картам");
ИсходящиеДанные.Установить("ПродажиПоДисконтнымКартам", Товары);
ИсходящиеДанные.Установить("ТаблицаРегистров", ТаблицаРегистров);
ВыгрузитьПоПравилу(,, ИсходящиеДанные,, "НакопленияПоДисконтнымКартам");
Иначе
Сообщить("Данных по накоплениям нет!");
Отказ = 1;
КонецЕсли;
|
|