Имя: Пароль:
 
1C
1С v8
Произвольная выборка данных КД3
0 Fynjy123
 
24.08.18
11:12
Доброго времени суток! Вопрос такого характера: делаю выгрузку из ЕРП 2 в БП3 через КД3. Задача: при выгрузке одного элемента справочника из ЕРП на стороне БП должно создаваться N кол-во элементов того же справочника (в зависимости от условия). Сделал так: в обработчике ПОД_Справочник_Номенклатура_Отправка_ВыборкаДанных начал делать выборку как мне нужно, но увы, синхронизация отвалилась. Не могу разобраться от куда тянуть данные для выборки

Функция ПОД_Справочник_Номенклатура_Отправка_ВыборкаДанных(КомпонентыОбмена)
    Запрос             = Новый Запрос;    
    МассивОбъекта     = Новый Массив;
    СтруктураДанных = Новый Структура;    
    Запрос.Текст = "ВЫБРАТЬ
                   |    Номенклатура.Ссылка КАК Ссылка,
                   |    Номенклатура.Наименование КАК Наименование
                   |ИЗ
                   |    Справочник.Номенклатура КАК Номенклатура";
    ВыборкаНоменклатуры = Запрос.Выполнить().Выбрать();
    Пока ВыборкаНоменклатуры.Следующий() Цикл
        Запрос.Текст = "ВЫБРАТЬ
                       |    ХарактеристикиНоменклатуры.Владелец.Артикул КАК ВладелецАртикул,
                       |    ХарактеристикиНоменклатуры.Наименование КАК Наименование,
                       |    ХарактеристикиНоменклатуры.Владелец.Наименование КАК ВладелецНаименование
                       |ИЗ
                       |    Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
                       |ГДЕ
                       |    ХарактеристикиНоменклатуры.Владелец.Ссылка = &Ссылка";
        Запрос.УстановитьПараметр("Ссылка", ВыборкаНоменклатуры.Ссылка);
        Выборка = Запрос.Выполнить().Выбрать();
        Если Выборка.Количество() > 0 Тогда
            Пока Выборка.Следующий() Цикл
                СтруктураДанных.Вставить("Наименование", Выборка.ВладелецНаименование + " (" + Выборка.Наименование + ")");
                СтруктураДанных.Вставить("ПолноеНаименование", Выборка.ВладелецНаименование + " (" + Выборка.Наименование + ")");
                СтруктураДанных.Вставить("Артикул", Выборка.ВладелецАртикул + "-" + Выборка.Наименование);
            
                МассивОбъекта.Добавить(СтруктураДанных);
            
            
                //Сообщить("Создание нового спаравочника: " + Выборка.ВладелецНаименование + " (" + Выборка.Наименование +
                //            ") с артикулом: " + Выборка.ВладелецАртикул + "-" + Выборка.Наименование);
            КонецЦикла;    
        Иначе
            МассивОбъекта.Добавить(ВыборкаНоменклатуры.Ссылка);            
            Продолжить;
        КонецЕсли;            
    КонецЦикла;    
    Возврат МассивОбъекта;    
КонецФункции
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс