Имя: Пароль:
1C
1С v8
Конвертация данных
0 rutony
 
11.09.13
17:11
Переношу остатки по дисконтным картам из ТиС в нетленку, в документ Корректировки регистра (аналогия типового в Рознице 2.0).

Никак не хочет формироваться набор записей регистра...

Само правило:
http://i.imgur.com/XL9yIHz.jpg

Произвольную выгрузка для него:

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

Объект.Движения.ИмяРегистра.Записывать = Истина;

?
3 rutony
 
11.09.13
17:22
(2) Спасибо