К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Нужна помощь в настрйоке правил конвертации

Гость
0 - 22.09.2015 - 15:23
В конвертации новичок. Потому сильно не пинать за глупые вопросы.

У сути, необходитмо реализовать выгрузку из УТ 10.3 в БП документ "Поступление NVW@? причем, при определнных условиях (если поставщик строго определенный контрагент) постпление должно конвертироваться в Перемещение ТМЦ, в противном случае в обычном порядке.
Рассматриваю два варианта:
1 - два правила обмена для одного вида документа где фильтровать источник по реквизиту и выбирать по какому ПКО выгружить приходную.
2 - в ПКО в процедуре "Перед выгрузкой" ,если контрагент нужный, использовать функцией ВыгрузитьПоПравилу предварительно создав структуру для выгрзки Перемещения на основе Поступления.

Посоветуйте ка проще/правильнее поступить



Гость
1 - 22.09.2015 - 15:24
Соори за корявки в тексте - Punto Switcher постарался :) там имелось ввиду Поступление ТМЦ :)
Гость
2 - 22.09.2015 - 15:30
Ну и остальные корявки это просто кривые руки... одним словом жду помощи по теме
Гость
3 - 22.09.2015 - 16:00
делаешь двое правил, перед выгрузкой определяешь какие использовать передаёшь ссылку В ВыгрузитьПоПравилу , структуру формировать не надо
Гость
4 - 22.09.2015 - 16:29
Правильно - две выгрузки.
Гость
5 - 22.09.2015 - 16:57
Если два ПКО то срабатывают всегда оба? и каждом из них свой фильтр? и для каждого свое ПВД? Все верно?
Гость
6 - 22.09.2015 - 17:01
В одном ПКО Приходная->Приходная а во втором Приходная->Перемещение все верно? и не нужно тогда никаких ВыгрузитьПоПравилу, просто настроить согласование реквизитов и все?
Гость
7 - 22.09.2015 - 20:01
тогда тебе надо фильтр делать будет в правиле, делай через выгрузитьпопрравилу
Гость
8 - 22.09.2015 - 20:57
Все получилось, всем спасибо. Воспользовался ВыгрузитьПоПравилу
9 - 22.09.2015 - 21:52
А можно я тут спрошу :)? Надо переделать типовой обмен УТ10-БП2 чтоб из всей выгружаемой кучи одного вида документов (перемещения) получился 1 общий документ другого вида.
Из перемещений в реализацию я переделал. Но получается куча перемещений преобразуется в такуюже кучу реализаций. А надо в 1 общую.
10 - 22.09.2015 - 21:54
По сути у меня есть подобный обмен уже. Правила работают через универсальный обмен. Там список доков выбирается в форме. Как мне отловить список доков которые зарегистрированы для обмена по плану обмена?
Гость
11 - 22.09.2015 - 22:43
выбрать
*
из
Документы.ХХХ.изменения

делаешь свой запрос в правиле выгрузки, формируешь структуру данных и передаёшь в выгрузитьпопрравилу
Гость
12 - 23.09.2015 - 14:34
Дальше еще один затык. Задача следующая: в УТ есть приходный кассовый ордер на розничную выгрузку, хотелось бы при загрузке принять его и сделать еще два дока: расходник в дебет 57.01 и приходник с кредита 57.01 (переместить розничную выгрузку в основную кассу из магазинов - обособленных подразделений). Пытался создавать нужные документы в ПКО в обработчике "После загрузки", выдается ошибка "Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных" при вызове ЗаписатьОбъектВИБ для вновь созданных документов.
13 - 23.09.2015 - 15:43
2(12) Делай ещё два ПКО
Гость
14 - 23.09.2015 - 16:26
Была такая мысль, но смутил регистр "Соответствие объектов" - получается что один к многим, значит будет 3 записи где собственный объект это 3 разные ссылки и один GUID базы источника. При одностороннем обмене все гуд, а что будет при изменении любого из трех в базе получателе?
Гость
15 - 23.09.2015 - 16:27
В случае двустороннего обмена.
Гость
16 - 23.09.2015 - 17:04
(14) при изменении в получателе, если в правилах обмена прописан обмен, то надо исправлять обратные правила.

регистр "Соответствие объектов" - для поиска
Гость
17 - 23.09.2015 - 17:39
Все получилось, спасибо
Гость
18 - 24.09.2015 - 13:53
Погорячился со "ВСЕ ПОЛУЧИЛОСЬ!" Выгружаю один приходник из УТ в три документа на стороне БП - два приходника и один расходник. Сделал три ПКО для каждого документа в БП. При первом обмене все ОК - получаем три документа в БП, но! если изменить приходник в УТ и повторно выгрузить, то сам документ ложится нормально, расходник нормально, а вот второй, искусственно порожденный приходник, создается каждый раз новый. Подозреваю что проблема в отключенном поиске по вн.идентификатору для второго ПКО, т.е. не нашелся - создаются новый, логично! Но как выйти из положения? думки в сторону замены GUID перед выгрузкой, например заменить при выгрузке первые 5 символов GUID на 55555. Какие советы от бывалых?
Гость
19 - 24.09.2015 - 13:55
Да, можно было бы попытаться искать по другим ключевым полям, но подобных не предвидется - время сдвигаю при выгрузке на секунду, номер - делаю новый.... по какому полю искать кроме фиктивного GUID мылей нет, да чтобы было понятно: обмен односторонний
20 - 24.09.2015 - 14:21
2(19) Всю необходимую для идентификации информацию пихай в комментарий при выгрузке. По нему и синхронизируй.
Гость
21 - 24.09.2015 - 14:25
А комментарий даст использовать как поле поиска!?
Гость
22 - 24.09.2015 - 14:26
Неоптимально, однако, с точки зрения скорости, но, имхо, такого даже и представить не мог!!! А что с заменой GUID на лету? геморой? ведь так точно будет работать!
Гость
23 - 24.09.2015 - 16:21
Победил! Может кому поможет:
1. передаем УИД источника в параметр
2. В ПКО в обработчик при загрузке пишем:
// Найти загружаемый документ по GUID - заменим в исходном GUID первые 5 символов на 55555
Приходник57УИД = Новый УникальныйИдентификатор("55555"+Сред(ПараметрыОбъе кта["УникальныйИдентификаторДокумента"], 6));
СсылкаНаОбъект = Документы.ПриходныйКассовыйОрдер.ПолучитьСсылку(Пр иходник57УИД);

Если СсылкаНаОбъект.Пустая() Тогда
Объект.УстановитьСсылкуНового(СсылкаНаОбъект);
Иначе
Объект = СсылкаНаОбъект.ПолучитьОбъект();
КонецЕсли;


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены