План обмена (Выгрузка много к одному)

1. gandikap777 10.10.18 11:11 Сейчас в теме
Добрый день, друзья!

Помогите советом как можно реализовать задачу по обмену данными.
у меня поднят план обмена документами (Поступление на Расчетный счет, реализация товаров и услуг, Касса) передаются из БП 3.0 в Управление корпоративными финансами (УКФ) 2.1. Документы передаются один к одному, регистрация у каждого типа документов своя.
Поставили задачу, определенные документы "Реализация товаров и услуг" должны сворачиваться при обмене, т.е. в течении месяца продажи накапливаются, а 4го числа следующего месяца должен выгрузится 1 документ и отправится в УКФ.
Алгоритм как документ собирается и отправляется у меня есть (ПКО создано) в ручном обмене все прекрасно работает!
Конвертация данных 2.1.8.2, Платформа 8.3.12.1595, БП 3.0.40.33
Не могу придумать как это запихать в план обмена и настроить регистрацию.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. coollerinc 191 10.10.18 12:44 Сейчас в теме
У меня была похожая ситуация, с WMS несколько строк приемки должно группироваться в один приходник в УТ. Я бы делал так: На регистрацию ставятся каждая "Реализация товаров и услуг". Когда идет выгрузка: из всех зарегистрированных строк заново группируется все реализации за месяц и выгружается итоговый документ. Если обмен прошел успешно, с регистрации снимаем все реализации, за данный месяц зарегистрированные на узле.
Единственное у меня обмен через веб сервис, через XDTO пакет. Без КД.
gandikap777; +1 Ответить
3. gandikap777 10.10.18 13:30 Сейчас в теме
(2)Спасибо за ответ! Такой вариант я рассматриваю, но бухгалтерия хочет, чтобы в приемнике не висела эта реализация, пока в источнике не будет закрыт месяц.
Если я не смогу придумать как реализовать выгрузку раз в месяц - буду делать именно так!
Может я как то могу хранить такие реализации зарегистрированными на узле и не отправлять в течении месяца?
4. coollerinc 191 10.10.18 15:26 Сейчас в теме
(3) Тут много вариантов, оставлять на регистрации можно без проблем. У меня запросом выбираются изменения, я бы добавил условие, что то типо такого: Документ.Дата <= НачалоПериода(&ТекущаяДата, "Месяц") + 86400 * 4
5. gandikap777 10.10.18 17:03 Сейчас в теме
(4)Для того чтобы оставить на регистрации, мне нужно "отказ = истина" в ПКО поставить?
6. coollerinc 191 10.10.18 17:29 Сейчас в теме
(5) Я не знаю, с КД почти не работал
7. tusv 212 11.10.18 11:31 Сейчас в теме
Месяц закрывается документами Регламентная Операция. Получаем последнюю и регистрируем любой документ реализации в закрытом месяце, а там собираем Итоговый документ и выгружаем
8. gandikap777 25.10.18 14:13 Сейчас в теме
Решил задачу следующим способом:
1. в ПВД ПередВыгрузкой ставлю отказ = Истина и повторно резистрирую документ на узле (ПланыОбменаМенеджер.ЗарегистрироватьИзменения(<Узлы>, <Данные>) )
2. В начале следующего месяца выполняю алгоритм, которым собираю запросом все документы попадающие под условие и выгружаю процедурой ВыгрузитьПоПравилу(...). Алгоритм выполняется в ПВД ПередВыгрузкой только для первого документа, остальные пропускаю
3. На регистрации оставляю первые попавшийся документ, остальные просто удаляю (ПланыОбменаМенеджер.УдалитьРегистрациюИзменений(<Узлы>, <Данные>) ).
9. gandikap777 25.10.18 14:19 Сейчас в теме
10. gandikap777 26.10.18 16:17 Сейчас в теме
условия при котором выгружать в ПВД ПередВыгрузкой
Сутки = 86400;
_НачалоДняВыгрузки = НачалоДня(ТекущаяДата());
_НачалоМесяцаВыгрузки = НачалоМесяца(ТекущаяДата());
_НАчалоПредыдущегоМесяца = ДобавитьМесяц(_НачалоМесяцаВыгрузки,-1);
КоличествоДнейМесяца = День(КонецМесяца(_НАчалоПредыдущегоМесяца));
Если Месяц(_НачалоМесяцаВыгрузки) - Месяц(Объект.Дата) => 1 И _НАчалоПредыдущегоМесяца <= _НачалоДняВыгрузки - (КоличествоДнейМесяца + 4) * сутки Тогда 
//Выгружаем
Иначе
Отказ = Истина;
//Заново регистрируем в узел
КонецЕсли;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот