8.х ОБМЕН КД 2.1.2.1 Реквизит табличной части переносится в реквизит документа

Тема в разделе "Обмен данными в "1С:Предприятие 8"", создана пользователем Elkis, 8 июл 2010.

  1. TopicStarter Overlay
    Elkis
    Offline

    Elkis Опытный в 1С

    Регистрация:
    15 окт 2009
    Сообщения:
    190
    Симпатии:
    1
    Баллы:
    29
    Добрый день, коллеги! Конвертирую самописную конфу УТ в БП 2.0.13.5. Переношу справочник "Договоры эквайринга" (УТ) в "Договоры контрагентов" (БП). Там есть в ТЧ "ТарифыЗаРасчетноеОбслуживание" реквизит "ПроцентТорговойУступки". Пытаюсь перенести его в реквизит справочника "Договоры контрагентов" (БП) " "ПроцентКомиссионногоВознаграждения".
    Пытаюсь использовать ОбъектКоллекции в обработчике "Перед выгрузкой" в ПКС реквизита табличной части:

    ИсходящиеДанные.Вставить("ПроцентКомиссионногоВознаграждения", ОбъектКоллекции.ПроцентТорговойУступки);


    При этом вылетает ошибка:

    Ошибка в обработчике события ПередВыгрузкой (свойства)
    ПКО = ДоговорыЭквайринга (Справочник: Договоры эквайринга)
    ПКС = 14 (ПроцентТорговойУступки -->)
    Объект = Договор эквайринга №1 (Справочник ссылка: Договоры эквайринга)
    СвойствоПриемника = ()
    Обработчик = ПередВыгрузкойСвойства
    ОписаниеОшибки = Значение не является значением объектного типа (ПроцентТорговойУступки)
    ПозицияМодуля = (9)
    КодСообщения = 55


    Втророй день бьюсь, пытаюсь уловить ход мыслей 1С :( Подскажите....
  2. Andy13
    Offline

    Andy13 Опытный в 1С

    Регистрация:
    1 мар 2010
    Сообщения:
    244
    Симпатии:
    2
    Баллы:
    29
    Не перед выгрузкой, а при выгрузке.
    Перед - выборка ещё не создана, значения не определены (не выбраны из базы данных). Вот при выгрузке - выборка уже открыта, и значения выборки доступны. Можно просто использовать реквизит "значение".
    Но я полагаю что при конвертации одного договора в несколько (при наличии нескольких записей в ТЧ), лучше будет использовать ПКГС. Или ПВД со своей нестандартной выборкой написать.
  3. TopicStarter Overlay
    Elkis
    Offline

    Elkis Опытный в 1С

    Регистрация:
    15 окт 2009
    Сообщения:
    190
    Симпатии:
    1
    Баллы:
    29
    Переделала на ПКГС:
    ИсходящиеДанные.Вставить("ПроцентКомиссионногоВознаграждения", ОбъектКоллекции.ПроцентТорговойУступки);

    Выставила у Приемника ПроцентКомиссионногоВознаграждения флаг "ПолучитьИзВходящихДанных".

    Подскажите пож-та ИсходящиеДанные заполняем в источнике, приёмник выберет их из ВходящиеДанные автоматически?

    И ещё: ОбъектКоллекции нужно как-то инициализировать?
  4. TopicStarter Overlay
    Elkis
    Offline

    Elkis Опытный в 1С

    Регистрация:
    15 окт 2009
    Сообщения:
    190
    Симпатии:
    1
    Баллы:
    29
    :( Теперь ошибка

    ДоговорыЭквайринга (Справочник: Договоры эквайринга)
    ПКС = 11 ( --> ПроцентКомиссионногоВознаграждения)
    Объект = Договор эквайринга №1 (Справочник ссылка: Договоры эквайринга)
    СвойствоПриемника = ПроцентКомиссионногоВознаграждения (Число)
    ОписаниеОшибки = Получение элемента по индексу для значения не определен
  5. Andy13
    Offline

    Andy13 Опытный в 1С

    Регистрация:
    1 мар 2010
    Сообщения:
    244
    Симпатии:
    2
    Баллы:
    29
    Опять же. У ПКГС тоже "перед" и "при" обработки есть. Это по ходу...
    А по делу - всё так же непонятно что и куда конвертируем. Один договор эквайринга в один обычный договор? Или один договор эквайринга в несколько обычных договоров (по количеству строк ТЧ)?
    Уверяю Вас, что настырное желание превратить табличную часть в один реквизит ни к чему кроме ошибок не приведет.
    Если только одну строку из ТЧ берете и передаете в реквизит приемника, то достаточно получить это значение из ТЧ в обработке "ПриВыгрузке" ПКО (Значение.ТЧ.ВыбратьПолучитьИТакДалее), и запихать в ИсходящиеДанные. Ну а в реквизите-приемнике получить из входящих.
    Если конвертируете ТЧ в несколько договоров, то лучше сделать свои ПВД, где выбираете договоры, их ТЧ, делаете Структуру для передачи правилу, ну и передаете правилу, в котором всё - из входящих данных.
    Вот вроде всё. И прекратите упихивать ТЧ в один несчастный реквизит! :unsure:

Поделиться этой страницей