Надоело повторное COM-соединение? Не помещается COM-объект в хранилище? Есть решение!

Публикация № 331683

Разработка - Обмен данными 1С - Перенос данных из 1C8 в 1C8

В этой статье описывается решение проблемы хранения COM-соединения, а также повторного соединения к базе каждый раз, как потребуется очередной обмен.

Итак, начнем с того, что в платформе 8.2 можно было сохранить соединение во временное хранилище. Как это делается:

л_COMОбъект=Новый COMОбъект("v82.Application");
л_АдресВХранилище=ПоместитьВоВременноеХранилище(л_COMОбъект, Новый УникальныйИдентификатор());

Ну и получать COM-объект из временного хранилища:

л_COMОбъект = ПолучитьИзВременногоХранилища(л_АдресВХранилище);

Но в платформе 8.3 возникает ошибка "Переданное значение не может быть помещено во временное хранилище".

На 8.3 во временное хранилище можно помещать только те данные, для которых поддерживается сериализация. Делается точно так же, но немного другой код:

 

л_COMОбъект = Новый COMОбъект("V83.Application");
л_Структура = Новый Структура("COMОбъект", л_COMОбъект);
л_АдресВХранилище = ПоместитьВоВременноеХранилище(л_Структура, Новый УникальныйИдентификатор());

Соответственно получаем:

л_COMОбъект = ПолучитьИзВременногоХранилища(л_АдресВХранилище).COMОбъект;

Важно: получать из хранилища только на сервере (если на сервере помещали), или аналогично на клиенте.

На этом статья заканчивается.

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. jobkostya1c8 24.02.15 07:07 Сейчас в теме
Может стоит и попробовать прием, но опасно
COM-объект в хранилище
. А вдруг опять проблема с релизом платформы?
2. karpik666 3041 24.02.15 09:13 Сейчас в теме
И такой способ реально работает?
3. ZhokhovM 411 24.02.15 09:17 Сейчас в теме
4. tormozit 6178 24.02.15 09:51 Сейчас в теме
В примере для 8.3 забыл про второй параметр метода ПоместитьВоВременноеХранилище
5. ZhokhovM 411 24.02.15 09:53 Сейчас в теме
6. kalyaka 625 24.02.15 09:56 Сейчас в теме
В 8.3 может и не сработать, см. "Особенности временного хранилища" в публикации http://infostart.ru/public/198766/
32. androgin 03.03.15 02:45 Сейчас в теме
(6) kalyaka, в 8.3 все прекрасно работает!
40. kalyaka 625 13.03.15 16:18 Сейчас в теме
(32) androgin, а если кластер состоит из нескольких рабочих серверов и произойдет переподключение с одного рабочего сервер на другой?
7. rulan87 25.02.15 11:33 Сейчас в теме
Есть другой способ: использовать модуль повторного использования, в котором получать функцией ком соединение. При первом обращении ком соединение кешируется
Sersh2010; molodoi1sneg; Bassgood; Yashazz; BigB; +5 Ответить
8. tormozit 6178 25.02.15 12:48 Сейчас в теме
(7) Через 20 мин однако это значение из кэша удаляется.
9. ZhokhovM 411 25.02.15 12:50 Сейчас в теме
10. ZhokhovM 411 25.02.15 12:55 Сейчас в теме
(7) rulan87, да, на время сеанса либо COM+.
71. Regner 20.05.19 10:53 Сейчас в теме
(7) а как потом закрывать соединение?В кэше данные хранятся 20 мин, спустя это время при повторном использовании новый сом объект создатся.
11. baton_pk 409 25.02.15 13:21 Сейчас в теме
Пилю out-of-process COM-класс для такого рода задач. Работает примерно так:
R = New ComObject("V8Pool.CacheConnector");
R.setCacheId("1");

A = R.connect("File=C:\Users\sbatanov\Documents\InfoBase12");
A.ОбщийМодуль1.SetCommonData("abababab");

R.setCacheId("2");

B = R.connect("File=C:\Users\sbatanov\Documents\InfoBase12");
B.ОбщийМодуль1.SetCommonData("dfdfdfdf");

A = Undefined;
B = Undefined;

R.setCacheId("1");
C = R.connect("File=C:\Users\sbatanov\Documents\InfoBase12");

Message(C.ОбщийМодуль1.GetCommonData()); // abababab
Показать


Мне нужно сохранять соединение между сеансами для работы веб-сервиса. По сути, разница с обычным КОМ-соединителем только в строке класса COM-объекта.
tormozit; rtnm; BigB; ZhokhovM; +4 Ответить
12. tormozit 6178 25.02.15 15:42 Сейчас в теме
(11) baton_pk, когда планируешь допилить? Что будет если два сеанса одновременно запросят один и тот же CacheId? В какой момент уничтожается объект или он работает резидентно через COM+?
13. baton_pk 409 25.02.15 16:27 Сейчас в теме
(12) tormozit,

когда планируешь допилить?

Для моих мелочных нужд оно, в принципе, уже работает. Если приводить к более-менее коробочному виду, то к концу следующей недели думал закончить.


Что будет если два сеанса одновременно запросят один и тот же CacheId?

Они получат один и тот же COM-объект. Потому у меня в качестве id используется имя пользователя, а одновременная работа двух пользователей с одним именем у меня отсекается на уровне логики приложения.


В какой момент уничтожается объект или он работает резидентно через COM+?

С этим сейчас у меня пока творческий ступор: как сделать лучше. Это COM+ (насколько я знаком с терминологией), то есть EXE-сервер. Сейчас он выключается по истечении некоторого таймаута после отключения последнего сеанса. То есть как-то так:

Первый подключился - запускается EXE-сервер.
второй-третий-...-тысячный - работают с тем же EXE-сервером и с его хранилищем 1С-соединений

как только все-все-все отсоединятся, запускается таймер-убийца (для отладки у меня 10 секунд стоит, но в боях я буду минут 10 выставлять). Если по истечении времени не было новых соединений, то EXE-сервер закрывается и закрывает все 1С-соединения. Следующее соединение уже запустит новый чистый EXE-сервер.

Не запутаться бы, где какое соединение :-)
15. tormozit 6178 25.02.15 17:06 Сейчас в теме
(13) baton_pk, про COM+ описал правильно. Твоя реализация судя по описанию не позволяет конкурентно использовать пул внешних соединений. Про ограничение количества сеансов на одного пользователя я так понял, что в случае обслуживания операции веб-сервиса сразу от нескольких клиентов только один из них получит ответ, а остальные отказ.
16. baton_pk 409 25.02.15 17:46 Сейчас в теме
(15) tormozit, Нет, у меня разные клиенты под разными пользователями входят. Соответственно, у каждого свой кэш получается.
Если тебе нужно, чтобы внутри одного сеанса хранился объект, то в качестве идентификатора кэша можно использовать имя пользователя и номер сеанса. А если всё-таки между сеансами перебрасывать, то тут либо пользователей разносить, либо какой-то механизм сессий вводить, когда ты клиенту передаёшь идентификатор при первом соединении и клиент с этим идентификатором дальше с тобой общается (типа сессий в PHP). Я пока в эту сторону думаю.
14. baton_pk 409 25.02.15 16:30 Сейчас в теме
(12) tormozit,
Что будет если два сеанса одновременно запросят один и тот же CacheId?

Тут надо ещё один момент уточнить: сопоставление идёт не CacheId => ComObject, а {CacheId, ConnectionString} => ComObject.

То есть в одном кэше два подключения к разным базам (или под разным пользователем и т.д.) - это разные объекты, разумеется.
17. rtnm 601 26.02.15 08:33 Сейчас в теме
(11) baton_pk, а замерял на сколько падает производительность при использовании V8Pool.CacheConnector? В моей реализации подобного пула (больше похожего на то что описывал tormozit - конкурентное получение соединения из пула с фиксированным размером) производительность упала в 10-20 раз. Замерял время на сортировке, т.е. на коде который совершает много мелких вызовов. Даже осознавая присутствие маршалинга, я был сильно разочарован и "заморозил" разработку.
18. baton_pk 409 26.02.15 08:41 Сейчас в теме
(17) rtnm, нет, замерами не занимался. мне просто даже в голову не пришло, что поиск соединения в пуле может быть в разы медленнее, чем создание нового соединения с Комплексной Автоматизацией.
19. rtnm 601 26.02.15 09:24 Сейчас в теме
(18) baton_pk, причем тут поиск соединения? Речь про затраты на маршалинг.
20. baton_pk 409 26.02.15 09:42 Сейчас в теме
(19) rtnm, тогда я не понимаю, что с чем надо сравнивать?
что через CacheConnector, что через родной ComConnector работа в итоге идёт через один и тот же класс внешнего соединения? Маршаллинг в любом случае присутствует.
21. rtnm 601 26.02.15 10:16 Сейчас в теме
(20) baton_pk, я, например, сравнивал скорость работы алгоритма сортировки (не помню какого точно), генерировал массив с воспроизводимыми псевдослучайными значениями, и запускал сортировку:
1. в обычной среде выполнения 1С
2. с использованием V8x.ComConnector (без учета времени подключения)
3. с использованием своей компоненты, аналог вашей V8Pool.CacheConnector (без учета времени подключения)

Так вот 3 получался медленнее 1 примерно в 10-20 раз. 2 тоже был медленнее 1, но не так сильно.
Естественно для 2 и 3 речь идет о том, что сам алгоритм сортировки располагался в базе которая подключается, а не к которой подключаются.

Маршалинг в 2 и 3 присутствует, но он разный, в случае 3 он будет межпроцессным.

Было бы интересно увидеть ваши замеры.

baton_pk; +1 Ответить
22. baton_pk 409 26.02.15 10:53 Сейчас в теме
(21) rtnm, померял.
Сделал две сортировки: одну "в лоб", одну "правильно".
В лоб разница существенная: 10 секунд против 88.
Правильно - это с сокращением количества "клиент-серверных" вызовов. Там разница 2 мс против 4 мс.

Не вижу поводов отчаиваться, при правильно построенной логике клиент-серверного взаимодействия разница в скорости будет мала.
Грубо говоря, вместо
Для Каждого КомЭлемент Из КомСписок Цикл
	КомБаза.КомОбработать(КоэмЭлемент);
КонецЦикла;

Надо делать:
КомБаза.КомОбработатьСразуСписок(КомСписок);


PS. Но разницу в маршаллинге внутри процесса и между процессами зарубил себе на носу в любом случае. Спасибо.
Прикрепленные файлы:
Обработка.Сортировка.Команда.КомандаВыполнитьСортировку.МодульКоманды.txt
Обработка.Сортировка.Команда.КомандаВыполнитьСортировкуПравильно.МодульКоманды.txt
23. rtnm 601 26.02.15 11:15 Сейчас в теме
(22) baton_pk, спасибо за замеры, появилась мысль "разморозить" разработку, найти бы только время :)

По поводу правильно построенной логике клиент-серверного взаимодействия.
Основная идея создания такой компоненты заключалась в том, чтобы не было необходимости снимать типовую конфигурацию с полной поддержки.

Например, есть типовая конфигурация на полной поддержке. Необходимо сделать для нее веб-сервис(http-сервис) со следующими ограничениями:
1. Не снимать полную поддержку с типовой конфигурации
2. Реализовать логику работы веб-сервиса(http-сервис) средствами 1С, чтобы любой разработчик 1С мог в ней разобраться (без подключения других инструментов, например, ASP.NET)
3. Получить в итоге адекватное время ответа от веб-сервиса(http-сервиса).

Кстати, еще одной причиной "заморозки" моей разработки являлась анонсированная в 8.3.6 возможность расширений, в которой я думал будет возможность, например, подключать веб-сервисы и http-сервисы, но пока этого не случилось.
24. baton_pk 409 26.02.15 11:22 Сейчас в теме
(23) rtnm,
снимать типовую конфигурацию с полной поддержки.

А если попробовать через внешнее соединение подключать внешнюю обработку и всю логику запихивать туда?
25. rtnm 601 26.02.15 11:37 Сейчас в теме
(24) baton_pk, этот вариант нужно всегда иметь на заметке. Конкретно в моем случае, я использую pool com-конектора, и обработку надо будет постоянно загружать заново, потому что она будет выгружаться при завершении соединения и помещении его в pool. В общем тут надо подумать :)
26. Yashazz 3612 26.02.15 13:16 Сейчас в теме
Мне одному кажется, что за попытку передать com-соединение на сервер надо люто минусовать этот бред?
И что эта, простигосспади, "статья" противоречит рекомендациям 1С по разработке?
27. ZhokhovM 411 26.02.15 13:44 Сейчас в теме
Мне одному кажется, что за попытку передать com-соединение на сервер надо люто минусовать этот бред?

Попробуйте создать реквизит обработки произвольного типа и хранить com-объект в нем.
28. Yashazz 3612 26.02.15 13:46 Сейчас в теме
(27) это не ответ. Сама попытка передачи COM-соединения с клиента на сервер - это грубейшая ошибка. В 8.2 защита ещё не была доведена до ума, поэтому позволяла такие хамские вольности, в 8.3 это, к счастью, пресекли.
29. ZhokhovM 411 26.02.15 14:00 Сейчас в теме
(28) Yashazz, цитирую из статьи:
Важно: получать из хранилища только на сервере (если на сервере помещали), или аналогично на клиенте.
30. Yashazz 3612 26.02.15 14:09 Сейчас в теме
А, то есть речь о работе клиент-клиент или сервер-сервер? Тогда да, согласен, нормально.
31. androgin 03.03.15 02:44 Сейчас в теме
33. ZhokhovM 411 03.03.15 09:14 Сейчас в теме
(31) androgin, псс-с. Всего-то помаленьку.
34. androgin 03.03.15 21:54 Сейчас в теме
(33) lf да ты стырил ВСЁ, только префиксы добавил.
Только мой вариант более живучий, чем твой)))
Догадайся почему))
35. ZhokhovM 411 04.03.15 10:07 Сейчас в теме
(34) androgin, ну я сперва начал искать ответы на разных сайтах, решил сделать статью и показать другу, как это работает в 8.3. Могу привести ссылки:
http://forum.infostart.ru/forum86/topic118827/
http://forum.infostart.ru/forum26/topic103575/
http://forum-mista.pro/topic.php?id=714692/
были еще ссылки...

Только мой вариант более живучий, чем твой)))
Догадайся почему))

м.б. то что на клиенте у меня не работает или нет глобальной переменной?
36. androgin 09.03.15 19:45 Сейчас в теме
(35) Если бы ты сам писал код, то имена переменных, вплоть до расстановки знаков, не были бы идентичны
37. karpik666 3041 10.03.15 06:15 Сейчас в теме
38. ZhokhovM 411 10.03.15 10:57 Сейчас в теме
39. karpik666 3041 10.03.15 17:48 Сейчас в теме
(38) вообще-то это не спам, просто дополнение к вашей беседе, кто у кого и сколько скопировал=)
41. androgin 20.03.15 01:39 Сейчас в теме
(39) karpik666, Если ты не понял сути, то зачем встревать со своей статьей?))
42. dj_serega 376 27.04.15 09:36 Сейчас в теме
Спасибо за статью. Отработало как часы.
43. ZhokhovM 411 27.04.15 09:47 Сейчас в теме
44. Гость 09.09.15 11:39
Добрый день.

