|
КД 2: УТ 10.3 -> УТ 11.4. Выгрузка данных из собственной выборки по типовым правилам. | ☑ | ||
---|---|---|---|---|
0
daylight
23.02.19
✎
15:18
|
Добрый день.
Переходим от УТ 10.3 к УТ 11. В данный момент идет перенос данных с дальнейшим тестированием возможностей УТ 11, под нужды предприятия. Было решено организовать односторонний обмен данными из УТ 10.3 в УТ 11.4, раз в сутки, в конце рабочего дня. В данный момент правила работают. Выгружаются справочники и документы. На определенную дату выгружены все данные Стал вопрос выгрузки только измененных объектов. В УТ 10.3 добавлен регистр в котором хранятся ссылки на объекты и дата их модификации. Сейчас стоит задача выгружать данные, основываясь на этом регистре, только за определенные периоды. В дальнейшем только за последние сутки. Собственно сначала реализовал это по типу локального кэша в КД. В обработчике данных "Перед выгрузкой данных" запросом получал таблицу значений со всеми необходимыми объектами. в обработчике "Перед выгрузкой объекта" анализировал есть ли текущий объект в моей таблице и устанавливал Отказ=1, если его там нет. Собственно работает оно очень медленно, что не удивительно. На данном этапе я не вижу смысла проверят все объекты. У меня ведь уже есть перечень необходимых Подскажите, пожалуйста, как можно выгрузить только объекты из моей таблицы или регистра сведений, при этом используя уже написанные правила конвертации? |
|||
1
MaxS
23.02.19
✎
15:28
|
В УТ 10.3 уже есть планы обмена с нужным функционалом. Зачем изобретать велосипед?
На узел обмена с БП 3.0 подгрузить свои правила, в конфигураторе включить в состав плана обмена и в подписки недостающие документы и справочники и всё. |
|||
2
Mikhail Volkov
23.02.19
✎
15:33
|
(0) > Было решено организовать односторонний обмен данными из УТ 10.3 в УТ 11.4, раз в сутки, в конце рабочего дня.
> Собственно работает оно очень медленно, что не удивительно. Ночи не хватает? |
|||
3
daylight
23.02.19
✎
15:47
|
(2) Нет, не хватает. Объемы большие. Да и не нравится мне сам подход. Делать обход всех объектов чтобы выгрузить их небольшую часть. У меня ведь есть уже все необходимые ссылки.
|
|||
4
daylight
23.02.19
✎
15:49
|
(1) С планами обмена не сталкивался. Сейчас отдельно изучаю. Немного в замешательстве. А разве получится проводить обмен через план обмена с БП 3.0, если мне необходимо выгружать данные в УТ 11.4?
|
|||
5
MaxS
23.02.19
✎
15:55
|
(4) Получится. От названия ничего не зависит, это для удобства. Если задача перенести 1кг шурупов из одной комнаты в другую, а у вас есть пустая коробка, на которой написано гвозди. Сможете выполнить задачу?
Правила регистрации нужно ещё проверить на предмет запретов выгрузки и добавить для новых документов такой же отбор как и для типовых. А времени может не хватать из-за повторной выгрузки ранее выгруженных справочников. |
|||
6
daylight
23.02.19
✎
15:59
|
(5) Понял. Посмотрю в этом направлении. Вопрос, все же, остается открытым. Есть таблица ссылок разных объектов. Можно ли выгрузить только их, используя уже существующие правила конвертации и выгрузки? При этом меня устраивает что паралельно будут грузиться и объекты по ссылке. Это, все равно, быстрее чемобойти все существующие объекты, делая проверку на вхождение в мою таблицу.
|
|||
7
daylight
24.02.19
✎
14:54
|
(5) С Планом обмена, пока что продвигается тяжело. + Мне нужны изменения, с учетом ат изменения, так как данные будут грузится не один раз. Просто выгрузить зарегистрированные объекты и забыть не получится.
Правила обмена через обработку "УниверсальныйОбменДаннымиXML.epf" уже есть и работают. Единственное что хочется - чтобы грузились не все данные, а только те ссылке которые я укажу. Есть идея как это реализовать? |
|||
8
daylight
24.02.19
✎
14:55
|
дат* изменения
|
|||
9
daylight
25.02.19
✎
15:15
|
Посмотрел код обработки УниверсальныйОбменДаннымиXML, в той части где накладываются типовые отборы. В теории туда можно передать мои ссылки, если грамотно определить тип объекта, который будет выгружаться... Остается вопрос с веткой: "Произвольный алгоритм"... На него отборы не накладываются. Видимо для произвольных алгоритмов прийдется накладывать отборы в самих правилах выгрузки.
Есть еще какие то идеи по решению этой задачи? |
|||
10
OldCondom
25.02.19
✎
15:23
|
Сколько времени на реализацию? неделя есть? Ищи все по планам обмена.
К слову, я в свое время до них не дошел, все грузилось монстром вроде твоего. А зря. Сейчас вот думаю заняться. Коллеги из другого цеха все делали гораздо быстрее при помощи обменов, ну а я... допиливал то, что мне досталось. Так что вперед к новым знаниям. |
|||
11
daylight
25.02.19
✎
15:59
|
(10) Времени "сегодня-завтра". Проблема в том, что правила есть. Работают как надо. Все что надо это наложить произвольный фильтр на выборку данных. Осваивать новые знания никто не отказывается... Уже разбираюсь с планами обмена... Но это полноценная реализация переноса, тогда как в текущей задаче надо сделать доработку...
Я не гуру в конвертации данных. На редактирование готовых правил меня хватило вполне.. И я понимаю что где то должен быть функционал отбора по выгружаемым данным, просто нужно его найти... Вот и жду, когда подключится к обсуждению, человек который подобное уже проходил. |
|||
12
OldCondom
25.02.19
✎
16:20
|
Ну так возьми типовую выгрузка/загрузка xml и посмотри, как там отбор работает. У меня была обработка на подобии.
|
|||
13
OldCondom
25.02.19
✎
16:22
|
Погоди, так ты ей и выгружаешь. Смотри код обработки, лол.
|
|||
14
Ёпрст
25.02.19
✎
16:28
|
(9) по уму использовать планОбмена с зарегистрированными изменениями и выгружать по своим правилам.
Хочется изврата, ну напиши в правилах нужное ПВД и выгружай через свою УниверсальныйОбменДаннымиXML |
|||
15
daylight
25.02.19
✎
16:44
|
(14) Попробую написать свое ПВД. Потом активнее займусь планами обмена.
|
|||
16
MaxS
25.02.19
✎
16:52
|
Сходу не понял и нет времени вникать в хитрые отборы. Не поёму чем не подходят правила регистрации. Туда можно засунуть свои отборы любой степени сложности и регистрировать объект или нет. А правила обмена пусть занимаются тем, чем положено - конвертируют данные.
|
|||
17
Ёпрст
25.02.19
✎
16:55
|
(16) автор выгружает не через план обмена, а через УниверсальныйОбменДаннымиXML
|
|||
18
MaxS
25.02.19
✎
17:03
|
(17) Это понятно, что используется неподходящий инструмент для периодического автоматического обмена.
Непонятно чем типовой механизм через планы обмена не подходит. Не успел/не смог разобраться? Если в этом причина, то найти того, кто предложенное ТС уже проходил почти нереально, т.к. задача вероятно решается типовыми механизмами. Может быть я не прав. |
|||
19
daylight
25.02.19
✎
17:50
|
(18) Вы абсолютно правы, в том что план обмена будет лучшим решением. В ветке я не описывал все организационные нюансы, дабы не перегружать людей лишней информацией...
У нас очень сильно переработанная УТ 10.3. Переезжаем на УТ 11. В данный момент надо быстро перелить данные по типовым объектам, чтобы менеджеры могли разбираться с новым функционалом УТ 11. Я, как разработчик, буду заниматься переносом наших наработок, без которых рабочий проект УТ 11, не взлетит. Собственно на этом этапе без разницы как переливать информацию, просто она должна обновляться. Правила я взял "готовые". Конечно они не заработали, даже для типовых объектов. Но их исправление заняло пару часов. Сейчас вопрос таков: добавить фильтр, что бы переливать данные используя УниверсальныйОбменДаннымиXML или разобраться с планами обменов. Что быстрее - для меня не очевидно... Я пошел путем добавления фильтра, так как, в моем понимании, это задача должна как то не сложно решаться. Возможно я ошибся и в Конвертации данных нет подобной возможности. |
|||
20
daylight
25.02.19
✎
18:13
|
(14) Относительно изврата со своим ПВД... Посмотрел я в эту сторону... Есть вопрос. Если я выберу способ выборки "Произвольный алгоритм" и буду, просто грузить объекты из своего регистра... Регистр простой структуры: ССылка и ДатаМодификации, где Ссылка - это любой ссылочный объект, а ДатаМодификации - дата, когда он изменялся последний раз.
Могу ли я не выбирать изначально правило конвертации, а как, то подставлять соответствующее правило конвертации, в зависимости от вида выгружаемого, в данный момент объекта? То есть выгружается элемент номенклатуры - программно подставляю правило конвертации для номенклатуры, если документ поступление товаров - то программно подставляю правило конвертации для него... Можно ли так как то сделать? |
|||
21
OldCondom
25.02.19
✎
18:15
|
ВыгрузитьПОПравилу()
|
|||
22
daylight
25.02.19
✎
18:23
|
(21) Спасибо, сейчас посмотрю в эту сторону...
|
|||
23
Mikhail Volkov
25.02.19
✎
18:32
|
(19) > Я пошел путем добавления фильтра, так как, в моем понимании, это задача должна как то не сложно решаться. Возможно я ошибся и в Конвертации данных нет подобной возможности.
При чем здесь КД? Фильтры куда ставишь, в УниверсальныйОбменДаннымиXML... В свое время была такая задача: передавать в УниверсальныйОбменДаннымиXML список ссылок на документы, и по этому списку выгружать. На нашел простого решения. Если найдешь, поделись... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |