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

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

  1. TopicStarter Overlay
    panehon
    Offline

    panehon

    Регистрация:
    4 окт 2013
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Есть типовое правило обмена Розница - БП, сохраняю в файл, загруажю в КД структуру конфигурации и сохраненное правило (не изменяя), далее делаю выгрузку правила из КД (по размеру КД-правило меньше сохраненного) и через стандартную обработку V8Exchan82.ep делаю выгрузку, и ошибка:


    Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
    ПКО = ВозвратТоваровОтПокупателя (Документ: Поступление товаров)
    ПКГС = 13 (Товары --> Товары)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
    ОписаниеОшибки = Метод объекта не обнаружен (ПодготовитьТаблицуТоваров)
    ПозицияМодуля = (46)
    КодСообщения = 48

    Ошибка при выгрузке данных: {ВнешняяОбработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(7787)}: Ошибка в обработчике события ПередОбработкойВыгрузки группы свойств
    ПКО = ВозвратТоваровОтПокупателя (Документ: Поступление товаров)
    ПКГС = 13 (Товары --> Товары)
    Объект = Возврат товаров от покупателя РТ000000050 от 03.05.2013 9:20:12 (Возврат товаров от покупателя)
    Обработчик = ПередОбработкойВыгрузкиГруппыСвойств
    ОписаниеОшибки = Метод объекта не обнаружен (ПодготовитьТаблицуТоваров)
    ПозицияМодуля = (46)
    КодСообщения = 48
    Отладчиком не получается ошибку отловить.

    Кто как менят стандартные правила обмена?
  2. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    обработка обмена в рознице отличается от v82exchan, поэтому и ошибка лезет
  3. Гриша
    Offline

    Гриша Опытный в 1С

    Регистрация:
    4 май 2008
    Сообщения:
    286
    Симпатии:
    5
    Баллы:
    29
    решение:
    открываешь КД ищешь правило конвертации для этого документа (ВозвратТоваровОтПокупателя)
    у него есть табличная часть (Товары)
    вот на табличной части нажимаешь "Изменить" и заходишь в правила конвертации группы свойств
    вот тут у тебя есть метод "ПодготовитьТаблицуТоваров"
    такие методы описываются в 2 случаях
    1 как объект.ПодготовитьТаблицуТоваров() - т.е. этот метод должен быть обычно в самом модуле объект (прямо в конфигурации Рознаица, а не в КД)
    2 в самой КД есть алгоритмы и запросы, вот там тоже можно описать этот метод и вызывать его
  4. TopicStarter Overlay
    panehon
    Offline

    panehon

    Регистрация:
    4 окт 2013
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    Что это за обработка?
  5. TopicStarter Overlay
    panehon
    Offline

    panehon

    Регистрация:
    4 окт 2013
    Сообщения:
    25
    Симпатии:
    0
    Баллы:
    1
    В конфигурации Розница в модуле объекта есть процедура ПодготовитьТаблицуТоваров:

    Процедура ПодготовитьТаблицуТоваров(ТаблицаТоваров, СтруктураШапкиДокумента) Экспорт

    ТаблицаТоваров.Колонки.Добавить("Стоимость" , ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15,2));
    ТаблицаТоваров.Колонки.Добавить("СтоимостьБезСкидок" , ОбщегоНазначения.ПолучитьОписаниеТиповЧисла(15,2));

    Для Каждого СтрокаТаблицы Из ТаблицаТоваров Цикл

    СтрокаТаблицы.Стоимость = СтрокаТаблицы.Сумма;
    Если УчитыватьНДС И Не СуммаВключаетНДС Тогда
    СтрокаТаблицы.Стоимость = СтрокаТаблицы.Стоимость + СтрокаТаблицы.НДС;
    КонецЕсли;

    СтрокаТаблицы.СтоимостьБезСкидок = СтрокаТаблицы.Цена * СтрокаТаблицы.КоличествоТЧ;
    Если УчитыватьНДС И Не СуммаВключаетНДС Тогда
    СтрокаТаблицы.СтоимостьБезСкидок = СтрокаТаблицы.СтоимостьБезСкидок + Ценообразование.РассчитатьСуммуНДС(СтрокаТаблицы.СтоимостьБезСкидок,
    УчитыватьНДС, СуммаВключаетНДС, Ценообразование.ПолучитьСтавкуНДС(СтрокаТаблицы.СтавкаНДС));
    КонецЕсли;

    КонецЦикла;

    КонецПроцедуры


    Пропивываю её в секцуи Алгоритмы и пытаюсь вызвать, но не хватает описание переменных (УчитыватьНДС, СуммаВключаетНДС).

    Каким образом правильно описать эту процедуру в КД?
  6. nickpugachev
    Offline

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

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    Выполнить(Алгоритмы.ПодготовитьТаблицуТоваров);

    перед вызовом должны быть созданы переменные с такими же именами, как параметры

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