Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
21 сен 2024, 23:13

Задача обмена данными кд 2.0

Автор Ивашка, 18 июл 2023, 19:20

0 Пользователей и 1 гость просматривают эту тему.

Ивашка

Всем привет!! Есть ли здесь кто знакомы с КД 2.0, если есть можете подсказать!! Задача такая есть две базы(Источник->Приемник), в источнике в документе ПТУ есть тч Услуги, допустим там 10 строк, и в приемнике надо для каждой строки создать свой документ, сделал ПКО "Поступление товаров и услуг", в ПВД в событие "Перед обработкой", написал такой код, но у меня создается только для первой строки один документ, в чем может дело, может настройки ПКО, сделал не то? Или где то строку услуги в не тот цикл загнал?

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


Настройка в ПКО.jpg
ПВД.jpg

Максим75

Ивашка, так а где второй цикл по табличной части?

Ивашка

Максим75, по идее нужно чтоб у каждого дока своя строка в тч

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск