|
2 ПланаОбмена - как реализовать? Ø (Фрэнки 05.02.2021 15:05) | ☑ | ||
---|---|---|---|---|
0
МишельЛагранж
04.02.21
✎
05:49
|
Нужны два обмена с разной периодичностью.
Базы две. Как реализовать два плана между двумя базами? Как? Два плана РИБ между двумя базами? Или один РИБ, второй - не-РИБ? По РИБ получается, не-РИБ - непонятно пока, как делать. Правила обмена грузить некуда, т.к. конфа отраслевая, нет механизма обработки правил обмена. Т.е. РИБ, например, пишется "вручную": в планах - регистрация, в коде - запуск. Вот тут и проблема с не-РИБ - запускаются только РИБ-планы. |
|||
8
ДенисЧ
04.02.21
✎
06:42
|
(5) (6) Есть ещё один вариант. Пригласить программиста, который хоть пару месяцев работал с обменами.
Там нет ничего сложного от слова "вообще". |
|||
9
МишельЛагранж
04.02.21
✎
06:47
|
(8) я сам программист.
А то, что с обменами в 1с все плохо - и так понятно. Кого ты советуешь все пригласить? Почему все через одно место надо реализовывать? Если делал - поделись, не делал, а только программистов приглашал - тогда это не совет) |
|||
10
ДенисЧ
04.02.21
✎
06:48
|
"я сам программист."
Врёшь. |
|||
11
МишельЛагранж
04.02.21
✎
06:48
|
>>который хоть пару месяцев работал с обменами
Я огромное количество лет работаю с обменами. Но я их не программировал, обходился РИБ и штатными средствами. А ты все программистов вызываешь) |
|||
12
ДенисЧ
04.02.21
✎
06:48
|
"Почему все через одно место надо реализовывать?"
Потому что разработчик твоей суперотраслевой конфигурации не предусмотрел возможности обменов. |
|||
13
maxipunchik
04.02.21
✎
06:49
|
Объекты в планы записывают автоматически исходя из настроек плана, а удалять можно примерно так:
ПланыОбмена.УдалитьРегистрациюИзменений(ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого); |
|||
14
ДенисЧ
04.02.21
✎
06:49
|
(11) Я? Вызываю? Во-первых я не задаю таких вопросов. А сам делаю, тем более, если "огромное количество лет работаю с обменами"
|
|||
15
SiAl-chel
04.02.21
✎
06:49
|
(0) "Нужны два обмена с разной периодичностью."
Для этой задачи достаточно одного плана обмена, хоть бы и РИБ, но с двумя настройками синхронизации. Разные планы обмена нужны, когда состав данных для миграции и списки обменивающихся баз отличаются. |
|||
16
ДенисЧ
04.02.21
✎
06:50
|
(11) (11) "Но я их не программировал, обходился штатными средствами"
Вот теперь у тебя штатных средств нет. Так что или программируй, или плати тому, кто станет программировать. |
|||
17
МишельЛагранж
04.02.21
✎
06:50
|
(10) ты сам ничего не делал, из того, что меня интересует. Только приглашаешь программистов.
У меня нет средства обработки правил обмена в конфе. Так что все твои "программисты" также останутся не у дел. |
|||
18
SiAl-chel
04.02.21
✎
06:51
|
(17) "Так что все твои "программисты" также останутся не у дел."
Программист просто добавит нужные объекты и модули из БСП. В чем проблема-то? |
|||
19
МишельЛагранж
04.02.21
✎
06:52
|
(15) каким образом задаются разные настройки синхронизации? Расписание одно. Время в коде отслеживать?
И второе - наборы данных разные. Но первый вопрос про время все равно интересен) |
|||
20
МишельЛагранж
04.02.21
✎
06:53
|
>Программист просто добавит нужные объекты и модули из БСП
Конфа не типовая от слова совсем. Какое БСП?! Да и она вообще в ОФ. |
|||
21
МишельЛагранж
04.02.21
✎
06:54
|
Тут свои модули "ОбщегоНазначения", "КлиентСервер" и прочие.
Даже если найдется какая-то старая версия БСП - все обрушит напрочь. |
|||
22
SiAl-chel
04.02.21
✎
06:55
|
(20) "Конфа не типовая от слова совсем. Какое БСП?! Да и она вообще в ОФ."
Ну тогда просто вытянет что-нибудь из УПП. (19) В БСП в настройках синхронизации у каждой настройки - свое расписание, а вот что и куда летит - за это отвечает план обмена, к которому привязана данная настройка синхронизации через узел этого плана обмена. |
|||
23
SiAl-chel
04.02.21
✎
06:56
|
(21) "Даже если найдется какая-то старая версия БСП - все обрушит напрочь."
Ну тогда только лечь и помереть. |
|||
24
МишельЛагранж
04.02.21
✎
06:56
|
Конфигурация отраслевая с абсолютно эксклюзивными модулями и объектами.
Тут не то что БСП - справочника Валюты нет. Если это о чем-то говорит) |
|||
25
МишельЛагранж
04.02.21
✎
06:59
|
(22)>В БСП в настройках синхронизации у каждой настройки - свое расписание
Это понятно) Я подумал, что что-то другое есть. Разные синхронизации можно реализовать через разные РЗ (без всякого БСП), но наборы данных - тоже разные, поэтому - нужно 2 плана обмена) |
|||
26
SiAl-chel
04.02.21
✎
06:59
|
(24) Говорит, что внедрение механизма синхронизации данных будет стоит не 20 тыров как за внедрение подсистемы БСП, а 200 тыров - как за разработку подсистемы с нуля. Можно потом отбить эти деньги, продавая эту доработку (подсистему, расширение) другим пользователям этой отраслевки.
|
|||
27
МишельЛагранж
04.02.21
✎
07:00
|
(23) ну, или нанять кучу программистов, как тут советуют, и переписать всю конфу подчистую миллионов за 20))
|
|||
28
Обработка
04.02.21
✎
07:03
|
(0) Как-то пилили самописку.
И чтоб сделать РИБ я просто взял ЖКК 2ю часть кажется и открыл раздел Планы обмена. И проштудировал главу 2-3 раза. Потом написал свой уникальный обмен как я хочу. Даже можно забить на регистрацию пусть все региться автоматом. А вот при отправке можно фильтровать как тебе благорасудится. Возьми книжку сделай как я. |
|||
29
SiAl-chel
04.02.21
✎
07:04
|
(27) Нет. Я уже написал ответ в (26)
|
|||
30
МишельЛагранж
04.02.21
✎
07:24
|
(13) это не для РИБ команда?
|
|||
31
МишельЛагранж
04.02.21
✎
07:25
|
(28) как вручную прописывать что выгружать это понятно.
Хотелось бы без этого, иначе - сотня-другая справочников и десятки документов накроют медным тазом такой код, т.к. менять придется часто. Поэтому и хотелось бы "обойтись" планом обмена. |
|||
32
Йохохо
04.02.21
✎
07:43
|
(31) уже тащишь себе УниверсальныйОбменДаннымиXML.epf?
|
|||
33
МишельЛагранж
04.02.21
✎
08:48
|
(32) зачем мне его тащить, я знаю как он работает.
Весь смысл в регистрации изменений, свой механизм ну никак писать не хочется) |
|||
34
SiAl-chel
04.02.21
✎
09:31
|
(33) Ну раз не хочется, то ...
Тогда только писать разрабам отраслевки, если у тебя лицензионное ПО, чтобы добавили планы обмена в конфигурацию. Ну и потом ждать от моря погоды: будут реализовывать твойю хотелку разрабы или не будут. |
|||
35
hhhh
04.02.21
✎
10:15
|
(31) какая конфа хоть? Сам понимаешь, что будет ржака, если обмены там всё таки есть.
|
|||
36
fisher
04.02.21
✎
10:40
|
Если отраслевая ОФ на базе какой-то типовой, то обмены там скорее всего есть. Только не БСП-ые, а их прародители.
Мне приходилось интегрировать их с БСП относительно малой кровью, но только в одностороннем порядке. Впендюривал в конфу на БСП обработку обмена из типовой на ОФ, в БСП - регистрация. Регламент - из ОФ по COM. ЗЫ. Про РИБ и не РИБ я не очень понял. РИБ (если речь про одноименную галку в плане обмена) возможен только для идентичных конфигураций. |
|||
37
mistеr
04.02.21
✎
10:58
|
(33) Чтобы использовать механизм регистрации, придется написать механизм использования механизма регистрации. :)
Механизмы платформы они низкоуровневые, а высокоуровневый код весь в БСП. Так что "халявы" не выйдет. Ты, по-моему, уже понял это, только не хочешь принять. |
|||
38
МишельЛагранж
04.02.21
✎
11:06
|
(36)>Если отраслевая ОФ на базе какой-то типовой
нетиповая от слова "совсем" )) Полностью отраслевая от франча. Обмены есть, но только как объекты, никакой "обвязки" (параметры, синхронизация, консоль регистрации, расписание, обработка правил обмена и т.д.) к ним нет и в помине. >Про РИБ и не РИБ я не очень понял не-РИБ - это обмен через Планы, но без галки "РИБ". Обмен РИБ - уже с галкой "РИБ", |
|||
39
МишельЛагранж
04.02.21
✎
11:08
|
37)>Чтобы использовать механизм регистрации, придется написать механизм использования механизма регистрации
В случае, если объекты "ПланыОбмена" есть в конфе, ничего писать не надо из "механизм использования механизма регистрации" (регистры регистрации изменений, их пользование) - как вы правильно заметили, все "в платформе" (на "низком уровне", по-вашему :)) |
|||
40
МишельЛагранж
04.02.21
✎
11:10
|
+(38) обмены представлены только как объекты "ПланыОбмена". И все, что прилагается к ПланамОбмена.
Больше там ничего нет. |
|||
41
fisher
04.02.21
✎
11:10
|
(38) Я так и не понял главного - вам нужен обмен между базами с одинаковой конфигурацией или разными?
|
|||
42
МишельЛагранж
04.02.21
✎
11:18
|
(41) и тот, и другой.
РИБ с обновлением конфы работает, обмен прописан вручную. А вот не-РИБ чет как-то ругается на команды для РИБ. Походу как XML там все надо разобрать, но для ПланаОбмена. Пример просто нужен, как в не-РИБ по ПланамОбмена совместно запись и чтение XML ваяют. |
|||
43
fisher
04.02.21
✎
11:19
|
(38) Если между одинаковыми, то по-идее должно получиться настроить два плана обмена в режиме РИБ. Правда, я так никогда не делал.
Авторегистрацию отключить, регистрацию делать по подпискам. Тогда можно будет полностью контролировать обмен - например видеть, от какого узла какого плана обмена идет запись при обмене и решать - нужно ли выполнять регистрацию для другого плана обмена (исключать циклическую регистрацию). (42) Примеры есть в проф-разработке в разделе, посвященном планам обмена. |
|||
44
МишельЛагранж
04.02.21
✎
11:26
|
(43)>то по-идее должно получиться настроить два плана обмена в режиме РИБ
Нет, потому что эта идея полностью противоречит 1С:РИБ-идеологии - главным может быть назначен только один узел только одного обмена) >Авторегистрацию отключить, регистрацию делать по подпискам РИБ изначально работать не будет с двумя главными узлами в одной базе. >Примеры есть в проф-разработке в разделе Это большой талмуд или маленький, который Хрусталевой? |
|||
45
fisher
04.02.21
✎
11:32
|
(44) > главным может быть назначен только один узел только одного обмена
Это точно? Попробовал - дает галку поставить в разных планах обмена. > Это большой талмуд или маленький, который Хрусталевой? Большой. Хотя, в Хрусталевой по обменам тоже скорее всего есть. Просто я эту книгу не читал. Если конфы реально разные, то основная проблема - сериализацию, десериализацию и конвертацию придется писать вручную. Эдакие ПКО на коленке плюс XDTO. Хотя встречал и жутковатые варианты, когда использовалась стандартная сериализация, а при загрузке результат подшаманивался под приемник. |
|||
46
fisher
04.02.21
✎
11:35
|
Скорее всего ты прав. ГлавныйУзел() же один на все планы обмена. Забыл уже.
|
|||
47
Ёпрст
04.02.21
✎
11:53
|
(0) ну у нас так, по рибу летят только документы и движуха, причем в центре их нельзя править, а по плану обмена по правилам - всё остальное - справочники/рс. Что в этом плане обмена, можно править только в центре.
Таким образом, справочники и прочий мусор заводят в центре, сами доки в перефирийках. Как-то так. ЗЫ: а тебе нахрена 2 риба ? |
|||
48
Serg_1960
04.02.21
✎
12:33
|
Ориентируясь на:
"БСП в этой отраслевке отродясь не было." "РИБ с обновлением конфы работает, обмен прописан вручную", и отвечая на: "каким образом задаются разные настройки синхронизации? Расписание одно. Время в коде отслеживать? И второе - наборы данных разные", предлагаю: - разные "расписания" обменов легко реализовать на уровне ОС (планировщик задач), регламентными заданиями (удобнее, если клиент-сервер) и т.д. - "различные наборы данных" реализуется програмно на уровне узлов РИБ (различные узлы обмениваются различными наборами данных). PS: "Я огромное количество лет работаю с обменами... весь смысл в регистрации изменений, свой механизм ну никак писать не хочется " - а чего там сложного? Всё легко и быстро реализуется "с нуля" на любой конфигурации без БСП, используя механизм РИБ-обмена платформы. |
|||
49
МишельЛагранж
04.02.21
✎
21:49
|
(47) два РИБа и не получатся никак между двумя базами
|
|||
50
МишельЛагранж
04.02.21
✎
21:50
|
(48)> используя механизм РИБ-обмена платформы.
Да, только никто толком сказать не может, как именно реализуется) |
|||
51
Гений 1С
гуру
04.02.21
✎
21:58
|
(0) (50) офигенная постановка задачи. я ничего не понял.
|
|||
52
Гений 1С
гуру
04.02.21
✎
22:00
|
(0) напиши через веб-сервисы, дешево и сердито. я делал так обмены физлицами, их заводили на двух точках
|
|||
53
Фрэнки
04.02.21
✎
23:37
|
(50) я могу рассказать. Только это в таком режиме будет слишком трудоемко. И затратно по времени. А потому будет неэффективно и неинтересно никому.
Опыт есть. Один риб, два риб, да хоть десять риб - технологически ограничения нет. А сколько нужно в реальности - одного риб хватит. Синхронизация только системно-значимой информации и изменений конфигурации. Расширения тоже можно в риб, но пока еще рано, имхо. Все остальные данные внутрь РИБ заталкивать будет вредно, а не полезно. Но повторюсь, что наличие нескольких РИБ технология обеспечивает. Не нужно, но обеспечивает. |
|||
54
Фрэнки
04.02.21
✎
23:43
|
Другой вопрос, которого нет в топике - не заданы условия.
РИБ на средствах платформы для самописки какой-то или это должно быть на более-менее актуальной версии БСП и относительно свежей типовой или отраслевой. Поверх БСП писать более трудоемко/затратно , т.к. не обойтись без глубокой проработки правил, если есть желание использования именно правил , причем, не правил обмена, а правил _регистрации_ |
|||
55
МишельЛагранж
05.02.21
✎
13:06
|
(51) нужна регистрация изменений, причем тут веб-сервисы)
|
|||
56
МишельЛагранж
05.02.21
✎
13:07
|
(52) статьи с нормальным кодом, как обменивался по веб-сервисам, нет? Нет. Значит, не верим, не делал)
|
|||
57
МишельЛагранж
05.02.21
✎
13:09
|
(53)>>Один риб, два риб, да хоть десять риб - технологически ограничения нет.
Так-то более одного РИБ между двумя базами сделать невозможно. >>Не нужно, но обеспечивает. каким образом обеспечивает? |
|||
58
ДенисЧ
05.02.21
✎
13:10
|
(57) Кто сказал, что невозможно?
|
|||
59
Фрэнки
05.02.21
✎
13:12
|
(56) да и пох, что мне не веришь. Проехали.
Ищи ответы в статьях. Авось кому-то за такие статьи заплатят... Времени на написание такого займет очень много. И мало того, актуальность подобной писанины будет быстро утеряна. |
|||
60
МишельЛагранж
05.02.21
✎
13:12
|
(54) условия заданы - обмен не-РИБ сделать на ПланахОбмена.
>>РИБ на средствах платформы Нет тут никаких средств, ни механизма обмена, ни БСП) Только ПланыОбмена как объекты. >> а правил _регистрации_ Некуда совать правила регистрации - некому их читать в конфе, нужно писать механизм обработки правил. |
|||
61
МишельЛагранж
05.02.21
✎
13:12
|
(58)как?
|
|||
62
ДенисЧ
05.02.21
✎
13:13
|
(61) Каком кверху. Ты попробуй.
|
|||
63
МишельЛагранж
05.02.21
✎
13:13
|
(59) т.е. ты сам не делал, а говоришь?
Как два РИБ сделать между двумя базами - сам не знаешь, но пишешь, что "тебе пох, но можно"?) Отличный ответ. |
|||
64
МишельЛагранж
05.02.21
✎
13:14
|
(59) ты хоть тезисы напиши, причем тут "времени на написание такого займет очень много".
|
|||
66
МишельЛагранж
05.02.21
✎
13:15
|
(62) что попробовать? РИБ сделать? Он работает.
|
|||
67
Фрэнки
05.02.21
✎
13:16
|
Знаешь, мне что-то не хочется.
Принцип я выше озвучил. |
|||
68
ДенисЧ
05.02.21
✎
13:17
|
(66) Два риба. С разными данными.
|
|||
69
МишельЛагранж
05.02.21
✎
13:18
|
(54)>>т.к. не обойтись без глубокой проработки правил
нет никаких правил, тут вообще нет типового механизма работы с ПланамиОбмена. Только сами Планы. |
|||
70
МишельЛагранж
05.02.21
✎
13:19
|
(68) каким образом делаешь два РИБ только между двумя базами? Как прописываешь второй главный узел в периферийной базе?
Ты, походу, просто вообще не вкуриваешь, о чем речь) |
|||
71
ДенисЧ
05.02.21
✎
13:23
|
(70) Зачем нужны два риба между двумя базами? "Ты, просто вообще не вкуриваешь", о чём говоришь.
Начитался умных слов, теперь, как козырями в подкидном, кидаешься. |
|||
72
программистище
05.02.21
✎
13:24
|
т.е. суть темы как реализовать типовыми средствами в нетиповой конфигурации?
как сказали выше, нанять программиста |
|||
73
МишельЛагранж
05.02.21
✎
13:44
|
(72)>>т.е. суть темы как реализовать типовыми средствами в нетиповой конфигурации?
суть темы - что никто из отписавшихся ничего подобного не делал) >>как сказали выше, нанять программиста какой же ты "программист", если не можешь даже сказать, как делал? Значит, не программист. Или не делал. |
|||
74
МишельЛагранж
05.02.21
✎
13:51
|
(72) а так, да, совет очень остроумный, нетиповой, и смешной.
|
|||
75
МишельЛагранж
05.02.21
✎
13:54
|
(71) я понимаю, что для тебя - это умные слова.
Я тебя конкретно спрашиваю - как два главных узла назначить в одной базе? Раз ты изначально пишешь - нет проблем, кверху, все на раз, сам программирую. Вот и ответь - как два РИБа подцепляешь к одной периферийной базе. |
|||
76
МишельЛагранж
05.02.21
✎
13:57
|
(71)>>Зачем нужны два риба между двумя базами?
Да, зачем. Нужны не "два РИБа", а юзанье ПланыОбмена, и два обмена с разными данными между двумя базами. Потому и встал вопрос - как не-РИБ сделать, где уже РИБ есть. А тут пошло-поехало в обычном примитивном ключе "делай РИБ и не парься", "два РИБа как об асфальт" и прочие шалости. |
|||
77
ДенисЧ
05.02.21
✎
13:59
|
"как не-РИБ сделать, где уже РИБ есть"
С этого и начинать надо. РИБ есть или нет - это дело даже не 10е. Делаешь ещё два плана обмена. Настраиваешь в них состав объектов. Пишешь процедуры выгрузки (если уж не хочешь взять готовые из типовых). В процедурах - получаешь изменения по нужному плану, отправляешь получателю. В получателе читаешь, отправляешь квиток. В отправителе при получении квитка очищаешь до нужного номера. Всё. |
|||
78
программистище
05.02.21
✎
14:00
|
(75) товарщ, Вы сюда пришли претензии предъявлять или вежливо помощи попросить
и правильная постановка задачи - половина ее решения Что требуется, какие средства уже есть, какова компетенция в текущих средствах и возможности реализовать новые А так создаешь новый план в конфигураторе, создаешь свою систему отбора по регистрации объектов, пишешь модуль по выгрузке (выбраф формат файлов), создаешь регламентное задание по обмену и вуаля у тебя обмен |
|||
79
МишельЛагранж
05.02.21
✎
14:07
|
(78)>>и вуаля у тебя обмен
Так вот, товарищ, чтобы вам "не приходили претензии предъявлять", сразу в шапке темы сказано, что к обмену РИБ - нужен еще один, не-РИБ, и который не работает с методами РИБ. Два обмена - РИБ и не-РИБ, оба - на ПланахОбмена, к слову, раз вы заявляете, что вы "программист" и "вуаля". |
|||
80
Обработка
05.02.21
✎
14:09
|
Я правда не пробовал делать между двумя базами 2 риба.
Но думаю это возможно. Просто для второго риба не будет создание начального образа. А вместо этого грамотно засинхронить по номеру сообщения и все. Я правильно думаю народ ? |
|||
81
Обработка
05.02.21
✎
14:11
|
(79) Да пробуй чем тут критиковать ответы.
Создай новую базу с двумя справочниками и с двумя планами обмена. Потренируйся на зайчиках. Даже Никулин на зайчиках тренировался. (с) Операция "Ы" |
|||
82
МишельЛагранж
05.02.21
✎
14:14
|
(77)>>(если уж не хочешь взять готовые из типовых).
я ж тебе неоднократно говорил, что их просто нет, и тянуть всю типовую или терть от неё (БСП) в эту отраслевку - это переписать её полностью. >>В процедурах - получаешь изменения по нужному плану, отправляешь получателю. опять же, писал: не работают методы РИБ, когда узлы - не из РИБ. У 1С так, понимаешь? ПланыОбменов едины, а методы ЗаписатьИзменения и ПрочитатьИзменения - работают только на галочку "РИБ", и фих разберешь по справке, если без галочки нужно прочитать и изменить. Вот тебе как программист - непрограммисту расписал уже, раз ты никак не поймешь тему. |
|||
83
МишельЛагранж
05.02.21
✎
14:17
|
(80)>>Просто для второго риба не будет создание начального образа.
тогда это не будет уже РИБ) Без образа - не создадите периферийку. А тут так и вообще два обмена РИБ (а так-то вопрос про РИБ и не-РИБ был) - между ТОЛЬКО двумя базами. Две базы. А не три и больше. Нет других баз. Сколько уже можно писать) >>А вместо этого грамотно засинхронить по номеру сообщения и все. Поэтому, без создания перифейрийки, "засинхронить" в РИБ ничего не получится - ни "грамонтно", ни "неграмотно") |
|||
84
ДенисЧ
05.02.21
✎
14:18
|
(82) а зачем ты работаешь методами риб с нериб-узлами?
Ты настолько некомпетентен? |
|||
85
МишельЛагранж
05.02.21
✎
14:19
|
(81)>>Создай новую базу с двумя справочниками и с двумя планами обмена
-> (66) "что попробовать? РИБ сделать? Он работает." (с) не Никулин. |
|||
86
МишельЛагранж
05.02.21
✎
14:23
|
(84) компетентный ты мой, мне нужен обмен через ПланОбмена. РИБ уже работает.
Нужен второй. ВТОРОЙ. Два обмена - к одной периферийке. Ты понимаешь, наконец?) Два РИБа - это уже ты, и твои сотоварищи по такому совету тут насоветовали. И "как нечего делать". |
|||
87
ДенисЧ
05.02.21
✎
14:25
|
(86) Точно некомпетентен...
В чём проблема? Создать второй план обмена? Зарегистрировать в нём изменения? Получить зарегистрированные изменения? Выгрузить изменённые объекты в файл? Давай по пунктам, в каком месте что у тебя не получается. |
|||
88
МишельЛагранж
05.02.21
✎
14:33
|
(87)>>Точно некомпетентен...
зато ты сверхкомпетентен настолько, что даже не читаешь (или на самом деле не понимаешь в виду своей сверхкомпетентности) написанного: >>Давай по пунктам, в каком месте что у тебя не получается ->(82) "ПланыОбменов едины, а методы ЗаписатьИзменения и ПрочитатьИзменения - работают только на галочку "РИБ"" |
|||
89
Обработка
05.02.21
✎
14:35
|
Давайте по полочкам.
Есть База А Это ЦБ Есть БАза Б это ПБ. Есть них План обмена РИБ назовем его "полная" Нужен автору еще один обмен отличный от состава "Полная" От ЦБ к БП! Так? |
|||
90
ДенисЧ
05.02.21
✎
14:36
|
(88) А зачем тебе ЗаписатьИзменения ? Это рибовский метод.
Используй ПрочитатьИзменения и ручную выгрузку в файл. |
|||
91
МишельЛагранж
05.02.21
✎
14:36
|
Тебе непонятны методы ПлановОбмена 1С? Или непонятен контекст использования?
|
|||
92
МишельЛагранж
05.02.21
✎
14:39
|
(90)>>Используй ПрочитатьИзменения и ручную выгрузку в файл.
ПрочитатьИзменения - это тоже метод РИБ. А выгрузка в xml и так полуручная в РИБ, почему и проблема - увязать изменения ПланОбмена с выгрузкой в xml, т.к. РИБ-метобы не работают без галочки. |
|||
93
ДенисЧ
05.02.21
✎
14:39
|
(92) "ПрочитатьИзменения - это тоже метод РИБ"
... как троцкий. |
|||
94
МишельЛагранж
05.02.21
✎
14:40
|
(89), да, еще один план обмена от ГУ -> ПУ. ЦБ -> ПБ
|
|||
95
Обработка
05.02.21
✎
14:41
|
Автору сказали.
1. Сделай второй план обмена не риб 2. Сделай второй план обмена то есть второй РИб к той же базе. Автор отвечает первый пункт сложен. А второй пункт не возможен. Так вот Второй пункт возможен?? Мне это очень интересно. Я понимаю РИб это звезда или снежинка. Но ведь есть возможность ветку зведы сделать сдвоенной так? Или обратной. Тут без танцов с бубном нельзя вроде. |
|||
96
МишельЛагранж
05.02.21
✎
14:41
|
(93) это не я придумал, это 1С так представляет программирование.
так что идиот тут не я) |
|||
97
Фрэнки
05.02.21
✎
14:42
|
(91) Всем понятно, что ты не разобрался с тем, что предлагает платформа и что об этом написано в синтакс-помошнике.
Есть наборка предопределенных событий, которые работают/замещены в модулях Плана обмена. Часть этих событий привязаны к РИБ. И они не ловят ничего, если это неРИБ Другая часть - это события для неРИБ и они не реагируют, когда работает РИБ. И там же методы расписаны. Они есть в СП. Методы в РИБ и не РИБ там не полностью совпадают друг с другом. Немного по разному пишется код и разбор зарегистрированных при создании пакета.. з.ы. А статью я один хрен ни писать, ни искать для тебя не буду. |
|||
98
МишельЛагранж
05.02.21
✎
14:44
|
(95)>>Так вот Второй пункт возможен??
невозможен, см. (75) Остальные не знают и этого) |
|||
99
программистище
05.02.21
✎
14:45
|
Синтаксис помощник:
ПланыОбменаМенеджер (ExchangePlansManager) ВыбратьИзменения (SelectChanges) Синтаксис: ВыбратьИзменения(<Узел>, <НомерСообщения>, <ФильтрВыборки>) Параметры: <Узел> (обязательный) Тип: ПланОбменаСсылка.<Имя плана обмена>. Узел, для передачи в который отбираются изменения. <НомерСообщения> (обязательный) Тип: Число. Номер сообщения обмена данными, в который будут помещены выбранные изменения. <ФильтрВыборки> (необязательный) Тип: Неопределено, ОбъектМетаданных: Куб, ОбъектМетаданных: ТаблицаИзмерения, ОбъектМетаданных: ВнешнийИсточникДанных, ОбъектМетаданных: Поле, ОбъектМетаданных: Таблица, ОбъектМетаданных: HTTPСервис, ОбъектМетаданных: Функция, ОбъектМетаданных: ШаблонURLHTTPСервиса, ОбъектМетаданных: ОпределяемыйТип, ОбъектМетаданных: ПланВидовРасчета, ОбъектМетаданных: ПланСчетов, ОбъектМетаданных: БизнесПроцесс, ОбъектМетаданных: Документ, ОбъектМетаданных: ЖурналДокументов, ОбъектМетаданных: Задача, ОбъектМетаданных: ПланВидовХарактеристик, ОбъектМетаданных: ПланОбмена, ОбъектМетаданных: РегистрБухгалтерии, ОбъектМетаданных: РегистрНакопления, ОбъектМетаданных: РегистрРасчета, ОбъектМетаданных: РегистрСведений, ОбъектМетаданных: Справочник, ОбъектМетаданных: ФункциональнаяОпция, ОбъектМетаданных: ПараметрФункциональныхОпций, ОбъектМетаданных: Команда, ОбъектМетаданных: ГруппаКоманд, ОбъектМетаданных: ХранилищеНастроек, ОбъектМетаданных: ОбщаяКоманда, ОбъектМетаданных: WebСервис, ОбъектМетаданных: WSСсылка, ОбъектМетаданных: Интерфейс, ОбъектМетаданных: Константа, ОбъектМетаданных: КритерийОтбора, ОбъектМетаданных: Нумератор, ОбъектМетаданных: Обработка, ОбъектМетаданных: ОбщаяКартинка, ОбъектМетаданных: Макет, ОбъектМетаданных: ОбщийМодуль, ОбъектМетаданных: Форма , ОбъектМетаданных: Стиль, ОбъектМетаданных: Язык, ОбъектМетаданных: Отчет, ОбъектМетаданных: ПакетXDTO, ОбъектМетаданных: ПараметрСеанса, ОбъектМетаданных: Перечисление, ОбъектМетаданных: ПодпискаНаСобытие, ОбъектМетаданных: Подсистема, ОбъектМетаданных: Последовательность, ОбъектМетаданных: РегламентноеЗадание, ОбъектМетаданных: Роль, ОбъектМетаданных: ЭлементСтиля, ОбъектМетаданных: Графа, ОбъектМетаданных: Измерение, ОбъектМетаданных: ЗначениеПеречисления, ОбъектМетаданных: ОперацияWebСервиса, ОбъектМетаданных: Перерасчет, ОбъектМетаданных: ПараметрWebСервиса, ОбъектМетаданных: ПризнакУчетаПланаСчетов, ОбъектМетаданных: ПризнакУчетаСубконтоПланаСчетов, ОбъектМетаданных: Реквизит, ОбъектМетаданных: ТабличнаяЧасть, ОбъектМетаданных: Ресурс, ОбъектМетаданных: РеквизитАдресации, ОбъектМетаданных: ОбщийРеквизит, СсылкаНаОбъект, НаборЗаписей, Массив. Неопределено - фильтр пуст, выбираются все изменения по узлу; ОбъектМетаданных - выбираются изменения в основной таблице, связанной с данным объектом метаданных; СсылкаНаОбъект - фактически, может быть выбрана только одна запись об изменении данного объекта, либо ни одной, если объект не менялся; НаборЗаписей - набор записей регистра, может быть не выбран, для фильтрации изменений используется лишь отбор набора записей; Массив - все элементы массива имеют один из перечисленных выше типов, кроме Неопределено. Условия фильтрации соединяются по ИЛИ. Значение по умолчанию: Неопределено. Возвращаемое значение: Тип: ВыборкаДанных. Описание: Формирует выборку измененные данные для передачи их в тот или иной узел плана обмена. При этом в процессе выборки изменений в записи регистрации изменений проставляется номер сообщения обмена данными, в котором должны передаваться изменения. Номер сообщения в записи регистрации проставляется для того, чтобы при подтверждении приема сообщения, в котором передавались изменения соответствующие записи регистрации изменений были удалены и в дальнейшем изменения больше не передавались. Доступность: Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер). Пример: ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); Запись = Новый ЗаписьXML; Запись.ОткрытьФайл(ИмяФайла); ЗаписьСообщения.НачатьЗапись(Запись, Узел); Выб = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения); Пока Выб.Следующий() Цикл Объект = Выб.Получить(); ЗаписатьXML(Запись, Объект); КонецЦикла; ЗаписьСообщения.ЗакончитьЗапись(); Запись.Закрыть(); Использование в версии: Доступен, начиная с версии 8.0. |
|||
100
МишельЛагранж
05.02.21
✎
14:50
|
(97) наверняка и есть. Только ты - нихрена не делал подобного, поэтому "А статью я один хрен ни писать, ни искать для тебя не буду."
В СП же ничего нет по разделению на РИб и не-РИБ, там просто перечисление команд (если ты не знал и СП не читал), а вот в какой последовательности и с чем их употреблять - это отдельно где-то присутствует. >>Немного по разному пишется код и разбор зарегистрированных при создании пакета.. ну, слушай, ты не делал) Именно, что "по-другому" (разбери еще как), а вот регистрация она едина - в РС Изменения, и получается из узла, а не из методов ЗаписатьИзменения и ПрочитатьИзменения, почему и делается второй не-РИБ обмен. |
|||
101
Обработка
05.02.21
✎
14:51
|
(98) Вот базу создал для тебя простую...
Опровеhжение (75) === >>>> https://yadi.sk/d/Gg489Ed-KylYIQ |
|||
102
МишельЛагранж
05.02.21
✎
14:52
|
(99) вот это уже по делу.
Примеров только не было в инете до последнего момента. Столько искал, все про РИБ попадалось. |
|||
103
МишельЛагранж
05.02.21
✎
14:54
|
(101) ну, знаешь, мне и смотреть не надо - скажи только, как два главных узла назначил в одной базе?
И никаких "опровержений" и баз не нужно... |
|||
104
ДенисЧ
05.02.21
✎
14:59
|
"Примеров только не было"
Сколько раз этому человеку (ладно, пока будем называть его так) говорили "посмотри в типовых". А он упирался... |
|||
105
МишельЛагранж
05.02.21
✎
15:02
|
Вот и в реальности для всех нас теперь появился нормальный пример работы не-РИБ обмена (ПланОбмена без РИБ).
функция записи сообщения: Процедура ЗаписатьСообщения() Экспорт // Сформировать имя временного файла ИмяФайла = КаталогВременныхФайлов() + ?(Прав(Каталог, 1) = "\","", "\") + "Message-" + СокрЛП(ПланыОбмена.Филиалы.ЭтотУзел().Код) + "-" + СокрЛП(Ссылка.Код) + ".xml"; // Создать объект записи XML // *** ЗаписьXML-документов ЗаписьXML = Новый ЗаписьXML(); ЗаписьXML.ОткрытьФайл(ИмяФайла); ЗаписьXML.ЗаписатьОбъявлениеXML(); // *** Инфраструктура сообщений ЗаписьСообщения = ПланыОбмена.СоздатьЗаписьСообщения(); ЗаписьСообщения.НачатьЗапись(ЗаписьXML, Ссылка); // Получить выборку измененных данных // *** Механизм регистрации изменений ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения( ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения ); Пока ВыборкаИзменений.Следующий() Цикл // Записать данные в сообщение *** XML-сериализация ЗаписатьXML(ЗаписьXML, ВыборкаИзменений.Получить()); КонецЦикла; ЗаписьСообщения.ЗакончитьЗапись(); ЗаписьXML.Закрыть(); КонецПроцедуры //функция чтения сообщения: Процедура ПрочитатьСообщение() Экспорт // Сформировать имя файла ИмяФайла = КаталогВременныхФайлов() + ?(Прав(Каталог, 1) = "\", "", "\") + "Message-" + СокрЛП(Ссылка.Код) + "-" + СокрЛП(ПланыОбмена.Филиалы.ЭтотУзел().Код) + ".xml"; Файл = Новый Файл(ИмяФайла); Если Не Файл.Существует() Тогда Возврат; КонецЕсли; // *** Чтение документов XML // Попытаться открыть файл ЧтениеXML = Новый ЧтениеXML(); Попытка ЧтениеXML.ОткрытьФайл(ИмяФайла); Исключение Возврат; КонецПопытки; // Загрузить из найденного файла // *** Инфраструктура сообщений ЧтениеСообщения = ПланыОбмена.СоздатьЧтениеСообщения(); // Читать заголовок сообщения обмена данными – файла XML ЧтениеСообщения.НачатьЧтение(ЧтениеXML); // Удаляем регистрацию изменений для узла отправителя сообщения. // *** Служба регистрации изменений ПланыОбмена.УдалитьРегистрациюИзменений( ЧтениеСообщения.Отправитель, ЧтениеСообщения.НомерПринятого ); // Читаем данные из сообщения *** XML-сериализация Пока ВозможностьЧтенияXML(ЧтениеXML) Цикл // Читаем очередное значение Данные = ПрочитатьXML(ЧтениеXML); // Записать полученные данные Данные.ОбменДанными.Отправитель = ЧтениеСообщения.Отправитель; Данные.ОбменДанными.Загрузка = Истина; Данные.Записать(); КонецЦикла; ЧтениеСообщения.ЗакончитьЧтение(); ЧтениеXML.Закрыть(); УдалитьФайлы(ИмяФайла); КонецПроцедуры Статья с полным примером и адекватным объяснением тут: https://tokmakov.msk.ru/articles/item/21 |
|||
106
МишельЛагранж
05.02.21
✎
15:04
|
(104) >> говорили "посмотри в типовых"
ты сам смотрел? нет. Делал? нет. Знал как? - ну так делается, примерно, как в РИБ. Но поучаствовал в обсуждении) |
|||
107
Фрэнки
05.02.21
✎
15:05
|
как же ты зе.....
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |