Помогите пожалуйста, настраиваю правила обмена, но работают некорректно.
Найденные решения
(28) Мы договор создаем ПРИ ЗАГРУЗКЕ. Источника никакого нет. Мы про него ничего не знаем. Есть только файл выгрузки. В котором написано: "давайте создадим договор".
Конечно бездумно договор создавать не правильно. Ибо, сколько раз нажмем кнопку загрузить, столько договоров и создастся.
Поэтому правильнее сначала поискать, если нашли, то подсунуть ссылку, а если не нашли то создавать.
....
Посмотрел изначально задачу. Там же уже переносится договор в договорконтрагента. Зачем велосипед городить после загрузки? Если не переносился / не создавался нужно смотреть почему.
Конечно бездумно договор создавать не правильно. Ибо, сколько раз нажмем кнопку загрузить, столько договоров и создастся.
Поэтому правильнее сначала поискать, если нашли, то подсунуть ссылку, а если не нашли то создавать.
....
Посмотрел изначально задачу. Там же уже переносится договор в договорконтрагента. Зачем велосипед городить после загрузки? Если не переносился / не создавался нужно смотреть почему.
(15) Значит написали не в ПКО - после загрузки.
На изначальной картинке все не верно. там ПКС, а надо ПКО. и закладок в нем будет не три, а восемь. Ваша - последняя.
Плюс, откройте для себя кнопку Информация по обработчикам, там все переменные расписаны, и примеры хорошие.
И еще. Добавьте что-ли Сообщить("записан " ) после записи. Плюс посмотрите в журнале регистрации или консоли запросов проверьте, точно записан, или просто в справочнике не видно.
На изначальной картинке все не верно. там ПКС, а надо ПКО. и закладок в нем будет не три, а восемь. Ваша - последняя.
Плюс, откройте для себя кнопку Информация по обработчикам, там все переменные расписаны, и примеры хорошие.
И еще. Добавьте что-ли Сообщить("записан " ) после записи. Плюс посмотрите в журнале регистрации или консоли запросов проверьте, точно записан, или просто в справочнике не видно.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Если Не Источник.Договор Тогда
А = Справочники.ДоговорыКонтрагентов.Создать();
А.Наименование = "Счет Фактура";
А.Организация = Источник.Организация;
А.Контрагент = Источник.Контрагент;
А.Записать();
КонецЕсли
Написал теперь так, пытаюсь снова загрузить
Ошибка типа Булево не определно
(15) Значит написали не в ПКО - после загрузки.
На изначальной картинке все не верно. там ПКС, а надо ПКО. и закладок в нем будет не три, а восемь. Ваша - последняя.
Плюс, откройте для себя кнопку Информация по обработчикам, там все переменные расписаны, и примеры хорошие.
И еще. Добавьте что-ли Сообщить("записан " ) после записи. Плюс посмотрите в журнале регистрации или консоли запросов проверьте, точно записан, или просто в справочнике не видно.
На изначальной картинке все не верно. там ПКС, а надо ПКО. и закладок в нем будет не три, а восемь. Ваша - последняя.
Плюс, откройте для себя кнопку Информация по обработчикам, там все переменные расписаны, и примеры хорошие.
И еще. Добавьте что-ли Сообщить("записан " ) после записи. Плюс посмотрите в журнале регистрации или консоли запросов проверьте, точно записан, или просто в справочнике не видно.
Если Источник.Договор = Неопределено Тогда
А = Справочники.ДоговорыКонтрагентов.Создать();
А.Наименование = "Счет Фактура";
А.Номер = "120";
А.Организация = Объект.Организация;
А.Контрагент = Объект.Контрагент;
А.ВидДоговора = Перечисления.ВидыДоговоровКонтрагента.СПокупателем;
А.Записать();
КонецЕсли
ПоказатьВ ПКО документа "ЗаказКлиента" при Выгрузке
Когда ставлю Если Объект.Договор то выходит ошибка ("Переменная объект неопределенно")
(22)
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1274)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = СчетНаОплатуПокупателю00001
ТипОбъекта = Счет покупателю
Объект = Счет покупателю КА00-001105 от 27.08.2018 10:54:28
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Поле объекта не обнаружено (Договор)
ПозицияМодуля = (1)
КодСообщения = 21
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1274)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = СчетНаОплатуПокупателю00001
ТипОбъекта = Счет покупателю
Объект = Счет покупателю КА00-001105 от 27.08.2018 10:54:28
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Поле объекта не обнаружено (Договор)
ПозицияМодуля = (1)
КодСообщения = 21
(28) Мы договор создаем ПРИ ЗАГРУЗКЕ. Источника никакого нет. Мы про него ничего не знаем. Есть только файл выгрузки. В котором написано: "давайте создадим договор".
Конечно бездумно договор создавать не правильно. Ибо, сколько раз нажмем кнопку загрузить, столько договоров и создастся.
Поэтому правильнее сначала поискать, если нашли, то подсунуть ссылку, а если не нашли то создавать.
....
Посмотрел изначально задачу. Там же уже переносится договор в договорконтрагента. Зачем велосипед городить после загрузки? Если не переносился / не создавался нужно смотреть почему.
Конечно бездумно договор создавать не правильно. Ибо, сколько раз нажмем кнопку загрузить, столько договоров и создастся.
Поэтому правильнее сначала поискать, если нашли, то подсунуть ссылку, а если не нашли то создавать.
....
Посмотрел изначально задачу. Там же уже переносится договор в договорконтрагента. Зачем велосипед городить после загрузки? Если не переносился / не создавался нужно смотреть почему.
(35) Понятно. А что если в источнике нет, а например грузим второй раз. Такое бывает. Поэтому вначале все равно надо поискать. Проще запросом. "Выбрать Т.Ссылка из справочник.ДОговорыКонтрагентов Т ГДЕ Т.Организация = &Орг И Т.Владелец = &Контр И Т.Наименование = &НаименованиеКотороеМыДаемНовымДоговорам .
И если запрос пустой тогда создавать, если не пустой, то подставлять найденное значение.
И если запрос пустой тогда создавать, если не пустой, то подставлять найденное значение.
(34) Не нравится Ваше решение. Создавать при загрузке ни чего не надо. Все гораздо проще. Есть ПКО Договоры с заполненным соответствием Источника и Приемника. Давайте его использовать в ПКС и полностью передадим его в структуру
Например в ПКС При выгрузке Пишем
Система все сделает сама
Например в ПКС При выгрузке Пишем
Значение = Новый Структура("Наименование,Владелец,Организация,ВидДоговора,Дата"
,<Сформированное наименование договора>
,Источник.Контрагент,
,Источник.Организация
,Перечисления.ВидыДоговоров.СПокупателем
,<Нужная дата>);
Система все сделает сама
Если
А = Справочники.ДоговорыКонтрагентов.Создать();
А.Наименование = "Счет Фактура";
А.Номер = "120";
А.Организация = Объект.Организация;
А.Контрагент = Объект.Контрагент;
А.ВидДоговора = Перечисления.ВидыДоговоровКонтрагента.СПокупателем;
А.Записать();
То
Объект.ДоговорКонтрагента = А.Ссылка
А = Справочники.ДоговорыКонтрагентов.Создать();
А.Наименование = "Счет Фактура";
А.Номер = "120";
А.Организация = Объект.Организация;
А.Контрагент = Объект.Контрагент;
А.ВидДоговора = Перечисления.ВидыДоговоровКонтрагента.СПокупателем;
А.Записать();
То
Объект.ДоговорКонтрагента = А.Ссылка
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1274)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = СчетНаОплатуПокупателю00001
ТипОбъекта = Счет покупателю
Объект = Счет покупателю КА00-001105 от 27.08.2018 10:54:28
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Метод объекта не обнаружен (Создать)
ПозицияМодуля = (1)
КодСообщения = 21
ИмяПКО = СчетНаОплатуПокупателю00001
ТипОбъекта = Счет покупателю
Объект = Счет покупателю КА00-001105 от 27.08.2018 10:54:28
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Метод объекта не обнаружен (Создать)
ПозицияМодуля = (1)
КодСообщения = 21
(42)
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1274)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = СчетНаОплатуПокупателю00001
ТипОбъекта = Счет покупателю
Объект = Счет покупателю КА00-001105 от 27.08.2018 10:54:28
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Значение поля "Контрагент" не заполнено или заполнено неверно
ПозицияМодуля = (8)
КодСообщения = 21
Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(1274)}: Ошибка в обработчике события ПослеЗагрузкиОбъекта
ИмяПКО = СчетНаОплатуПокупателю00001
ТипОбъекта = Счет покупателю
Объект = Счет покупателю КА00-001105 от 27.08.2018 10:54:28
Обработчик = ПослеЗагрузкиОбъекта
ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Значение поля "Контрагент" не заполнено или заполнено неверно
ПозицияМодуля = (8)
КодСообщения = 21
(46)
Хорошо, еще такой вопрос. Как можно в правилах сделать так чтобы новая номенклатура не загружалась и падала в папку с кодом который известен?
Как советовали в (38), сделайте обработку с реквизитом СчетНаОплатуПокупателя. и попробуйте в ней создать программно Договор для Контрагента из этого счета. После этого, этот код можно будет вставить в обработчик послезагрузки.
Хорошо, еще такой вопрос. Как можно в правилах сделать так чтобы новая номенклатура не загружалась и падала в папку с кодом который известен?
(47) Не понял. "Не загружалась" и "Падала в папку" для меня взаимоисключающие вещи.
Чтобы падала в папку просто.
В том же ПКО ПослеЗагрузки
Объект.Родитель = Справочники.Номенклатура.НайтиПоКоду("0001");
Чтобы не загружалась, В ПКО ПередВыгрузкой поставить Отказ = истина;
Чтобы падала в папку просто.
В том же ПКО ПослеЗагрузки
Объект.Родитель = Справочники.Номенклатура.НайтиПоКоду("0001");
Чтобы не загружалась, В ПКО ПередВыгрузкой поставить Отказ = истина;
(52)
Создаётся так же через "Синхронизацию объектов?"
Если только из одного документа, то проще создать копию ПКО Номенклатура
и в нем прописать в ПКО ПослеЗагрузки
Объект.Родитель = Справочники.Номенклатура.НайтиПоКоду("0001");
и в этом документе у номенклатуры указать это правило.
и в нем прописать в ПКО ПослеЗагрузки
Объект.Родитель = Справочники.Номенклатура.НайтиПоКоду("0001");
и в этом документе у номенклатуры указать это правило.
Создаётся так же через "Синхронизацию объектов?"
(64) Ставку оказывается БЕЗНДС не нужно, нужно ставить ставку 18% и чтобы из суммы она высчитывалась
А получается что я загружаю данные из источника, в приемник документы подгружаются с суммой но в добавок приплюсовываются сверху еще раз НДС и сумма общая увеличивается
А получается что я загружаю данные из источника, в приемник документы подгружаются с суммой но в добавок приплюсовываются сверху еще раз НДС и сумма общая увеличивается
(45)
Самый простой, на мой взгляд, способ - функцию создания/поиска договора прописать в ПКС - Перед выгрузкой через код типа:
Данный код будет выполняться на стороне базы-приемника.
авочники, но в реквизит документа его не подтягивает
Самый простой, на мой взгляд, способ - функцию создания/поиска договора прописать в ПКС - Перед выгрузкой через код типа:
Выражение = "НайтиСоздатьДоговор()";
Данный код будет выполняться на стороне базы-приемника.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот