[РЕШЕНО] Конвертация данных

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

  1. TopicStarter Overlay
    1с-ник
    Offline

    1с-ник Профессионал в 1С

    Регистрация:
    5 окт 2014
    Сообщения:
    912
    Симпатии:
    152
    Баллы:
    104
    Доброго дня.
    Подскажите механизм/идею как при обмене регистра сведений (Контактная информация) очищать набор перед загрузкой?
    Смысл такой, что если в источнике удалили запись, адрес, к примеру, то в приемнике он также должен удалиться. Но в текущих правилах (да и во всех типовых) нет очистки, а лишь добавление новых записей или замещение текущих.
    Прошу помощи. Спасибо.
  2. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    7.514
    Симпатии:
    452
    Баллы:
    104
    А в чем проблема перед записью очищать записи регистра?
  3. TopicStarter Overlay
    1с-ник
    Offline

    1с-ник Профессионал в 1С

    Регистрация:
    5 окт 2014
    Сообщения:
    912
    Симпатии:
    152
    Баллы:
    104
    А где? Есть лишь ПКО РегистрСведенийЗапись->РегистрСведенийЗапись, глупо как-то очищать набор по некому измерению N записей раз.
  4. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    7.514
    Симпатии:
    452
    Баллы:
    104
    Блин, забыл про тебя)))
    1) Можно воспользоваться обработчиком "ПередЗагрузкойДанных" самой конвертации. Очищаешь там полностью весь регистр. но. думаю. это не совсем правильно будет.
    2) Зависит еще от того, что конкретно выгружается. Если КИ выгружается по ссылке (т.е. объект Контрагент и с ним вся его КИ), то в принципе можно воспользоваться обработчиком "ПередЗагрузкойОбъекта" самой конвертации, либо ПередЗагрузкой самого объекта.
    Вариантов несколько. Че за правила? Скинь их?
  5. TopicStarter Overlay
    1с-ник
    Offline

    1с-ник Профессионал в 1С

    Регистрация:
    5 окт 2014
    Сообщения:
    912
    Симпатии:
    152
    Баллы:
    104
    Правила могу завтра скинуть, но они стандартные.
    1 ПВД стандартной выборки - "Контрагенты", и 2 ПКО Контрагенты и КИ. При этом КИ выгружается методом "ВыгрузитьПоПравилу(ВыборкаКИ,,, "КонтактнаяИнформация") в ПКО в ПослеВыгрузки/ПослеВыгрузкиВФайл().

    Я не понимаю, как очищать регистр, если источиком ПКО "КИ" является РегистрСведенийЗапись(!), а не набор.
    Таким образом, если выгружаешь контрагента, а вместе с ним N записей КИ, то очистить-то мне нужно НАБОР! и только 1 раз, а не N.

    Не понимаю, что мне даёт глобальный обработчик ПередЗагрузкой(), думаю, что это совсем не то:
  6. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    7.514
    Симпатии:
    452
    Баллы:
    104
    Вот, накатал примерчик.
    --- Объединение сообщений, 9 окт 2017 ---
    Делал на скорую руку. Так что код мальца подправить можешь под себя.

    Вложения:

    1с-ник нравится это.
  7. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    7.514
    Симпатии:
    452
    Баллы:
    104
    Ну ты что-то ничего не ответил. Ты этого результата хотел? Надо переименовать тему)))
  8. TopicStarter Overlay
    1с-ник
    Offline

    1с-ник Профессионал в 1С

    Регистрация:
    5 окт 2014
    Сообщения:
    912
    Симпатии:
    152
    Баллы:
    104
    Были приоритетные задачи, эта пока подождёт, правила позже проверю
  9. TopicStarter Overlay
    1с-ник
    Offline

    1с-ник Профессионал в 1С

    Регистрация:
    5 окт 2014
    Сообщения:
    912
    Симпатии:
    152
    Баллы:
    104
    Нерабочие)
    Но достаточно было в ПКО "Контрагенты" При загрузке очистить РС КИ.
    Кстати, в типовых вижу такую конструкцию: Алгоритм и использование конструкции "ВыгрузитьРегистр()". Может оно одновременно очищает набор перед загрузкой.. не стал проверять.
    --- Объединение сообщений, 12 окт 2017 ---
    Не, выгрузитьрегистр тут не причём)

    Вложения:

    Последнее редактирование: 12 окт 2017
  10. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    7.514
    Симпатии:
    452
    Баллы:
    104
    Не совсем понял. Мой алгоритм работает, т.к. ты поставил задачу. перед загрузкой КИ очищается регистр с отбором по этому контрагенту. И Загружается новая. Что там нерабочее?
  11. TopicStarter Overlay
    1с-ник
    Offline

    1с-ник Профессионал в 1С

    Регистрация:
    5 окт 2014
    Сообщения:
    912
    Симпатии:
    152
    Баллы:
    104
    Я отладкой глянул - таблица значений ки была пустая, и я просто попробовал очистить - зашло, притом очистка была только 1 раз, а не N (количество записей КИ). В любом случае спасибо.
  12. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    7.514
    Симпатии:
    452
    Баллы:
    104
    Вообще ничего не понял. Задачу озвучь тогда нормально?
  13. TopicStarter Overlay
    1с-ник
    Offline

    1с-ник Профессионал в 1С

    Регистрация:
    5 окт 2014
    Сообщения:
    912
    Симпатии:
    152
    Баллы:
    104
    Ещё раз твои правила проверил - рабочие! Просто я выгрузку КИ перенёс в ПВД "Контрагенты" , поэтому параметр "ТаблицаКИ" и не заполнялась! :)

    Вложения:

  14. nbIpKuH_BaH9I
    Offline

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

    Регистрация:
    16 сен 2009
    Сообщения:
    7.514
    Симпатии:
    452
    Баллы:
    104
    А. ну ок тогда.
Похожие темы
  1. agostev
    Ответов:
    6
    Просмотров:
    5.940
  2. nickvv
    Ответов:
    6
    Просмотров:
    2.884
  3. kogor
    Ответов:
    3
    Просмотров:
    3.976
  4. qwertyu
    Ответов:
    6
    Просмотров:
    689
  5. Vertex
    Ответов:
    11
    Просмотров:
    726
Загрузка...

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