Имя: Пароль:
1C
1С v8
Конвертация Данных КА(старую)-->КА(новую) Цены Номенклатуры
0 spiller26
 
16.11.12
14:06
РегистрСведений "ЦеныНоменклатуры" подчинен документу "УстановкаЦенНоменклатуры"

Создал ПКО Объект источник = "", объект приемник = ДокументСсылка.УстановкаЦенНоменклатуры
ТабЧасть
1. ТипыЦен [v]"Получить из входящих данных"
2. Товары [v]"Получить из входящих данных"

ПКО "Перед выгрузкой"

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

УстановкаЦенНоменклатуры2013 - Имя правила
Выгружаю, всё по нулям.
1 lxndr
 
16.11.12
14:09
типы цен не выгружаются
2 lxndr
 
16.11.12
14:10
ВыгрузитьПоПравилу вынеси за цикл, передай туда и таблицу товаров и таблицу типов цен
3 spiller26
 
16.11.12
14:14
(2) Так или ...
   КонецЦикла;    
   ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"УстановкаЦенНоменклатуры2013");
   ВыгрузитьПоПравилу(,,ИсходящиеДанные1,,"УстановкаЦенНоменклатуры2013");
   Сообщить("ЫуЫУЫУЫУ");
4 spiller26
 
16.11.12
14:14
(1) ничего не выгружается
5 spiller26
 
16.11.12
14:16
В ПВД стоит ЦеныНовые / Произвольный алгоритм / УстановкаЦенНоменклатуры2013
6 lxndr
 
16.11.12
14:28
что-нить вроде такого:
...
КонецЦикла;

ИсходящиеДанные = Новый Структура("ТипыЦен, Товары");
ИсходящиеДанные.ТипыЦен = ТипыЦен;
ИсходящиеДанные.Товары = Товары;
ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"УстановкаЦенНоменклатуры2013");
7 spiller26
 
16.11.12
14:33
(6) Начало выгрузки:   16.11.2012 14:32:23

Окончание выгрузки: 16.11.2012 14:32:23

Выгружено объектов: 0

В ПВД что-то нужно добавлять?
8 lxndr
 
16.11.12
14:36
(7) откуда ж я знаю, что у тебя там есть и чего еще нужно.
9 spiller26
 
16.11.12
14:40
(8) Логично
В ПВД я Добавлял (+)
Объект выборки: ""
Способ выборки: Произвольный алгоритм
Правило конвертации: УстановкаЦенНоменклатуры2013
Имя правила: "ЦеныНовые"
Остальное не трогал
10 lxndr
 
16.11.12
14:42
(9) со стороны ПВД вроде нормально все, ПКО значит не правильно отрабатывает.
11 spiller26
 
16.11.12
15:19
(10) Кинул в ПВД > "Перед обработкой", отрабатывать начал, смотрю ошибки.