А как быть с временем соединения... спустя минуту COM автоматически сбрасываться(
(Используются серверные базы)

Можно как-то настроить?
45. tormozit 6178 17.01.16 16:08 Сейчас в теме
Есть еще такой метод v82Server.dll - Технология Microsoft COM+ для доступа к 1C82, но посложнее в настройке конечно и нет готовых бинарников/исходников для 8.2+
46. infosoftvc 61 09.03.16 05:56 Сейчас в теме
В какой-то момент времени на сервере перестал работать данный метод. Структура в хранилище сохраняется, но после чтения из хранилища данных нет ( л_Структура.COMОбъект = неопределено ).
Проблема решилась добавлением фиксированной структуры:
л_Структура = Новый ФиксированнаяСтруктура( Новый Структура("COMОбъект", л_COMОбъект));
tormozit; ZhokhovM; +2 Ответить
47. Caliban 70 15.04.16 08:46 Сейчас в теме
(46) infosoftvc, у меня сегодня внезапно тоже перестал сохраняться COM-объект в структуре. До этого больше года работало как часы. Вариант с фиксированной структурой не помог. Кто нибудь еще сталкивался с таким?
48. kalyaka 625 28.04.16 11:50 Сейчас в теме
(47) Caliban, не все com объекты поддерживают сериализацию. Еще, возможно, сама 1С не сериализует com, а использует ссылку на существующий объект и если происходит переподключение с одного рабочего процесса на другой, то не факт, что будет сохранен com объект.
49. Serginio 834 28.04.16 12:36 Сейчас в теме
Я бы на нет сделал статическое свойство (синглетон) Dictioanary<string,object> который бы по ProgID отдавал нужную ссылку и создавал её если еще не создавалась. Загруженные библиотеки не выгружаются из процесса. И этот синглетон будет жить пока рабочий процесс не перегрузится.
50. dj_serega 376 06.12.16 11:35 Сейчас в теме
8.3.8.1652.
Теперь нельзя помещать во временное хранилище COM подключение (покрайней мере на клиенте) :(
51. tormozit 6178 06.12.16 12:25 Сейчас в теме
53. dj_serega 376 06.12.16 17:31 Сейчас в теме
(51) Код следующий:
COMConnector = Новый COMОбъект("V83.COMConnector")
COMConnector.Connect(СтрокаПодключения);
АдресCOMПодключения = ПоместитьВоВременноеХранилище(Новый Структура("ПодключениеБазы", COMConnector), Новый УникальныйИдентификатор);
52. dj_serega 376 06.12.16 17:27 Сейчас в теме
COM = Новый COMОбъект("V83.Application"); - Все ок

COM = Новый COMОбъект("V83.COMConnector"); - Ошибка.

Текст ошибки
55. tormozit 6178 06.12.16 17:46 Сейчас в теме
(52) это на тонком клиенте что ли?
57. dj_serega 376 06.12.16 17:47 Сейчас в теме
59. fokin 12.03.17 14:02 Сейчас в теме
(57) Получилось побороть?

у меня на 8.3.8.2088 аналогичная беда

только не пойму почему все тоже самое, но &НаСервере отрабатывает без ошибок?
54. dj_serega 376 06.12.16 17:38 Сейчас в теме
Хотя нет... и Application туда ошибку :( Сейчас наваяю обработку и приложу сюда
56. dj_serega 376 06.12.16 17:46 Сейчас в теме
Воть.
База: 1С:Предприятие 8.3 (8.3.8.1652)
Пустая новая конфигурация.
Прикрепленные файлы:
ОбработкаПомещенияВХранилище.epf
58. Farpost 116 24.01.17 12:37 Сейчас в теме
Вот кто мне объяснит - зачем УФ и тонкий клиент на сервере где все юзеры работают по РДП или на локальной машине?
Какое облегчение приносит применение УФ???
Видя насколько увеличился объём кода и реально замеряя производительность системы, прихожу к выводу, что УФ в описываемых мной случаях бред полный.
60. dj_serega 376 15.03.17 09:48 Сейчас в теме
(58)
Какое облегчение приносит применение УФ???

Запустите УПП на обычных формах на нетбуке.
И, там же, запустите какое-то (правильно написанное уф) через тонкий клиент или через веббраузер.
61. Farpost 116 16.03.17 07:41 Сейчас в теме
(60)
А зачем заниматься извращениями? Есть определенные требования ПО к аппаратной части - Вы же не будете запускать скажем WarCraft II на смартфоне и требовать от него такой же производительности....

Если Ваша фирма доросла до УППырища, то уж запускать этого монстра на нетбуках - такой же бред как применение УФ в описанных мной случаях
62. Farpost 116 16.03.17 07:44 Сейчас в теме
(60) Вдогон...
Вы мой пост либо недочитали, либо не осознали прочитанное - советую перечитать и вникнуть в смысл описанного... Я запускаю 1Сину НА СЕРВЕРЕ!!! Довольно мощном и доступ пользователей по РДП протоколу - и на кой хрен мне ваши УФ при таком режиме работы?
63. Anchoret 42 16.03.17 09:17 Сейчас в теме
(62)
Из популярного: попробуйте запустить обычные формы в браузере
dj_serega; +1 Ответить
66. Farpost 116 18.03.17 02:43 Сейчас в теме
(63) А зачем? Объясните мне смысл сего действия?
64. dj_serega 376 16.03.17 09:48 Сейчас в теме
(62)
Я запускаю 1Сину НА СЕРВЕРЕ!!!

В этом и вопрос. При правильной архитектуре и разработке сервер нужен только для хранения БД + публикация на вебсервере.

Итого. Есть один сервер где все сложное выполняется и есть клиентская часть где выполняется только отрисовка данных + простые вычисления.

На один сеанс клиента нужно +-500 мб памяти. При 100 пользователях объем не маленький. Все это нужно для сервера RDP. А в случае с тонким клиентом (по прямому подключению или через web) серверу нужно (в основном) только хранить подключение и выполнять запросы клиента.

Кстати, в (63) хороший пример приведен. Что бы не запускать тонкого клиента можно в 1С работать через веб-браузер. Нагрузка будет еще меньше (я про клиента).

p.s.: предлагаю почитать эту статью. Очень хорошо описаны проблемы клиент-серверного взаимодействия. Да есть нюансы, но присмотревшись на картинки видно что в случае с обычными формами "библиотека" будет находится возле каждого клиента. А в случае с управляемыми формами "библиотека" одна и клиенты только запрашивают простые данные.
65. Farpost 116 18.03.17 02:39 Сейчас в теме
(64)
И с чего это вы взяли что РДП жрет 500 мегабайт на сессию? Максимум 50 Мб... И уж если у меня будет 100 пользователей, то сервер у меня будет на порядок мощнее хотя бы для обеспечения работы СУБД... Вы сами себе противоречите - если надо экономить ресурсы сервера за счет терминальных подключений, то эта экономия сожрётся 1Синой на УФ...
В моём случае и я уверен у многих аналогичная ситуация, когда ресурсов сервера вполне хватает на все терминальные сеансы с запасом, а интернет весьма нестабильный у удаленных клиентов (раскиданы на площади примерно равной площади Франции) запускать УФ в любом виде, что в браузере, что в варианте тонкого клиента бредятина полная - 1Сина тупит на таких соединениях безбожно. А плюс РДП в том, что оборвался коннект - и ничего - восстановился и продолжаем работу в том же сеансе на том же месте...
Я уж не говорю про удобство доработки конф и отладки...
67. dj_serega 376 19.03.17 13:52 Сейчас в теме
(65) Каждый останется при своем мнении. Прям как вкус и цвет фломастеров :-))
69. Farpost 116 20.03.17 03:19 Сейчас в теме
(67) Еще раз убеждаюсь, что апологеты 1С или не читают вообще или не хотят ничего слышать критического...
Мой первый вопрос был: Какое облегчение приносит применение УФ? В конкретном случае - мне например непонятна политика 1С, соответственно франчей и большинства внедренцев везде впендюрить УФ... И ведь впендюривают, даже там где от УФ больше вреда чем пользы...
Я не спорю, есть моменты когда УФ возможно более удобны чем обычные, всякое бывает, но по своему опыту и практической работы увы вижу, что в 90% это чистый маркетинг...

(68) Да легко - например: http://infostart.me/public/313737/ или http://infostart.ru/public/197612/ да и маппинг портов тоже никто не отменял... ПОсмотреть отчеты тоже проще по РДП - быстрее шевелиться чем УФ через кучу провайдеров, а ещё есть разработки (правда не 1С, вот например: http://bureautics.ru/ на платформе хоровод) так там это все работает на пару порядков эффективней чем УФ - вот бы 1Сники посмотрели и опыт бы переняли...
Я к чему - да единого универсального решения нет и не будет, поэтому стремление всех запихнуть в "прокрустово ложе" идеологии 1С мне лично очень не нравится...
wowik; leonidt84; +2 1 Ответить
68. spacecraft 19.03.17 14:06 Сейчас в теме
(65) и как поживают ККМ на РДП? А если это не локальная сеть по своему кабелю? Иногда нужно директору с планшета, находясь в Америке, посмотреть пару отчетов?
Задач много. Единого универсального решения нет. Если устраивает текущая система работы, то и работать дальше на ней. Но не стоит говорить, что это решение единственно правильное для всех.
dj_serega; +1 Ответить
70. kote 521 18.12.17 00:09 Сейчас в теме
(0) Всё это работает ТОЛЬКО В ПРЕДЕЛАХ ОДНОГО СЕРВЕРА..
Если у Вас кластер - то считанное на другом сервере Хранилище с СОМ-объектом не работает..
72. newborn 15.06.20 21:19 Сейчас в теме
Прикольный способ... Надо будет как-нибудь проверить... Хотя в 2020 году это наверное уже не актуально...
Оставьте свое сообщение

См. также

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    20808    m-rv    17    

Объединение баз ЗУП

Перенос данных из 1C8 в 1C8 v8 v8::СПР ЗУП3.x БУ Бесплатно (free)

Есть база ЗУП 3.1, в которой ведется одна организация, все данные из нее нужно перенести в общий ЗУП, обе базы типовые. Используем для переноса КД 2.0.

10.01.2021    472    roger83    0    

Неожиданное использование XDTO

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Расскажу про свой опыт, как XDTO может помочь в отладке обменов данных. И какие полезности можно почерпнуть для себя при работе с XDTO.

05.12.2020    2216    simon_sidoruk    20    

Сказ о том, как в одной крупной компании документооборот внедряли, или проблемы типовых обменов между КА и ДО

Интеграция Документоборот 2 Перенос данных из 1C8 в 1C8 v8 ДО КА2 Бесплатно (free)

Приветствую всех. Сегодня пойдет речь о том, как на одной крупной компании внедряли 1С:Документооборот 2.1 в связке с КА 2.4. Вроде бы системы типовые, мы практически не добавляли ничего в них, но проблем было столько, что я решил изложить их в статье. Может, кому-то пригодится это в дальнейшем, и не придется тратить кучу времени на поиск решений.

10.11.2020    4372    maks_20    22    

Повышаем эффективность разработки правил обмена Промо

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    28810    olegtymko    47    

Простой пример разработки регулярного обмена с использованием БСП на примере ERP 2.4 и УПП 1.3

БСП (Библиотека стандартных подсистем) Перенос данных из 1C8 в 1C8 v8 1cv8.cf УПП1 КД ERP2 Россия Бесплатно (free)

Данный вариант подойдет тем, кто хочет настроить "свой" регулярный обмен с добавлением "своих" планов обмена с использованием правил обмена на КД 2.1.

27.10.2020    3517    байт    8    

Конвертация данных 2. Использование подключаемых обработок в правилах обмена. Конвертация дерева значений

Обмен данными 1С Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Разработка правил обмена с использованием подключаемых обработок. В качестве примера рассмотрена реальная задача конвертации дерева значений.

15.06.2020    4040    Drivingblind    8    

Конвертация данных 2.1. Методика переноса остатков

Перенос данных из 1C8 в 1C8 v8 1cv8.cf УУ Бесплатно (free)

В данной статье я приведу пример использования базовой методики конвертации данных для переноса остатков из одной информационной базы в другую.

12.06.2020    7652    aximo    17    

Универсальный обмен между идентичными конфигурациями через REST интерфейс OData. Часть І: Справочники Промо

Перенос данных из 1C8 в 1C8 v8 Бесплатно (free)

Сейчас все чаще интеграции различных конфигураций проектируются через HTTP-сервисы - они и работают быстрее, и "войти" в режим отладки гораздо проще, тем самым обойдя "черный ящик" универсального обмена через xml, например. Более года назад я начал работать в компании, в которой разработчики работали с конфигурациями 1С в режиме совместимости еще 8.2.16 (менять режим совместимости в типичных базах мы не хотели) - а как Вы наверное знаете, если интересовались HTTP-сервисами в 1С, их использование в режиме совместимости 8.3.4 и ниже недопустимо - и здесь я уже не надеялся на разработку и использование HTTP-сервисов. Но позже меня заинтересовал такой "сервис" как REST интерфейс OData, так как его можно использовать не меняя режим совместимости конфигурации - именно он и стал для меня идеальным вариантом решения "нетривиальных" задач.

11.05.2018    23776    V.Stavinsky    11    

Механизм XDTO

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Попытка понять механизм XDTO и его неочевидные аспекты. Научиться выполнять обмены между различными конфигурациями без оглядки на реализацию в типовых.

12.05.2020    5914    totchaz    4    

Механизмы проведения документов при обмене по универсальному формату

Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Как проводятся документы при обмене по универсальному формату. Пример доработки типовых правил обмена с переносом состояния документа: проведен/не поведен/пометка удаления.

04.03.2020    5280    partizand    6    

Односторонний обмен ЗУП и БП

Перенос данных из 1C8 в 1C8 v8 БП3.0 ЗУП3.x Россия Бесплатно (free)

Односторонний обмен из ЗУП в БУХ

29.02.2020    6064    VAAngelov    14    

Взаимодействие между базами 1С через COM Промо

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассмотрено много особенностей взаимодействия между базами 1С по COM технологии

10.08.2015    157129    tormozit    67    

Автоматический обмен при появлении файла, по регламентному заданию создаёт файл выгрузки, даже если файл загрузки не появлялся

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Заметил, что "Автоматический обмен при появлении файла" каждый раз создаёт файл выгрузки данных, даже если файл для загрузки данных не появлялся. Данный код проверит, что файл появился, только после чего создаст файл выгрузки данных.

20.02.2020    3019    wau8824ru    4    

Бесшовная интеграция через обмен по правилам - миссия выполнима

Практика программирования Интеграция Перенос данных из 1C8 в 1C8 v8 ДО ERP2 Бесплатно (free)

При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.

24.01.2020    5591    e-9    2    

Конвертация ставок НДС: из Перечисления в Справочник (правила обмена в конвертации 2.0)

Перенос данных из 1C8 в 1C8 v8 КД Россия НДС Бесплатно (free)

При написании правил обмена между "более старой" и "более новой" конфигурациями можно столкнуться с тем, что в одной конфигурации ставки НДС - это перечисление, а в другой - справочник (или наоборот, но мой пример именно из перечисления в справочник). Ситуация несложная, но нестандартная, поэтому выкладываю работающий пример, может, кому пригодится.

09.11.2019    7018    vikulinamari    1    

Использование инструментов разработчика для отладки обменов КД 2.0 Промо

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Пара трюков, благодаря которым жить становится намного проще...

05.05.2017    27931    unichkin    3    

Настройка синхронизации между конфигурациями Бухгалтерия для Беларуси 2.1 и Управление торговлей для Беларуси 3.4

Перенос данных из 1C8 в 1C8 v8 БП3.0 УТ11 Беларусь Бесплатно (free)

Пошаговое описание настройки типового обмена между конфигурациями Бухгалтерия для Беларуси 2.1 и Управление торговлей для Беларуси 3.4

21.10.2019    8313    Olesia_Matusevich    1    

Объединение организаций в ЗУП при реорганизации с переносом данных из ЗУП 2.5 в ЗУП 3.1

Зарплата Управление персоналом (HRM) Перенос данных из 1C8 в 1C8 v8 v8::СПР ЗУП2.5 ЗУП3.x БУ Бесплатно (free)

В этой статье описан опыт объединения 2-х организаций при реорганизации в ЗУП 3.1 с переносом данных одной организации из ЗУП 2.5 (релизы баз более или менее свежие, но не самые последние на момент перехода, примерно двух- и трехмесячной давности). За основу было взято решение из этой статьи https://infostart.ru/public/833658/, в которой описан алгоритм решения задачи, за что автору статьи огромная благодарность! Здесь же даны некоторые комментарии и пояснения к алгоритму переноса и объединения, описаны выявленные мною ошибки. Также приведена небольшая инструкция по использованию обработки ирПодборИОбработкаОбъектовБД — она будет полезна для пользователей — «не программистов», впервые работающих в не управляемых формах.

09.10.2019    8348    Neti    2    

EnterpriseData: простой способ защиты данных в базе получателя при одностороннем обмене

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Очень часто бухгалтеры ругаются, когда уже отраженные документы в бухгалтерском учета меняются сотрудниками.

04.10.2019    7440    handscenter    12    

Приемы обработки больших данных в 1С Промо

Универсальные обработки Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С

07.08.2015    68263    tormozit    27    

Дозагрузка измененных данных при помощи КД2

Практика программирования Перенос данных из 1C8 в 1C8 v8 Россия Бесплатно (free)

Иногда во время каких-то регламентных действий по обслуживанию базы(например, при обновлении измененной базы на много релизов) требуется обеспечить бесперебойность работы пользователей. Если конфигурации баз до и после идентичны, то тут сам Бог велел воспользоваться обработкой "ВыгрузкаЗагрузкаДанныхXML", либо такой же но с отбором(на Инфостарте есть такая). Но что если конфигурации баз различаются/значительно различаются? Ниже опишу, как вышел из положения я.

12.09.2019    5001    al_zzz    2    

Конвертация Данных. Нюансы использования конструкции "НеЗамещатьОбъект = Истина" в обработчике события "ПриЗагрузке"

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

У конвертации данных есть «особенности», которые «пьют кровь» программистов. Эта статья про очередную обнаруженную «особенность».

10.09.2019    10795    ivanek    21    

Обмен данными через Web Сервисы

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Ознакомительная статья о том, как загружать\выгружать данные с одной базы в другую, используя Web Сервисы.

02.09.2019    27967    user5300    42    

Настройка типового обмена данными между: 1С: Предприятие Бухгалтерия ред. 3.0 (БП 3.0) и 1С: Управление торговлей ред. 10.3 (УТ 10.3). Промо

Перенос данных из 1C8 в 1C8 v8 УТ10 Россия Бесплатно (free)

В этой статье я опишу, как настраивается типовой обмен данными между БП 3.0 и УТ 10.3.

29.01.2014    270878    arr    56    

Выгрузка и загрузка документов с движениями

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Возникла задача перенести документы с движениями, но подменив организацию. Наткнулся на проблему с выгрузкой движений, опишу свой опыт.

02.09.2019    8361    human_new    9    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    16084    ids79    8    

Перенос дополнительных реквизитов в Конвертации данных 2.0

Перенос данных из 1C8 в 1C8 v8 КД Россия УУ Бесплатно (free)

Пример написания правил обмена (КД 2.0) для переноса дополнительных реквизитов справочника "Номенклатура", в том числе перенос ПВХ с разными типами значений.

13.08.2019    12782    vikulinamari    8    

Отладка правил обмена 7.7, 8 Промо

Перенос данных из 1С7.7 в 1C8.X Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Отладка правил обмена всегда была для меня больной темой, пока наконец-то не разобрался. В интернете мало тем, посвященных этому, поэтому решил написать небольшую инструкцию по этому поводу. Очень надеюсь, что она будет кому-то полезна. С радостью выслушаю недочеты.

29.10.2013    51784    pyrkin_vanya    70    

Синхронизация данных между 1С: ЗУП 3.1 и Бухгалтерией 3.0 через файл

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Публикация описывает последовательность синхронизации данных между 1С: ЗУП 3.1 и Бухгалтерией 3.0 через файл.

23.04.2019    16345    saveliev    6    

Полезные приемы при работе с Конвертацией данных 2.1. Логирование, интерактивное управление, дозаполнение и постпроведение документов

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Некоторые полезные приемы для КД 2.1, которые могут пригодиться как при доработке типовых правил, так и самописных.

22.04.2019    10452    maks_20    9    

Работа с ComОбъектом 1С 8.2; 8.3

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Определение типов и значений через COM соединение между конфигурациями.

15.04.2019    23961    vik070777    12    

Обмен по расписанию типовыми средствами. Промо

Распределенная БД (УРИБ, УРБД) Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Часто перед интеграторами стоит задача организовать автообмен (по расписанию или при наступлении какого-либо события) данными между различными конфигурациями. В этой статье я попробую изложить простую инструкцию, как это можно сделать средствами, заложенными в типовые конфигурации 1С (ЗУП, БП, УПП и т.д.). Для обмена используется подсистема "Обмен данными" из БСП

20.06.2012    103719    kser87    52    

Обмен данными между УПП 1.3.64.х и БП 3.0 по расписанию через Универсальный обмен данными + План обмена

Обмен через XML Перенос данных из 1C8 в 1C8 v8 УПП1 Россия Бесплатно (free)

Описание доработки конфигурации УПП 1.3.64.х для выполнения обмена данными по расписанию в БП 3.0. через обработку Универсальный Обмен Данными XML и План Обмена.

09.04.2019    7784    mrcamomile    15    

RabbitMQ + Конвертация Данных 3.0

Внешние источники данных Обмен через XML Интеграция Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Предлагаем ознакомиться с хронологией проекта, проследить ход мыслей от снятия потребностей до реализации, и решить, удалось ли проектной команде найти оптимальное архитектурное решение под конкретный кейс заказчика путем совмещения двух известных, но до сих пор не пересекавшихся технологий, и получилось ли сложить плюсы и устранить минусы каждой из них.

21.03.2019    27528    barelpro    82    

Конвертация данных 2.1: поиск по условию

Перенос данных из 1C8 в 1C8 v8 КД ERP2 Бесплатно (free)

Задача. При обмене документами "Реализация товаров и услуг", поиск контрагента осуществлять по полям "ИНН", "КПП". Если вид договора с комиссионером, то поиск осуществлять по полям "ИНН", "КПП", "Наименование".

15.01.2019    17801    wowik    13    

Заготовка для загрузки файлов по ftp Промо

WEB Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

3 процедуры и 1 макет

03.06.2013    30668    anig99    6    

Заметки КД 2.1: Как передать файл, динамически создаваемый в источнике, в справочник присоединенных файлов приемника

Перенос данных из 1C8 в 1C8 v8 КД Россия Бесплатно (free)

В БП 3.0 есть документ "Книга Продаж Для Передачи В ЭлектронномВиде" из которого выгружается XML файл. Задача: Нужно из БП 3.0 посредством правил обмена, вместе с документом книга продаж сформировать и перенести XML файл в базу приемник. В приемнике файл будет храниться в справочнике "Книга Продаж Присоединенные Файлы".

10.10.2018    10368    Viktor_Ermakov    6    

Практические рекомендации по настройке бесшовной интеграции 1С:ERP и 1С:Документооборот КОРП

Перенос данных из 1C8 в 1C8 v8::Бизнес-процессы ERP2 Россия Бесплатно (free)

В настоящей статье мы пошагово рассмотрим, как настроить бесшовную интеграцию 1С:Документооброт КОРП (1С:ДО) с 1С:ERP.

28.09.2018    22337    Aprsoft    13    

Планы обмена 1С

Перенос данных из 1C8 в 1C8 Интеграция v8 Бесплатно (free)

В статье - мастер-классе Дмитрий Жичкин рассказывает, для чего нужны планы обмена 1С и какие задачи они решают. Он подробно описывает физическую структуру планов обмена и механизмов регистрации изменений, рассматривает основные проблемы, возникающие при выгрузке изменений и предлагает методы их решения.

10.09.2018    66685    zhichkin    32    

Интеграция «1С:Управление производственным предприятием» с «1С:Документооборот» Промо

Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство Документооборот и делопроизводство v8 КА1 УПП1 ДО Бесплатно (free)

В данной статье пойдет речь о возможности интеграции 1С:Управление производственным предприятием ред. 1.3 с 1С:Документооборот КОРП и о том, что может получить предприятие от этой интеграции.

18.02.2013    64488    Vladimir_Konyrev    38    

Конвертация 2.0. Обмен данными между справочниками по сопоставлению артикулов с помощью регистра сведений (пример).

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Пример обмена данными между справочниками по сопоставлению артикулов с помощью регистра сведений

27.08.2018    9827    Lyubogradov.P    1    

Альтернатива переноса ТЗ в конвертации данных 2.1

Практика программирования Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Здравствуйте уважаемые. Решил выложить альтернативный способ переноса данных в конвертации данных из источника к приемнику, с последующим сбором их в ТЗ в месте ПослеЗагрузки. Т.е.можно готовый перенесенный объект доработать либо создать что-то еще на базе данных. Метод сам разработан с учетом простого понимания Конвертации без использования всех её многочисленных тонкостей и сложностей. В примере рассматривается перенос Операции. И вот еще что. Я не привожу тут готовое решение, я всего лишь показываю концепцию того, как можно делать в КД. Без использования глобальных переменных.

20.08.2018    7044    dinopopyys    6    

Конвертация 2.0. Перенос независимого справочника в подчиненный (пример).

Перенос данных из 1C8 в 1C8 v8 КД Россия Бесплатно (free)

Пример переноса независимого справочника в подчиненный с помощью Конвертации 2.0.

15.08.2018    11333    Lyubogradov.P    7    

Особенности обмена данными с использованием "ручной" регистрации Промо

Распределенная БД (УРИБ, УРБД) Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Эта статья рассчитана на программистов, которые используют обмен данными с помощью метода "ВыбратьИзменения" и последующую их запись. Только для планов обменов, имеющих "ручную" регистрацию.

14.01.2013    35464    logarifm    6    

Конвертация 2.0. Перенос элементов и групп справочника, имеющих различный вид иерархии (пример).

Перенос данных из 1C8 в 1C8 v8 КД Россия Бесплатно (free)

Пример переноса справочника, имеющего различный вид иерархии, с помощью Конвертации 2.0.

13.08.2018    10601    Lyubogradov.P    0    

Опыт проведения сложных переносов данных на 1С

Перенос данных из 1C8 в 1C8 Интеграция v8 КД Бесплатно (free)

В статье я расскажу про опыт сложных переносов на платформе 1С:Предприятие. Она будет адресована в первую очередь разработчикам 1С, которые уже имеют опыт использования методики «Конвертация данных» (как второй, так и третьей редакции) – я думаю, это большинство из нас. • Я расскажу про различные методики организации переносов данных. • Мы рассмотрим рекомендуемые способы оптимизации правил конвертации, которые позволят вам быстрее выполнять свои переносы. • Также мы разберем, какие могут возникнуть сложности в ходе переноса данных. • Я покажу сравнительный анализ по ряду параметров инструментов «Конвертация данных» второй редакции и третьей, которая вышла уже более года назад.

30.07.2018    37851    primat    14    

hsИнтегратор - технология онлайнового обмена данными между базами на платформе 1С:Предприятие. Использование технологии в виде расширения, без изменения конфигураций баз данных, участвующих в обмене

Перенос данных из 1C8 в 1C8 v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

hsИнтегратор : Простое в использовании решение, работает в качестве клиента и сервиса (в мобильном приложении – только клиента). Не обязательно требует внесения изменений в конфигурации интегрируемых баз данных. Маленький трафик обмена между клиентом и сервером, быстрая реакция на запросы со стороны клиента. Единый сервис для обмена данными различной структуры, механизмы для обеспечения безопасности.

25.06.2018    12410    hobi    8    

СТАБИЛЬНАЯ Загрузка справочника номенклатуры в 1С:Управление торговлей 8 из прайс-листа в Excel (код открыт скачать можно бесплатно) Промо

Перенос данных из 1C8 в 1C8 Загрузка и выгрузка в Excel v8 УТ10 Россия Бесплатно (free)

В таких случаях многие заказывают соответствующие обработки у собственных штатных программистов, фирм-франчайзи или сторонних разработчиков, но это дополнительные расходы и время. Как быть, если по различным причинам такой возможности нет? У каждого пользователя профессиональной версии 1С:Предприятие 8 подобная обработка уже есть! На диске ИТС! Типовая обработка «ЗагрузкаДанныхИзТабличногоДокумента.epf», находиться в разделе «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа». Обратите внимание, начиная с Февраля 2010 г. на диске ИТС данная обработка для конфигураций на платформе 8.1 находиться в другом разделе: «Технологическая поддержка» > «Методическая поддержка 1С:Предприятие 8» > «Платформа 1С:Предприятие 8.1» > «Универсальные отчеты и обработки» > «Загрузка данных из табличного документа».

07.11.2011    185055    SkyLink2012    132    

Обмен через универсальный формат. Пример нестандартной конвертации данных

Обмен через XML Перенос данных из 1C8 в 1C8 v8 УТ11 Россия Бесплатно (free)

В статье описан небольшой пример обмена данными через EnterpriseData без снятия конфигурации с поддержки. Тестовая площадка: Управление торговлей, редакция 11 (11.4.3.126), версия платформы 8.3.11

18.06.2018    37621    artkor    14    

Универсальный обмен между идентичными конфигурациями через REST интерфейс OData. Часть ІІІ: Регистры сведений

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Часть III публикаций об универсальном обмен через REST интерфейс OData - обмен регистрами сведений

26.05.2018    9898    V.Stavinsky    4