Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

"Hook" на хранилище конфигурации 1С

Я
   neusro84
 
13.06.20 - 07:44
Приветствую. Есть возможность поставить hook на помещение объектов в хранилище 1С, доступное по tcp или на web-сервере IIS? Идя такая что бы скрипт отправлял сигнал в систему, что хранилище  изменилось и выгружал изменения. Интересует больше вариант работы хранилище по tcp, что бы не переделывать текущую схему, ну если нет возможности по tcp, то хотя бы для web-сервиса на IIS (Apach не получится установить).
   Фрэнки
 
1 - 13.06.20 - 08:04
и какими средствами подразумевается обработка этого самого хука? В составе платформы есть для него такие средства?
   neusro84
 
2 - 13.06.20 - 08:10
по сути задача сводится к поиску возможности получения уведомления об изменении хранилища, а обработка это уже дело другое. Приемником может быть все что угодно, например, web-сервис или запуск скрипта.
   Cyberhawk
 
3 - 13.06.20 - 08:27
Если хранилище по хттп, то какие проблемы?
А в чем причина нежелания перейти с тср на хттп-хранилище?
   neusro84
 
4 - 13.06.20 - 08:35
(3) Нежелания нет, просто хочется наименьшими усилиями реализовать то что необходимо мне, а переделка хранилища - это привлечение других специалистов. Если хранилище по HTTP (на IIS) не могу найти где и куда внедриться - читал про UrlRewrite, но 1C при помещении в хранилище отправляет контент, а URL не меняется, поэтому не знаю куда воткнуть определение. Fiddler показывает что контент содержит строку DevDepot_commitObjects при помещении в хранилище.
   Фрэнки
 
5 - 13.06.20 - 08:50
А я вот помню... было такое, что каждый рабочий день начинал с того, что стартовал на специально созданной для этого отдельной базе связанной с хранилищем сравнение с конфигурацией хранилища.
   vde69
 
6 - 13.06.20 - 10:21
если ты имеешь в виду хранилище версий совместной разработки - то можно сделать регламентое задание в 1с
   neusro84
 
7 - 13.06.20 - 10:40
(6) Весь смысл в том, что я хочу сделать немедленное уведомление о помещении. А регламентное это слишком долго.
   vde69
 
8 - 13.06.20 - 10:55
(7) регламент можно запускать раз в минуту (а лучше раз в 5 минут),

если надо немедленное - то вроде ни как...

хотя я не понимаю зачем может понадобится "немедленно"
   МихаилМ
 
9 - 13.06.20 - 10:57
   МихаилМ
 
10 - 13.06.20 - 11:06
(9)
если ос - вынь, то wmi - событие можно использовать.
интересная задача - запустить хранилище не в файловом варианте, а субд.
   Волшебник
 
Модератор
11 - 13.06.20 - 11:28
Когда программист выкладывает в хранилище, то он может и вернуть или довыложить что-то ещё.
Нельзя немедленно что-то делать с тем, что попало в хранилище
   dmpl
 
12 - 13.06.20 - 11:39
(7) Это бессмысленно. Или задолбает в первый же день, или оно немедленное и не нужно.
   Armando
 
13 - 13.06.20 - 12:56
(0) делал такое давно. Использовал событие wmi, которым ловил факт изменения файла хранилища, затем с помощью tool1cd выгружал в xml таблицу с версиями, в которой сравнивал последнюю версию с ранее сохранённой, если она изменилась, то запускал скрипт.
   Armando
 
14 - 13.06.20 - 13:04
   neusro84
 
15 - 13.06.20 - 14:14
(14) (13) Спасибо, сделаю так.
   vde69
 
16 - 13.06.20 - 14:24
(13) >>>>затем с помощью tool1cd выгружал в xml

интересно сколько это займет времени на хранилище размером хотя-бы 20 гигабайт... (сейчас пустой CF перевалил через гиг)...

бред полный, если в 14 году CF занимал 150 метров - там еще хоть как-то работало, то сейчас по любому ты получишь результат только через несколько минут, и чем это лучше регламентного задания?
   vde69
 
17 - 13.06.20 - 14:25
>>> пустой CF

имеется в виду CF бухгалтерии, а если взять erp - там сильно больше...
   Armando
 
18 - 13.06.20 - 16:23
(16) (17) для выгрузки одной таблицы версий не надо все хранилище выгружать в файлы. В 14 году это работало считанные секунды. Не думаю что сейчас это существенно увеличилось, тем более формат хранилища изменился и файл 1cv8ddb.1CD сильно не растёт.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.