|
Обмен данными. План обмена. | ☑ | ||
---|---|---|---|---|
0
nAPACEHAK
12.08.19
✎
08:59
|
Доброго.
Подскажите, как можно реализовать обмен. Исх.данные: в Центр.Базу (ЦБ) должны падать документы с переферии (ПБ). Состав документа: Реквизиты + присоединенные файлы (только фото) Конфа: Управление отгрузкой Особенности: 1) связь. ПБ несколько. Где то качество связи (интернет) приемлимое, где то ГПРС свистком, есть места где качество связи откровенно убогое. Родной обмен конфы при обмене дохнет, т.к передает всю инфу одной xml-кой. из-за файлов размер файла обмена такой, что ГПРС с его скоростью и разрывами, просто не справляется. Файлы обмена тупо не копируются или копируются с ошибками. итд по кругу. Плюс еще умудрятся видео прикрепить - тогда совсем тушите свет. Так же в стандартном обмене передаются все модифицированные документы (по сути нужны только с конкретным статусом) Что сделано: 1. Из выборки обмена выкинуты доки с "ненужным" статусом 2. состав пакета: xml + jpg = zip. 1 файл = 1 документ (тут уже ГПРС вроде как стал справляться, но тоже не всегда, бывает на фтп появляются "битые" архивы с размером 0-100кб) 3. в ПБ регистр: Дата отправки - Дата обработки 4. ЦБ обрабатывает zip, в обмен кидает статус обработки вроде что то зашевелилось, но 1) в ЦБ стали появляться доки без фото (с xml записываю реквизиты, сохраняю док, к ссылке прикрепляю файлы. есть подозрение что на этом этапе - ошибка прикрепления и файла нет, но док уже записан). опять какую то проверку прикручивать на соответствие файлу обмена и количеству прикрепленных? брр... 2) всеравно иногда проскакивают "битые" архивы для обмена с неадекватным размером 3) обработка всей этой регистрации, обмена итд.... это как БСП переписать ))) Есть у кого улучшательные идеи? и еще такой вопрос: Обмен (план обмена, или универсальный xml с конвертацией) - делают 1 файл обмена = вся транзакция. Можно ли как разбить транзакцию на части? Если да - то где, в каком месте БСП или обработки универсалльного обмена для каждого Док из Транзакция СформироватьИОтправитьФайлXML (Док) ... |
|||
1
Aleksey
12.08.19
✎
09:01
|
поставь дроббокс или любое облакое и пусть оно занимается доставкой
|
|||
2
scanduta
12.08.19
✎
09:03
|
(0)посмотри в БСП подсистеме синхронизации данных при обмене через веб сервисы уже реализовано разбитие файла на части. Разбивается по умолчанию по 1 мб, но размер частей настраивается параметрами.
|
|||
3
nAPACEHAK
12.08.19
✎
09:11
|
(2) ну идея имеет право на существование. только вот из 10 кусков одного дока 9 дойдет. и потом головняк весь этот мусор очищать.
опять же - если брать стандартный обмен - то файл под 500мб кусками бить.... все таки хотелось бы 1 транзакция = 1 док. да и анализировать так понятнее наверно. (1) облако не вариант. если только транспорт переложить на какую нибудь filezilla. пусть папку синхронизирует. но опять же тот же самый вопрос с мусором и битыми файлами |
|||
4
Повелитель
12.08.19
✎
09:22
|
(0) 1. В стандартном обмене есть разбивка на несколько частей файла обмена.
2. Мы тоже столкнулись такой проблемой в одном из филиалов, где стоит 4g-модем, но связь 256 кб и то с перебоями. Так вот если осканировали несколько договоров контрагента, то файл обмена получался 50-100 Мб, и обмен вешался, бывало и сутки приходилось жать пока же он все таки пройдет. Решение сделал такое, догворы, как и картинки (у нас их около 200 000 штук сейчас для интернет-магазина) храним не в 1с а отдельно. Конкретно договоры заливаются в облако и идет паралельная синхронизация самой 1с и отдельно договоров, договоры не так важны, поэтому пусть хоть неделю синхронизируются. |
|||
5
Повелитель
12.08.19
✎
09:30
|
(4) Для картинок облако не подошло кстати (из-за их огромного количества файлов), по 2-м причинам.
1. В некоторых Яндекс.диск впадал в ступор, при частых сохранениях например файла "111.jpg" он переставал понимать, какой файл настоящий, тот который только, что записали, или тот который не до синхронизировался и тупо делал файл "111(2).jpg", вначале написали регламентную обработку, которая эти (2) в файлах удаляла, но причина №2 заставила отказаться от облака. 2. Бизлимита у нас там не было, и эти синхронизации за полмесяца весь трафик съедали. |
|||
6
nAPACEHAK
12.08.19
✎
09:44
|
(4) нужны именно доки с фотками. заливать отдельно - потом не найти какая фотка к какому доку. или какой то механизм придумывать что бы прикреплялись в зависимости от имени файла, например.
если просто брать имя файла - то оно у всех доков одинаковое (источник, до хранилища). Фото1, Фото2... по размеру... сейчас сделано что только jpg в обмен идут. всё что наприкрепляют "ненужного" - видео, сканы итд. обрезается на этапе выгрузки. по jpegaм - ну можно еще размер ужать перед отправкой, привернуть какой нибудь фоновый ресайзер картинок. безлимит, но эти 4g и 256к ((( |
|||
7
Повелитель
12.08.19
✎
10:05
|
(6) Ну мы примерно сделали так. Самая структура как была в справочнике "Хранилище дополнительной информации" так и осталось, только вот хранение переписали не в реквизит 1с, а во внешний файл.
Имя файла = GUID элемента справочника "Хранилище дополнительной информации". Стандартные 1с механизмы быстро синхронизировались, так как там пакеты меньше 1 Мб. А файла с документами и картинки идут через облако параллельно. Кстати обмен раньше был 1 раз в сутки и файлы были по 50 Мб иногда и не всегда обмен из-за этого к утру проходил, а вот когда сделали обмен каждые 30 минут, то пакеты маленькие с обменом РИБ проблем почти нет. |
|||
8
Aleksey
12.08.19
✎
10:13
|
(3) почему облака как транспорт не вариант? выложил локально, облако его переместила на другой комп и там локально забрал
|
|||
9
Aleksey
12.08.19
✎
10:15
|
более облако удобно для хранения внешних файлов между филиалами. Т.е. картинки гуляют по облаку и на филиале автоматом цепляюися к базе. Главное чтобы путь к папке совпадал
|
|||
10
nAPACEHAK
12.08.19
✎
10:26
|
(8) немного непонял.
облако переместило (ну или не переместило) на ЦБ на ЦБ я должен как то проверить существование файла (пришло/нет), определить соответствие файл/документ потом прикрепить его к документу? так? в (7) вроде есть мысль по этому поводу, но в типовой конфе - файл хранится как прикрепленный, плюс, 4 файла (фото1,2,3,4) - реквизиты формы |
|||
11
nAPACEHAK
12.08.19
✎
10:33
|
эмм... а я ведь могу сделать план обмена не на БСП?
в смысле 1. регистрировать изменения только для "нужного" статуса 2. ПрочитатьИзменения () и потом выгружать 1 док = 1 файл. циклом по измененным 3. сверить номер сообщения, снять регистрацию |
|||
12
Вафель
12.08.19
✎
10:41
|
фото отдельно выгружать
|
|||
13
Aleksey
12.08.19
✎
10:47
|
(10) Обмены ты сейчас куда выгружаешь? На фтп? А я предлагаю выкладывать в локальный файл. Далее облако само поделит и переместит на другой компьютер и останется только локальный файл загрузить. Можешь флаг выкладывать который после загрузки будешь удалять. Если файл есть значит приемник еще не загрузил данные. Если файла нет, то все хорошо, выгружаем
|
|||
14
Aleksey
12.08.19
✎
10:48
|
(11) а как же справочники и регистры?
|
|||
15
nAPACEHAK
12.08.19
✎
11:14
|
(13) сейчас так: состав zip - xml с реквизитами + jpeg-и с фото
когда собираю: распаковываю архив, из xml заполняю реквизиты, записываю, к докссылке прикрепляю картинки, удаляю распакованное Если картинки будут ходить отдельно - надо как то придумать механизм для прикрепления к доку. и опять же, картинки - из прикрепленных файлов при открытии формы берутся как реквизиты формы (так в конфе сделано), т.е. на форме сразу открывается часть фото из прикрепленных, по шаблону имени файла - "Фото1.jpg, Фото2.jpg". в прикрепленных - Фото1.jpg, Фото2.jpg, ФотоАнджелиныДжоли.bmp (11) движения дока не нужны. справочники для реквизитов перенести можно как обычно. или имеется ввиду регистр СоответствияОбъектовИнформационныхБаз ? |
|||
16
nAPACEHAK
12.08.19
✎
11:15
|
(14) движения дока не нужны. справочники для реквизитов перенести можно как обычно. или имеется ввиду регистр СоответствияОбъектовИнформационныхБаз ?
|
|||
17
Повелитель
12.08.19
✎
11:26
|
(10) У нас для одного товара можно любое количество фото прикрепить.
Сохраняем в регистре сведений имена как ГУИД+Приоритет. 2 колонки. Имя файла в папке тож вот так: 0a2ad43c-72fa-11e5-8b90-60a44cb5758e_0.jpg 0a2ad43c-72fa-11e5-8b90-60a44cb5758e_1.jpg Отображается в карточке номенклатуры, при открытии, динамически формируются на форме картинки выстраиваясь по приоритету. Приоритет 0 это главное изображение. |
|||
18
Повелитель
12.08.19
✎
11:28
|
(17) В имя файла можно зашить любую инфу, зная в каком месте она стоит.
Например ГУИД это первые 36 символов. Далее приоритет "_" + 2 символа. И т.п. |
|||
19
nAPACEHAK
12.08.19
✎
11:46
|
(17) ну прикрепить то можно любые файлы
только вот конфа, при открытии формы дока, ищет в прикрепленных файлы-картинки, с конкретным именем - а именно "фото1, фото2.... И если есть такие - то выводит картинку на форму. если нет - то поле картинки пустое. Потом СБ открывают док, а там картинок нет, и начинается паника и шум. там вообще конфа волшебная. например, если открыть док у которого есть прикрепленная картинка, но она по какой либо причине не прочиталась - то вариант только один: аварийно завершить работу. я толком даже копию базы сделать не могу. развернута из копии, пути к файлопомойке прописаны, но в файлопомойке не совпадает версия прикрепленного - все. завершить/перезапустить (ага. убирается камментами в коде, но блин, нафига так то))) |
|||
20
Повелитель
12.08.19
✎
11:48
|
(19) Нет ну если вам нужно решить задачу не стандартно, понятно, что много менять.
Я довольно много времени на допиливание картинок потратил, неделю наверно. Договоры вот с выгрузкой в файлы за день сделал. |
|||
21
Александр Б
12.08.19
✎
12:22
|
(0) Как вариант для рассмотрения.
Делал обмен из очень старой УТ10.2 в новую ERP через web-сервисы. Документы регистрирую в планах обмена, как и положено. Все документы выгружаю по одному. При чём с регистрации снимаю только при ответе от приёмника об успешной загрузке. Если ошибка, то в конце обмена письмо мне на почту со списком всех не выгруженных документов с текстами ошибок. Конечно, немного времени пришлось потратить на реализацию. Но в итоге получилась очень высокая надёжность обмена и качественная точечная запись данных. Данные вообще не теряются, всё записывается как надо и куда надо. Конкретно в твоём примере можно сделать такой вариант. Документы отправлять как есть (чтобы сильно не переписывать обмен), а картинки/видео для отправки регистрировать отдельно, и отправлять, например, через http-сервис с подтверждением доставки. Это существенно повысит надёжность. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |