Имя: Пароль:
1C
1С v8
Какой вид обмена между двумя 1С выбрать
0 Антиквар
 
26.07.22
00:35
Всем привет!

Появилась задача синхронизировать между собой две внутренние базы 1С: стандарт ЗУП с расширениями и самописная околобухгалтерская.
Из ЗУП в самописку пойдут все справочники (физики, сотрудники, и т.д.), а из самописки в ЗУП результаты всяких расчетов, проводок...
Подскажите, что сейчас в топе, что лучше использовать.
У нас в таких случаях в основном использовалось прямое подключение в БД (через СОМ объект), или планы обмена с помощью конвертации данных, либо выгрузки через файл...
Но ИМХО это всё допотопные уже методы. Да и админы недовольны наличием всяких папок обмена и лазанием напрямую в базы.
Для связей с различными внешними ресурсами используем HTTP-сервисы. Но они на стороне внешних ресурсов, мы только подключаемся, забираем или отдаем. Т.е. опыта разворачивать свои сервисы пока нет.
Есть ли смысл для таких задач обмена между двумя соседними 1С-ками разворачивать http-сервис на одной из них.
А может имеет смысл разворачивать Веб-сервис? Чисто теоретически усвоил, что веб-сервисы хороши именно для взаимодействия между 1С-ками, т.к. проще с типами данных.
(http-сервис и Веб-сервис рассматриваю в том понимании, как их представляет 1С)

Посоветуйте, что тут лучше подойдет.
1 Garykom
 
гуру
26.07.22
01:01
http-сервис и json
сразу предусмотреть многопоточность
2 ГдеСобака Зарыта
 
26.07.22
02:02
Шины данных сейчас в тренде.
3 Aleksey
 
26.07.22
03:15
Т.е. через СОМ объект - это харасм и харам, так как "админы недовольны лазанием напрямую в базы."
А http-сервис эту тру и халяль, хотя по сути тоже лазанием напрямую в базы
А в чем разница с точки зрения админа?
4 Конструктор1С
 
26.07.22
06:20
(0) планы обмена тебе в любой случае нужны будут. Как ты без них собрался отслеживать информацию? Вообще у тебя должно быть три механизма:
1. Построение очереди данных для обмена. Тут отлично подходят планы обмена
2. Сериализация-десериализация данных. Тут теоретически можно использовать конвертацию данных, но только если объемы данных небольшие
3. Канал доставки сообщений обмена. Это может быть веб- или http-сервис

>>веб-сервисы хороши именно для взаимодействия между 1С-ками

По производительности веб-сервисы проигрывают http-сервисам. Хотя для обмена между базами вполне подойдут веб-сервисы. Если в околобухгалтерской самописке внедрена БСП, то стоит рассмотреть вариант обмена черех формат EnterpriseData
5 Антиквар
 
27.07.22
00:07
(1) "сразу предусмотреть многопоточность" - что имеется ввиду? Чтобы параллельно разные API http-сервиса вызывать? Дак это вроде и так работать будет?
6 Антиквар
 
27.07.22
00:10
(3) http-сервис никак не напрямую. Даже если запись в другую базу, то на стороне той другой базы будет обработка записи, там все нужные валидации и прочее. А не то что ты из своей текущей базы через СОМ-объект запихал что тебе хочется в другую базу, ничего не проверив и нарушив какие-то условия.
7 Антиквар
 
27.07.22
00:12
(4) "планы обмена тебе в любой случае нужны будут. Как ты без них собрался отслеживать информацию?"
Не факт что нужны. От данных зависит, пока нет точного понимания.
Но допустим обмен справочниками (физлица, сотрудники и прочее) - 1 раз ночью полный обмен.
А какие-то другие объекты - делается реквизит "Выгружен", ну и по этому реквизиту выгружать, т.е. если он не заполнен.
8 pavig
 
27.07.22
00:15
(0)
Мы вот все синхронизации только через хттп-сервисы и делаем, ибо всё остальное - от лукавого.
Но хттп - можно использовать двумя способами (если упрощать):
- только как транспорт (передавать сообщения обмена, и обрабатывать их, например, через конвертацию)
- как REST API.
- комбинированный вариант.
Скорее всего, еще придется заморачиваться с регистрацией изменений. Это однозначно планы обмена. Тем более, если изменения в обе стороны.
9 RomanYS
 
27.07.22
00:15
(7) реквизит это совсем плохо, тогда уж регистр сведений... хотя зачем РС, есть же планы обмена
10 pavig
 
27.07.22
00:15
кстати в (4) по сути то же самое и написано что у меня выше
11 pavig
 
27.07.22
00:16
(7) Для этого и придуманы планы обмена, и лучше их в 1С еще ничего не придумали.
12 Конструктор1С
 
27.07.22
05:01
(7) "А какие-то другие объекты - делается реквизит "Выгружен", ну и по этому реквизиту выгружать, т.е. если он не заполнен."

WHAT???
13 shuhard
 
27.07.22
05:15
(12) а чё, свежая такая мысль - вместо планов обмена захерачить общий реквизит во всё, включая наборы данных =)
14 Garykom
 
гуру
27.07.22
09:03
(5) не только
в несколько потоков (фоновых) можно было данные выгружать/загружать
и не было проблем даже если один вид метаданных в несколько потоков
15 Garykom
 
гуру
27.07.22
09:05
(2) шина нужна когда не две базы а больше
чтобы каждая база работала с шиной а шина уже доставляла
16 Garykom
 
гуру
27.07.22
09:06
(15)+ но да лучше делать сразу обмен чтобы можно было легко сменить транспорт с http-сервисов на шину или любой другой
17 d4rkmesa
 
27.07.22
09:11
(0) Я бы все-таки ограничился стандартным обменом, аля ЗУП-БП3. Конечно, через стандартный же веб-сервис (если не нравятся папки и com), минусы - иногда веб-сервис будет отваливаться, но это и с самописным обменом случается. ) Если заморочиться - можно допилить обработку КонвертацияОбъектовИнформационныхБаз, добавив json. По поводу обменов через http и шины, несмотря на кажущуюся простоту, у меня вот сомнения по поводу того, как правильно выгружать НСИ, должен ли это быть какой-то дополнительный сервис.
18 ptiz
 
27.07.22
09:52
(0) Веб-сервис можно использовать точно так же, как хттп. Но хттп "моднее". В какой базе поднимать - зависит от того, кто инициатор обмена. Я из ЗУП в самописку делал выгрузку через веб-сервис (просто он уже был поднят).
19 Гений 1С
 
гуру
27.07.22
10:56
(0) рекомендую HTTP-сервисы. Это проще чем WEB-сервисы и хорошая замена OLE
20 Гений 1С
 
гуру
27.07.22
10:56
Вместо JSON лучше XML, у него сериализация дат есть нормальная.
21 СеменовСемен
 
27.07.22
10:59
(20) а в чем проблема дат в json?
22 Гений 1С
 
гуру
27.07.22
11:03
(21) в том, что она в JSON есть. А в XML нет. Ответ устраивает? ;-)
23 СеменовСемен
 
27.07.22
11:04
(22) и там и там даты как строки. Если нет схемы, то преобразовывать в дату нужно руками
24 Aleksey
 
27.07.22
11:13
(16) Заодно и 1С сменить на что нибудь другое, чего уж на мелочах размениваться
25 Garykom
 
гуру
27.07.22
11:37
(24) для тебя https://v8.1c.ru/platforma/1s-predpriyatie-element/ новость?
26 Кура-Цеце
 
27.07.22
11:38
(20) Не осилил? Беееедненький.
27 Garykom
 
гуру
27.07.22
11:39
(25)+ там главная киллер фича имхо это конфигуратор в браузере
интересно многопрограммерский режим работы доступен для одной базы и как
28 Кура-Цеце
 
27.07.22
11:46
29 Garykom
 
гуру
27.07.22
12:06
(28) Думаю 2-3 года и ERP 3.0 не за горами
Причем БП4 как понял будет по типу УТ11 и КА обрезком от полной ERP
30 Eiffil123
 
27.07.22
13:27
Обмен можно сделать на технологии КД 3.0.
И БСП умеет обмениваться файлами через веб-сервисы.
31 Гений 1С
 
гуру
27.07.22
13:52
(30) это из пушки по воробьям.
32 Ryzeman
 
27.07.22
14:03
(29) А сейчас в ERP 2.5 соответсвующие модули сильно от БП3 отличаются? Я чёт думал что там почти 1 в 1. Может не так криво сшито, как в некоторых продуктах франчей...
33 Garykom
 
гуру
27.07.22
15:01
(32) ERP/КА сейчас целиком включают в себя ЗУП 3.1.18
От БП отличается очень сильно, даже синхронизации типовой полноценной двухсторонней нет фактически
34 Aleksey
 
27.07.22
15:36
(32) в БП ерп учет идет на регистрахз и справочниках (т.е. проводки формируются по данным из регистров и справочников (счета учета))
а в БП проводки самодостаточные, и счета учета указываются непосредственно в документе
Т.е. в БП одна и таже позиция номенклатуры может быть отражена на 10, 41, 004 счете (материалы, товар, комиссия). А вот с ЕРП такой фокус врядли прокатит
Ну и для БП проводки первичны, а регистры носят вспомогательный характер. А вот для ЕРП имхо проводки необязательный контур учета, так как вся первичная информация есть в регистрах
35 mistеr
 
27.07.22
17:15
(0) Поставьте админов на их место и используйте КД2.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший