План обмена (Выгрузка много к одному)
Добрый день, друзья!
Помогите советом как можно реализовать задачу по обмену данными.
у меня поднят план обмена документами (Поступление на Расчетный счет, реализация товаров и услуг, Касса) передаются из БП 3.0 в Управление корпоративными финансами (УКФ) 2.1. Документы передаются один к одному, регистрация у каждого типа документов своя.
Поставили задачу, определенные документы "Реализация товаров и услуг" должны сворачиваться при обмене, т.е. в течении месяца продажи накапливаются, а 4го числа следующего месяца должен выгрузится 1 документ и отправится в УКФ.
Алгоритм как документ собирается и отправляется у меня есть (ПКО создано) в ручном обмене все прекрасно работает!
Конвертация данных 2.1.8.2, Платформа 8.3.12.1595, БП 3.0.40.33
Не могу придумать как это запихать в план обмена и настроить регистрацию.
Помогите советом как можно реализовать задачу по обмену данными.
у меня поднят план обмена документами (Поступление на Расчетный счет, реализация товаров и услуг, Касса) передаются из БП 3.0 в Управление корпоративными финансами (УКФ) 2.1. Документы передаются один к одному, регистрация у каждого типа документов своя.
Поставили задачу, определенные документы "Реализация товаров и услуг" должны сворачиваться при обмене, т.е. в течении месяца продажи накапливаются, а 4го числа следующего месяца должен выгрузится 1 документ и отправится в УКФ.
Алгоритм как документ собирается и отправляется у меня есть (ПКО создано) в ручном обмене все прекрасно работает!
Конвертация данных 2.1.8.2, Платформа 8.3.12.1595, БП 3.0.40.33
Не могу придумать как это запихать в план обмена и настроить регистрацию.
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
У меня была похожая ситуация, с WMS несколько строк приемки должно группироваться в один приходник в УТ. Я бы делал так: На регистрацию ставятся каждая "Реализация товаров и услуг". Когда идет выгрузка: из всех зарегистрированных строк заново группируется все реализации за месяц и выгружается итоговый документ. Если обмен прошел успешно, с регистрации снимаем все реализации, за данный месяц зарегистрированные на узле.
Единственное у меня обмен через веб сервис, через XDTO пакет. Без КД.
Единственное у меня обмен через веб сервис, через XDTO пакет. Без КД.
(2)Спасибо за ответ! Такой вариант я рассматриваю, но бухгалтерия хочет, чтобы в приемнике не висела эта реализация, пока в источнике не будет закрыт месяц.
Если я не смогу придумать как реализовать выгрузку раз в месяц - буду делать именно так!
Может я как то могу хранить такие реализации зарегистрированными на узле и не отправлять в течении месяца?
Если я не смогу придумать как реализовать выгрузку раз в месяц - буду делать именно так!
Может я как то могу хранить такие реализации зарегистрированными на узле и не отправлять в течении месяца?
Решил задачу следующим способом:
1. в ПВД ПередВыгрузкой ставлю отказ = Истина и повторно резистрирую документ на узле (ПланыОбменаМенеджер.ЗарегистрироватьИзменения(<Узлы>, <Данные>) )
2. В начале следующего месяца выполняю алгоритм, которым собираю запросом все документы попадающие под условие и выгружаю процедурой ВыгрузитьПоПравилу(...). Алгоритм выполняется в ПВД ПередВыгрузкой только для первого документа, остальные пропускаю
3. На регистрации оставляю первые попавшийся документ, остальные просто удаляю (ПланыОбменаМенеджер.УдалитьРегистрациюИзменений(<Узлы>, <Данные>) ).
1. в ПВД ПередВыгрузкой ставлю отказ = Истина и повторно резистрирую документ на узле (ПланыОбменаМенеджер.ЗарегистрироватьИзменения(<Узлы>, <Данные>) )
2. В начале следующего месяца выполняю алгоритм, которым собираю запросом все документы попадающие под условие и выгружаю процедурой ВыгрузитьПоПравилу(...). Алгоритм выполняется в ПВД ПередВыгрузкой только для первого документа, остальные пропускаю
3. На регистрации оставляю первые попавшийся документ, остальные просто удаляю (ПланыОбменаМенеджер.УдалитьРегистрациюИзменений(<Узлы>, <Данные>) ).
условия при котором выгружать в ПВД ПередВыгрузкой
Сутки = 86400;
_НачалоДняВыгрузки = НачалоДня(ТекущаяДата());
_НачалоМесяцаВыгрузки = НачалоМесяца(ТекущаяДата());
_НАчалоПредыдущегоМесяца = ДобавитьМесяц(_НачалоМесяцаВыгрузки,-1);
КоличествоДнейМесяца = День(КонецМесяца(_НАчалоПредыдущегоМесяца));
Если Месяц(_НачалоМесяцаВыгрузки) - Месяц(Объект.Дата) => 1 И _НАчалоПредыдущегоМесяца <= _НачалоДняВыгрузки - (КоличествоДнейМесяца + 4) * сутки Тогда
//Выгружаем
Иначе
Отказ = Истина;
//Заново регистрируем в узел
КонецЕсли;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот