8.х ОБМЕН Как изменить документ при обмене

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

  1. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Подскажите, как изменить документ при обмене. В частности, надо свернуть табличную часть. В каких обработчиках и какие параметры можно использовать для получения информации из исходного документа и изменении результата обмена. Где это можно прочитать?
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    Открываете правило конвертации объекта. Открываете событие нужное. И прописываете там код.
  3. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Спасибо. Но, какое событие? И какой код?. В обработчиках типа "выгрузка" там, где есть источник, его нельзя изменять. Что касается обработчика типа "загрузка", то там, где есть параметр "Объект", он уже содержит объект из принимающей ИБ с необходимыми изменениями по правилу, если он найден, а чистого исходного объекта я не нашёл. Моя проблема в том, что я не нашёл обработчика, в котором одновременно есть исходный объект и результат конвертации.
  4. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    Событие "ПриЗаписи" например. Объект, это тот объект, который найден в базе или вновь создан в базе. Вот его и меняйте как надо. Какой Вам код нужен?
  5. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Пробовал. Есть проблемы при повторном обмене надо определить где строки ТЧ из источника, а где добавленные мной в предыдущем обмене, т.к. в параметре "Объект" этого обработчика есть и те и другие.
  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    Есть обработчик "поля поиска". Там сможете получить и из источника и из приемника ТЧ.
  7. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    а задачку можно конкретнее, а то граблей раскидано много у конвертации :)
  8. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Просто. Табличную часть свернуть по определённым полям.
  9. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Попробовал обработчик "Поля поиска". 1) Надо отключать поиск по внутреннему идентификатору, т.к. в случае успеха обработчик не работает. Это терпимо, но. 2) Параметры Ссылка, Объект и Источник в обработчике не определены. Буду пробивать решение через структуру "Параметры".
  10. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    Ну чтож Вы глупости то говорите. В этом обработчике доступен такой параметр как СсылкаНаОбъект.
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.554
    Симпатии:
    716
    Баллы:
    204
    Как при необходимости будете соответствие строк в документах восстанавливать?
  12. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    А зачем. Мне в принимающей ИБ достаточно свёрнутой ТЧ.
    --- Объединение сообщений, 8 апр 2015 ---
    На счёт СсылкаНаОбъект, не посмотрел, гляну, спасибо.
  13. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    СсылкаНаОбъект - ссылка на результирующий объект. Если в обработчике установить данную ссылку (не пустую) то программа ее запомнит и поиск на этом будет считать успешно завершенным
  14. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    Ну. А Вам то что нужно?! Ссылка на объект. Получайте объект и делайте с ним все что хотите. Что не так то?
  15. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Это опять ссылка на объект принимающей ИБ, если он найден, иначе - пусто.
  16. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.980
    Симпатии:
    397
    Баллы:
    104
    В каком смысле это опять ссылка? Это и будет ссылка пока Вы не получите объект.
    Код:
    Объект = СсылкаНаОбъект.ПолучитьОбъект();
  17. TopicStarter Overlay
    YuriKitaev
    Offline

    YuriKitaev

    Регистрация:
    7 апр 2015
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    Это есть и в последующих обработчиках. Но задача не решается пока нет объекта или ссылки на него или табличной части из исходной ИБ. В обработчике при (или после) загрузки этот объект не только доступен, но уже модифицирован и готов к записи в ИБ. Можно из него попробовать выделить исходную ТЧ. Опять же, как? Мне больше по вкусу в обработчике "при выгрузке" использовать процедуру "ПередатьОдинПараметрВПриемник".

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