Работа с хранилищем из другой версии конфигуратора

Публикация № 1663203 23.05.22

Разработка - Групповая разработка (Git, хранилище)

хранилище платформа node.js конфигуратор разные версии особенность платформы совместная разработка удалённый доступ

Хранилище и конфигуратор на разных версиях платформы. Как быть?

Требовалось организовать доступ к внутреннему хранилищу с сервера заказчика. Завернули tcp в http и выкинули наружу. Но при попытке подключиться поняли, что версии у нас и у них разные, а разработчики платформы 1С решили не заморачиваться с версиями и просто запретили подключаться к хранилищу с любой другой версии, кроме той, что у хранилища.

Проведя анализ трафика через WireShark, я заметил, что главное отличие в пакетах на разных платформах, это передача в xml версии платформы конфигуратора в запросе и версии платформы хранилища в ответе:

<?xml version="1.0" encoding="UTF-8"?>
<crs:call xmlns:crs="http://v8.1c.ru/8.2/crs" alias="repo/test.cfe" name="DevDepotAdmin_openDevDepot" version="8.3.18.1334">
	<crs:params>
		<crs:alias value="repo/test.cfe"/>
		<crs:convert value="false"/>
	</crs:params>
</crs:call>

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

В итоге я смог подключить конфигурацию ERP/УХ к серверу хранилища (версия 8.3.20.1789) через конфигуратор (версия 8.3.21.1302), т.е. от нового к старому. Время подключения если и поменялось, то незаметно (замеры не делал).

Также тестировал и от старого (версия 8.3.18.1334) к новому (версия 8.3.20.1789), всё прошло гладко.

Захват объектов, помещение, получение и даже администрирование работает без проблем.

Преобразование и пересылка пакетов происходит "на лету" и не жрёт ОЗУ.

Для трансформации пакетов требуется запустить сервис, написанный на Node.js.

Шаги:

1. В файле repo_1c_broker.js требуется указать настройки сервиса:

const service_port = 8000 // порт сервиса трансформации пакетов
const repo_host = 'my.server.ru' // сервер хранилища конфигурации (может быть IP)
const repo_port = '8880' // порт хранилища конфигурации
const repo_version = '8.3.20.1789' // версия хранилища конфигурации

2. Запустить сервис:

node.exe repo_1c_broker.js

* node.exe - это исполняемый файл интерпретатора Node.js. Установить можно отсюда.

3. При подключении к хранилищу подменить адрес на http://localhost:8000/, если вы запустили сервис транформации на компьютере с конфигуратором, либо http://адрес_машины_с_сервисом:8000/ если в другом месте.

Например:

Если раньше вы подключались к хранилищу по адресу:

http://192.168.100.2/repo/repo.1ccr/proj01

то теперь надо так:

http://localhost:8000/repo/repo.1ccr/proj01

 

Возможно, в каких-то платформах есть изменения в службе хранилища, но я давно их не видел в зазеркалье.

Скачать файлы

Наименование Файл Версия Размер
repo_1c_broker.js

.js 2,42Kb
2
.js 2,42Kb 2 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. SerVer1C 550 23.05.22 18:16 Сейчас в теме
За исследование +
А вот про надежность данного подхода можно только гадать. Т. к. файл хранилища по своей сути аналогичен файловой базе. И какая стрктура будет соответствовать своей платформе - знает только 1с.
2. curdate 48 01.11.22 18:34 Сейчас в теме
Похоже, что метод работает только для http доступа к хранилищу.
А мне понадобился прокси к tcp хранилищу, и обработка не взлетела. А как работает js скрипт и как его перепилить для tcp - пока не понял.
3. frutty 121 02.11.22 10:30 Сейчас в теме
(2)
Похоже, что метод работает только для http доступа к хранилищу.
А мне понадобился прокси к tcp хранилищу, и обработка не взлетела. А как работает js скрипт и как его перепилить для tcp - пока не понял.

а почему нельзя "параллельно" сделать и http версию хранилища? по факту это просто "надстройка" над tcp. Но вы правы, скрипт работает только с http протоколом.
Оставьте свое сообщение

См. также

Интересное поведение 1С. Сборщик мусора

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Тем, кто работает с временным хранилищем, нужно учитывать тот факт, что некоторые данные самопроизвольно очищаются.

1 стартмани

23.12.2021    3031    0    Evgeny.Bogomolnyy    3    

2

Исполняемый файл (батник) автоматического подключения базы к хранилищу основной конфигурации и расширения(й)

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

25.11.2021    3358    17    Maito    2    

2

Выгрузка измененных внешних обработок (за день)

Групповая разработка (Git, хранилище) Платформа 1С v8.3 8.3.14 Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление производственным предприятием Абонемент ($m)

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

1 стартмани

11.08.2021    4016    7    Serg O.    4    

8

Как ускорить перенос изменений между хранилищами 1С?

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Россия Абонемент ($m)

Зачастую в рамках одной системы нам приходится работать с двумя хранилищами - хранилищем разработки (ХР) и хранилищем обновления (ХО). И перенос изменений из ХР в ХО, по крайней мере у меня, зачастую превращается в боль - нужно сделать много рутинных операций, в ходе которых приходится тратить время на ожидание (например, на этапах сохранения конфигурации в файл или сравнения, объединения конфигураций с файлом). Поэтому в один прекрасный день я сел и написал инструмент по автоматизации этого переноса.

2 стартмани

11.08.2021    3818    7    kabanoff    4    

6

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Добавляем в Конвертацию данных 2.1 средства для работы с GIT

Групповая разработка (Git, хранилище) Платформа 1С v8.3 1С:Конвертация данных Абонемент ($m)

В КД2 добавлен функционал для простой работы с GIT, а также с плагином GitRules, при помощи которого единый XML файл раскладывается на "исходники". В результате получаем решение для совместной работы с правилами обмена. В то же время разработчикам не нужно изучать консольные команды GIT, достаточно иметь общее представление о его работе.

1 стартмани

11.03.2021    7438    18    tambu    13    

28

Хранение файлов томов БСП в хранилище с OpenStack API

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

В статье опишу вариант реализации хранения файлов в томах с использованием хранилища OpenStack API на примере облачного хранилища Selectel.

2 стартмани

10.08.2020    6001    6    malikov_pro    10    

12

Хранилище внешних отчетов и обработок (интегрируемый модуль)

Групповая разработка (Git, хранилище) Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Сие идея по принципу хранилища конфигурации была реализована для удобства и надежности совместной работы программистов с внешними отчетами и обработками для БСП справочника "Дополнительные отчеты и обработки": все файлы ВОиО для спр. ДОиО всех подключенных ИБ хранятся и учитываются в одном месте; возможность захвата/освобождения файла ВОиО; создание версий с комментариями (добавление новой или обновление текущей); признак проверенности (для связки работы с аналитиком); проверочный механизм совместимости версий файла ВОиО и конфигурации; быстрое переключение между версиями.

3 стартмани

10.08.2020    7212    13    mr_sav    0    

5

Использование Git для версионирования расширений, внешних отчетов и обработок 1С:Предприятие

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

При сопровождении любой конфигурации 1С со временем появляется большое количество внешних отчетов, обработок а также расширений конфигурации, которые необходимо также сопровождать. Несколько скриптов (bat-файлов) позволят Вам использовать Git для контроля версий отчетов, обработок и расширений.

1 стартмани

30.10.2019    9645    15    a_pol    6    

38

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

Обновление из хранилища по расписанию

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Абонемент ($m)

Помещаете изменения в хранилище днем, а рабочая база обновляется ночью, не мешая пользователям в течение дня.

10 стартмани

16.08.2019    10682    35    adapter    7    

20

Конфигурация "Внешнее хранилище версий + картинок + печатных форм + отчетов" и обработки для просмотра

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Абонемент ($m)

Конфигурация позволяет сохранять в себя и в дальнейшем получать: 1. Версии объектов 2. Картинки 3. Печатные формы 4. Варианты отчетов.

1 стартмани

28.12.2015    5736    8    gfo    1    

6

Работа с хранилищем дополнительной информации (прикрепленные файлы)

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

09.04.2013    29965    248    nikolega    10    

24

Сохрание таблицы (дерева) значений в ХранилищеЗначения/восстановление из ХранилищеЗначения c возможностью произвольной обработки данных

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Таблица (дерево) значений - это не сохраняемый в базе данных объект. Но иногда возникает необходимость сохранить ТЗ или ДЗ между сеансами работы. Можно воспользоваться функцией ЗначениеВФайл() (сохраняет любое сериализуемое значение в файл). Чтоб сохранить несколько ТЗ или ДЗ в хранилищезначения необходимо добавить их в массив.

1 стартмани

12.10.2011    14526    30    Shef_zeon    3    

7

Простейшее хранилище файлов

Групповая разработка (Git, хранилище) Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Простейшее хранилище файлов, в виде отдельного модуля

1 стартмани

29.09.2009    10992    235    strange2007    8    

16