Имя: Пароль:
1C
1С v8
Конвертация данных. Выгрузить все цены
0 zippygrill
 
16.03.17
11:53
Всем привет!
Хочу выгрузить все цены которые есть в регистре цен но поскольку данный регистр не включен в состав плана обмена решил выйти из ситуации следующим путем.
При регистрации организации буду это все дело собирать и выгружать.
Итак в ПКО Организации в событие "После выгрузки в файл" написал такое

//Выгрузим и все действующие цены
Товары = Новый ТаблицаЗначений();
Товары.Колонки.Добавить("Номенклатура");
Товары.Колонки.Добавить("Цена");
Товары.Колонки.Добавить("ЦенаИзмененаВручную");

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

Вот собственно ПКО УстановкаЦенНоменклатурыОдинРаз - где все данные получаю из входящие данные https://www.screencast.com/t/c7PnK15IPn

При выгрузки организации вылетает с ошибкой

ПКО                    =  Организации  (Справочник: Организации)
    Объект                 =  ЗАО "Моя организация"  (Справочник объект: Организации)
    Обработчик             =  ЕстьОбработчикПослеВыгрузкиВФайл
    ОписаниеОшибки         =  Поле объекта не обнаружено (Ссылка)
    ПозицияМодуля          =  Обработка.КонвертацияОбъектовИнформационныхБаз.МодульОбъекта(9707)
    КСообщенияОбОшибках    =  79

Подозреваю что дело в ВыгрузитьПоПравилу. Пробовал переставить ВходящиеДанные в третий параметр. Не происходит выгрузка потому что алгоритм из обработки "КонвертацияОбъектовИнформационныхБаз" обращается к реквизиту документа источника. А источника то нет.
1 azt-yur
 
16.03.17
12:18
Зачем вы ставите получение из входящих данных? Не нужны там эти галочки.
Ну уж если сильно хочется, то входящие данные должны стоять третьим параметром в ВыгрузитьПоПравилу

Функция ВыгрузитьПоПравилу(Источник                    = Неопределено,
                           Приемник                    = Неопределено,
                           ВходящиеДанные            = Неопределено,
                           ИсходящиеДанные            = Неопределено,
                           ИмяПКО                    = "",
                           УзелСсылки                = Неопределено,
                           ТолькоПолучитьУзелСсылки    = Ложь,
                           ПКО                        = Неопределено,
                           ЭтоПравилоСГлобальнойВыгрузкойОбъектов = Ложь,
                           ВыборкаДляВыгрузкиДанных = Неопределено) Экспорт
2 zippygrill
 
16.03.17
12:19
(1) Уберу эти галочки. Чем поможет?
3 azt-yur
 
16.03.17
12:24
(2) ну в этом у тебя явно ошибка. ты ставишь получать из входящих данных, а сами эти входящие данные не передаешь. Если даже не с этим связана твоя ошибка, то она все равно выскочит в другом месте.