Имя: Пароль:
1C
1С v8
Как отловить событие в базе из внешней обработки?
,
0 MWWRuza
 
гуру
15.02.19
15:14
Добрый день!
Есть некая обработка, запущенная постоянно, через "EXECUTE" дополнительных параметров запуска(наверное, можно и как-то по другому запустить, через регистрацию внешних форм и расписание, но делал давно, тогда так сделал). В течении сеанса, она там занимается своими делами, периодически, по обработке ожидания. Но, это в принципе не важно, и так все работает.
Есть задача - выполнить некие действия в этой обработке, после того, как будет создан, записан и проведен документ определенного вида.
Конфа типовая, БАЗОВАЯ, поэтому "изнутри" сделать ничего не получится, вносить изменения в конфу нельзя, только из внешней обработки... Обработка моя, поэтому, с ней я могу делать все, что угодно.
Нужен совет, как наиболее просто и правильно решить эту задачу?
Сам я "застарелый" клюшечник, поэтому пока из-за малого опыта со снеговиком, всякие подписки и прочее тяжеловато даются, нужен толчек в правильном направлении...
1 FIXXXL
 
15.02.19
15:18
(0) подписки не помогут, ибо БАЗОВАЯ
как вариант, без учета работы "задним числом", пусть твоя обработка мониторит какой-либо регистр, который двигает нужный документ
"границу мониторинга" сдвигай после каждой итерации
2 DmitriyDI
 
15.02.19
15:22
добавить доп сведение "документ обработан" по этому реквизиту искать все не
отработанные, после отработки ставить в значение истина.
3 MWWRuza
 
гуру
15.02.19
15:49
Понятно...
У самого была мысль, при запуске обработки записывать в переменную номер последнего за текущую дату документа нужного вида, а потом, в той-же обработке ожидания, которая у меня мониторит каталог обмена на предмет появления там файла загрузки, мониторить номер последнего документа нужного вида, и если он вдруг окажется больше запомненного в переменной, то выполнять нужные мне действия и перезаписывать эту переменную...
Просто думал, что есть более "правильные" и современные способы...

(2)Что есть "доп сведение" - ? Реквизит документа? Если так, то не могу - конфа базовая...
4 DmitriyDI
 
15.02.19
16:09
(3) в базовой конфе нет механизма доп. реквизитов и сведений? доп. сведение это регистр сведений.
5 cons24
 
15.02.19
16:09
А расширения в базовой нельзя использовать? Там бы подписку разместить?
6 cons24
 
15.02.19
16:16
Проверил. расширения на базовой работают (https://infostart . ru/ public/415412/)
так что осваивайте их и будет вам щасье
7 Ёпрст
 
15.02.19
16:22
(6) оттуда же


По поводу подключения расширения к базовой версии. Проверял недавно.
На компе установлена 1С Розница базовая. И только она. Активирована лицензия базовой розницы.
В результате при входе в конфигуратор раздела с Расширениями нет в принципе.
При входе в режим предприятия в меню Все функции - Стандартные - Управление расширениями можно добавить расширение, но оно не работает.
Скорее всего с другими базовыми конфигурациями будет то же самое.
Если же на компьютере активирована обычная лицензия от проф версии любой из конфигурации, то расширения начинают работать и на базовых конфигурациях.
8 Ёпрст
 
15.02.19
16:23
более того, если стоит базовая платформа. в ней даже поиск во всех текстах вырезан. Там вообще не предполагается никакой кодинг в конфе.
9 FIXXXL
 
15.02.19
16:39
(3) если конфа с БСП, там есть ПВХ и регистр сведений для хранения доп.сведений разного рода
всё это настраивается в режиме предприятия
10 MWWRuza
 
гуру
15.02.19
17:00
Конфа - Розница 2.2 базовая. Использоваться планируется чисто в режиме РМК(рабочее место кассира). Естественно, платформа на клиентских компах - "из коробки". Дома я все пишу конечно под проф... Поэтому - расширение - не вариант, даже если оно заработает "у меня", то толку от этого не будет. А доп сведения... Ну, не знаю... На вскидку не нашел ничего такого...
Задача моей обработки - двухсторонний обмен с другой базой, под 7.7. Загрузка в нее товаров, ШК, цен по мере выгрузки файла из семерки, в фоновом режиме. Это все работает. И обратная выгрузка отчетов о розничной продаже, по мере закрытия смен. Это тоже работает, но "вручную", по кнопке в обработке. А хочется сделать, что-бы отчет сформировали, и файлик отчета сразу тоже сформировался, автоматом.

В принципе, в самой обработке, я ведь тоже могу хранить номер(или ссылку) последнего выгруженного документа? Потом, просто по обработке ожидания проверять - если новый появился, то надо выгрузить. Единственное, "торопыги" могут по быстрому смену закрыть, и сразу выйти из программы и выключить комп... Тогда, отчет не успеет сформироваться. С другой стороны, ну и что, завтра включат заново, и сформируется.
11 MWWRuza
 
гуру
15.02.19
20:06
Поковырял конфу... Есть регистр сведений: "Дата загрузки отчетов "1С:Эвотор Офлайн""... Можно, в принципе, в нем хранить даты/время выгрузок, штатно он у меня не используется и не будет в этой базе использоваться. Писать в него сведения о каждой успешной выгрузке, а в обработке ожидания проверять, не появились ли документы после нее, и если да, то запускать выгрузку...
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс