8.х ОБМЕН Ещё один обработчик событий конвертации.

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

  1. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Нужно перекинуть элементы справочника номенклатуры, остатки которых на розничном складе больше ноля.
    Создаю соответствующее правило вручную, Конвертация Данных 2 предлагает за компанию перекинуть и прочие сопутствующие объекты в т.ч. номенклатуру. В этом случае справочник номенклатуры будет выгружен полностью.
    Вот как должен выглядеть обработчик, что б решить поставленную задачу?
    Я так понимаю наверно "Перед выгрузкой" в "Правила конвертации объектов" справочника "Номенклатура" нужно написать запрос о количестве товара в рознице, ну а уж после, при каждой выгрузке объекта сверяться с результатом запроса по коду номенклатуры?
    Что скажете?
  2. eviloid
    Online

    eviloid Опытный в 1С

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

    Вложения:

    • nomenkl2.png
      nomenkl2.png
      Размер файла:
      17,5 КБ
      Просмотров:
      82
  3. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Вот такой код пойдет?
    Код:
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
    | ТоварВРозницеОстатки.КоличествоОстаток КАК Остаток,
    | ТоварВРозницеОстатки.Номенклатура.Ссылка КАК Товар
    |ИЗ
    | РегистрНакопления.ТоварВРознице.Остатки  КАК ТоварВРозницеОстатки
    |ГДЕ
    | ТоварВРозницеОстатки.КоличествоОстаток > 0";
    
    Выборка = Запрос.Выполнить().Выбрать(); 
    Пока Выборка.Следующий () Цикл
    ВыгрузитьПоПравилу (Выборка.Ссылка, , , , "Товар");
    КонецЦикла;
    
  4. eviloid
    Online

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    вот так попробуйте:
    Код:
    Запрос = Новый Запрос;
    
    Запрос.Текст = "ВЫБРАТЬ
    |    ТоварВРозницеОстатки.Номенклатура.Ссылка КАК Ссылка
    |ИЗ
    |    РегистрНакопления.ТоварВРознице.Остатки  КАК ТоварВРозницеОстатки
    |ГДЕ
    |    ТоварВРозницеОстатки.КоличествоОстаток > 0";
    
    Выборка = Запрос.Выполнить().Выбрать();
    
    Пока Выборка.Следующий () Цикл
    ВыгрузитьПоПравилу (Выборка.Ссылка, , , , "Номенклатура");
    КонецЦикла;
    
  5. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Что-то не сработало:
    Сделал, как рекомендовали:
    Посмотреть вложение 4114

    Вложения:

  6. eviloid
    Online

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    в запросе ошибка:

    ИЗ
    РегистрНакопления.ТоварыВРознице.Остатки КАК ТоварыВРозницеОстатки
  7. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Неа, не помогло, ошибка та же. Видно ошибка где-то раньше происходит, до формирования запроса.
  8. eviloid
    Online

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Выложите правила обмена - посмотрю, что там да как. Так тяжело разобраться.
  9. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26

    Вложения:

  10. eviloid
    Online

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Правила старые. В КД поменяли, а выгрузить забыли?

    Поправил обработчик, как выше описывал. Попробовал выгрузить - работает (выгружается точно, загружать не пробовал :unsure: )

    P.S. тестил на демке УТ 10.3.10.4

    Посмотреть вложение 4121

    Вложения:

  11. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Работает!
    Простите, что значит выгрузить? Я просто сохраняю правила в файл, что значит выгрузить?
  12. eviloid
    Online

    eviloid Опытный в 1С

    Регистрация:
    15 май 2008
    Сообщения:
    103
    Симпатии:
    0
    Баллы:
    26
    Да именно это я и имел в виду (выгрузить=сохранить), просто в файле который Вы прикрепили - код обработчика был старый (Ваше 2е сообщение этой ветки), я и предположил, что Вы после изменения правил в КД, забыли сохранить их в файл... :unsure:
  13. TopicStarter Overlay
    Dimka77
    Offline

    Dimka77 Опытный в 1С

    Регистрация:
    6 июн 2009
    Сообщения:
    279
    Симпатии:
    0
    Баллы:
    26
    Ещё разок спасибо!

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