8.х ОБМЕН Помогите настроить обработчик событий конвертации.

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

  1. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Нужно перекинуть только группы справочника номенклатуры, сам товар не нужен. Для этого использую Конвертация Данных 2. Создал правила обмена, в конвертацию написал такой обработчик:
    Код:
    Если  Объект.ЭтоГруппа = ИСТИНА Тогда Отказ = ИСТИНА;
    КонецЕсли;
    
    
    Посмотреть вложение 4091
    Сохраняю правила обмена. Пытаюсь выгрузить информацию, а в ответ:
    Что я не так делаю?

    Прикладывайте изображения на форум, т.к. сторонние ресурсы со временем умирают и другой пользователь, зайдя в тему, не увидит, что Вы хотели показать.

    Вложения:

  2. eviloid
    Offline

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Во-первых использовали не тот обработчик.
    Нужно использовать обработчик "Перед выгрузкой" у правила конвертации объекта, в данном случае справочника "Номенклатура". В этом обработчике ссылка на выгружаемый объект доступна через переменную "Источник".

    Неверное условие в
    Код:
    Если  Объект.ЭтоГруппа = ИСТИНА Тогда Отказ = ИСТИНА;
    КонецЕсли;
    
    
    
    У вас получается - "Если объект это группа справочника, тогда не выгружать его", а Вам, как я понял, надо наоборот:
    Код:
    Если Источник.ЭтоГруппа = Ложь Тогда Отказ = Истина;
    
    
    
    :unsure:
  3. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Сейчас проверю отпишу.
  4. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Не, что-то не так. Сделал как порекомендовали:
    Посмотреть вложение 4094
    Пытаюсь сделать выгрузку, в ответ:
    Хелп! :unsure:

    Вложения:

  5. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    :unsure: Ура, разобрался!
    Вот как надо было:
    Посмотреть вложение 4095
    Т.е. надо было обработчик запускать не "Перед выгрузкой данных", а "Перед выгрузкой объектов".
    Все просто. Спасибо Evld за "ЭтоГруппа = Ложь"

    Вложения:

  6. eviloid
    Offline

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Отлично!

    Я, правда, предлагал другое решение:
    Поместить код
    Код:
    Если  Источник.ЭтоГруппа = Ложь Тогда
    Отказ = Истина;
    КонецЕсли;
    
    
    в обработчик "Перед выгрузкой" в "Правила конвертации объектов" справочника "Номенклатура"
    вот картинка:
    Посмотреть вложение 4097

    Но в контексте Вашей задачи можно и так, как сделали Вы :unsure:

    Вложения:

    • prav.png
      prav.png
      Размер файла:
      30,8 КБ
      Просмотров:
      435
  7. Саша82
    Offline

    Саша82 Активный ученик

    Регистрация:
    11 окт 2007
    Сообщения:
    307
    Симпатии:
    0
    Баллы:
    26
    А не подскажите что надо сделать чтоб поместить все выгружаемые группы в определенную группу в загружаемой базе?
  8. sergep
    Offline

    sergep

    Регистрация:
    6 май 2009
    Сообщения:
    23
    Симпатии:
    0
    Баллы:
    1
    после загрузки

    Код:
    Если НЕ ЗначениеЗаполнено(Объект.Родитель ) Тогда
    Объект.Родитель =  Справочники.Номенклатура.НайтиПоНаименованию("Выгружено из ТИС");
    Объект.Записать();
    КонецЕсли;
    
  9. Саша82
    Offline

    Саша82 Активный ученик

    Регистрация:
    11 окт 2007
    Сообщения:
    307
    Симпатии:
    0
    Баллы:
    26
    А что сделать чтоб артикул номенклатуры заполнить кодом если код создается автоматически?
  10. Саша82
    Offline

    Саша82 Активный ученик

    Регистрация:
    11 окт 2007
    Сообщения:
    307
    Симпатии:
    0
    Баллы:
    26
    Объект.Записать(); не надо. А как сделать чтоб можно было выбирать в параметрах? Я создал параметр "груп" поставил галку "Диалог" "Передавать при выгрузки" "При загрузки" написал:
    группу в диалоге выбираю а при загрузки выдает ошибку что тип не определен.
  11. Саша82
    Offline

    Саша82 Активный ученик

    Регистрация:
    11 окт 2007
    Сообщения:
    307
    Симпатии:
    0
    Баллы:
    26
    Если убираю галочку "Работа с параметрами в формате версии 2.01" то ошибки не возникает но и параметр выбрать нельзя.

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