"Виртуальный" работник на платформе 1C v7.7

28.11.21

Разработка - Механизмы платформы 1С

В статье расписаны примеры из жизни использования "Виртуального" работника. Разобраны вопросы, возникающие при работе с ним.

Всем доброго здравия!

Хотелось бы поделиться в статье опытом использования «Виртуального» работника на платформе 1С версии 7.7, так как «Виртуальный» работник позволит сохранять самый ценный человеческий ресурс – время.

Под «Виртуальным» работником я понимаю отдельный сеанс (или сеансы)  в 1С, под которым обрабатываются задачи, поступающие от людей – пользователей базы данных. Это позволяет запараллелить выполняемые задачи и таким образом экономить время людей. Задачи, которые выполняют «виртуальные» работники в разработанных мною базах данных я бы разделил следующим образом:

А) «Долгие отчеты»

Все сталкиваются с ситуацией, когда формирование отдельных отчетов занимает продолжительное время, в течение которого нельзя воспользоваться программой. Можно поручить формировать отчет «Виртуальному» работнику. Пример из реальной жизни – имеется форма прайса - заказник под клиента, которая формируется в формате Excel – само формирование занимает до 5 минут + используется буфер обмена (не судите строго – в этом прайсе показывается и история по покупкам и отдельно новинки, акции и основной прайс + картинки), но пользователь может выдать задание на формирование этих прайсов «Виртуальному» работнику. «Виртуальный» работник запущен в отдельном сеанс Windows  на сервере и под отдельным сеансом 1С.  Ниже в видео ролике покажу, как это работает на примере в тестовой базе. Далее «Виртуальный» работник видит список заданий, выбирает по хронологии, выполняет его, создает некий результат -  который возвращается пользователю, сформировавшему задание.  

 

 

Еще один реальный пример – автоматическое создание предложений  покупателям, которым будут отгружены в будущем товары. В момент, когда менеджер создает новую заявку от покупателя – программа создает задание компьютеру на формирование предложения покупателю по специальному алгоритму – в результате которого программа проанализирует 1) текущие остатки, 2)что брал клиент, 3)что не брал и 4)что нам наиболее выгодно предложить – что опять же занимает продолжительное время и сформирует список товаров так, чтобы он вмещался на одну страницу. И в момент, когда покупателю печатают комплект документов (это через несколько дней после оформления заявки) – предложение уже сформировано, его остается только распечатать.

Б) «Статистика»

Также «Виртуального» работника можно использовать для сбора статистической информации и потом её показывать (использовать) для реальных пользователей.

Пример из жизни: собираем статистику по каждому покупателю в разрезе специализаций номенклатуры, которую покупал, графику платежей, объёмам закупок  - а затем в момент, когда менеджер открывает форму для заполнения заявки от покупателя – пока программа обсчитывает текущие остатки, резервы и прорисовывает заявку от покупателя – ему в течение пары минут показываются данные по статистике покупателя.

Или например  - Менеджерам для их стимулирования в режиме «реального времени» показывается форма, на которой отражается заработок, отгрузки и оплаты менеджера и коллег менеджера. Но так как сам заработок рассчитывается по сложному алгоритму, в котором учитывается много факторов, то расчёт занимает 10-15 минут. «Виртуальный»  пользователь  периодически делает этот расчёт, а уже готовый результат видят менеджеры – и их это подстегивает к работе – когда они в реальном времени видят то, что заработали.

В) «События»

Еще один вариант использования «Виртуального» работника это реагирование на возникновение определенных событий:

Опять же примеры из реальной жизни  - главный бухгалтер проводит «Закрытие месяца» - «Виртуальный» работник пересчитывает управленческие себестоимости и себестоимости для разных видов отчетностей.

Еще пример: создают новую карточку продукции – «Виртуальный» работник определяет, что появилась новая карточка, проверяет ее на заполненность и оповещает тех пользователей   - кто должен довнести информацию – технолог, бухгалтер или менеджер. Тут кажется, что проще бы было делать такую проверку при создании карточки – но карточку номенклатуры могут создать программно, и здесь уже без «Виртуального» работника трудно обойтись.

Еще пример: идут новые поступления товаров – «Виртуальный» работник проверяет изменение себестоимости и оповещает пользователей при её резком изменении. Без использования «Виртуального» работника увеличится время ожидания пользователей, выполняющих проведение новых поступлений.

Г) «Планировщик задач»

Есть также вариант использования «виртуального» работника в качестве выполнения плановых задач

  • загрузка курсов, ставки рефинансирования – оповещение определенных пользователей о курсах, или о их резком изменении. Если привязку делать к определенному пользователю или группе пользователей – всегда есть вероятность – что один пользователь заболеет, другой уедет в командировку, третий будет в отпуске, а четвертый заменяющий первого не обратит внимание, что курсы не загрузились – и импортное поступление оприходуют по неправильной учетной стоимости (из реальной жизни). Но «Виртуальный» работник всегда бодр и в прекрасном самочувствии.
  • пользователь указывает, какой товар его интересует – а «виртуальный» работник  периодически мониторит свободные остатки и при их появлении  - сигнализирует
  • проверка списка номенклатуры на актуальность показа и корректировка списка показываемой номенклатуры. Например, показывать только с остатками.

Д) Обмен со сторонними программами

Можно использовать также для обмена со сторонними системами

  • например, «виртуальный» работник  используется в качестве сервера для обмена с терминалами рабочих – где они отчитываются о проделанной работе
  • для обмена с торговыми площадками (Немного из реальной жизни: отдельный пользователь занимается рекомендуемыми розничными ценами на продукцию – с утра ее меняет, а «виртуальный» работник связывается с торговой площадкой и корректирует изменившиеся цены у себя и в интернет магазинах, сотрудничающих с производителем. Причем делает это до тех пор, пока не убедится, что цены поменялись.).

               

Реализация «Виртуального» работника

 

Для использования «Виртуального работника требуется решить ряд задач:

  • обмен сообщениями и файлами между разными сеансами 1С.

Для этого создал справочник «Пользователи». Код этого справочника  = Имени пользователя 1С и при запуске сеанса связываю имя пользователя с определенным элементом из этого справочника. При запуске сеанса – прописываю каталог пользователя (для каждого пользователя должна быть своя) в элементе справочника "Пользователи", ассоциированного с сеансом. Обмен сообщениями между пользователями внутри базы происходит с помощью файлов - всегда могу положить файл с сообщением в каталог пользователя. Если мне надо пользователю отправить сообщение, то в папку нужного пользователя записываю файл-сообщение. Для создания заданий лучше создать отдельный каталог – это для случая если заданий много и их должны обрабатывать несколько «виртуальных» работников. Ниже на рисунке пример такого сообщения

 

 

  • информирование пользователя на каком свете его задача поставленная «виртуальному» работнику

Для этого разработал отдельную компоненту, которая отслеживает файлы с заданиями и в режиме реального времени их отображает (пока ее не выложил), как выглядит, можно увидеть на рисунке ниже

 

 

В этой компоненте отображаются только задачи поставленные живыми пользователями «Виртуальному» работнику.

  • оповещение пользователя о выполнении задачи

Если задача возникает по ходу работы и не ставится пользователем  - оповещение может выполняться компонентой сообщения – в которой реализован механизм обратной связи (//infostart.ru/public/1505725/). Это окно сообщения живет параллельной жизнью с программой, т.е. менеджер может выставлять счет, а сообщение о чем-то будет находиться в параллельном окне, а потом из окна сообщения можно запустить действие определенное программистом - т.е. окно сообщения обладает обратной связью

 

             

  • а как воспользоваться полученным результатом?

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

  • отдельная задача это гарантированная работа «виртуального» работника. («Виртуальный» работник может зависнуть, не запуститься – как минимум реальные работники должны быть проинформированы об этом, как максимум «виртуальный» работник должен перезапуститься сам)

В 95% случаев помогает батник и планировщик задач, ниже пример батника, который запускается в случае отсутствия файл-флага – внутри каталога базы данных «quit.txt» и если не запущен сеанс пользователя Computer это наличие файла 1Cv7.LCK в каталоге пользователя

chcp 1251 > nul

Set Path01="D:\Базы 1с\1С_Производство\"

if exist %Path01%"quit.txt" goto end

if exist "D:\Базы 1с\1С_Производство\Users\Computer\1Cv7.LCK" goto UserOnLine

start /wait "•" "C:\Program Files (x86)\1Cv77\BIN\1cv7s.exe" enterprise /D%Path01% /nComputer /pEdfsas

goto end

:UserOnLine

del "D:\Базы 1с\1С_Производство\Users\Computer\1Cv7.LCK"

:end

Для более надежной работы использую связку компоненту + программу (пока ее не выкладывал)  которая отслеживает зависание сеанса 1С под определенным пользователем и в случае зависания 1С – жестко завершает процесс, что позволяет батнику перезапустить «Виртуального» работника.

 

Плюсы и минусы использования «Виртуального» работника

Плюсы

  • экономия времени живых пользователей
  • «Виртуальный» работник работает без выходных, отпусков и не просит кушать
  • количество «Виртуальных» работников ограничено лишь возможностями платформы
  • сокращается количество живых пользователей кому надо платить
  • (из реальной жизни) бухгалтера и склад пробуют себя в роли помощников менеджеров

Минусы

  • более сложная реализация для программиста
  • более жесткая привязка к программисту
  • не может решать творческие задачи

 

P.S.

Если статья заинтересовала – пишите, и тогда выложу мною писанные компоненты, предназначенные для работы с «Виртуальным» работником (отражающие текущие задачи, маяк, сигнализирующий, что 1С-ка зависла, монитор появления - исчезновения файла).

Также мною была написана компонента, позволяющая на базе 1Cv7.7 создать многопоточный сервер, работающий по протоколу TCP-IP, но это будет отдельная статья.

Для уменьшения нагрузки на базу и при наличии резервного сервера – часть задач может выполнять резервный сервер (физически размещенный в другом месте).

Виртуализация бот задача время экономия сокращение пользователь организация работа человек ресурс события отчет оповещение выполнение результат

См. также

Асинхронное программирование в 1с77 без внешних компонент. Обратные вызовы.

Механизмы платформы 1С Платформа 1С v7.7 Абонемент ($m)

Пример построения программного кода для достижения функционала обратных вызовов (call back) во внешних обработках исключительно штатными средствами. Тестировалось на платформе 1с77 релиз 027. Конфигурация значения не имеет.

1 стартмани

06.10.2018    7443    Vortigaunt    5    

11

Особенности разделения объектной модели документа и базы данных в 1С 7.7. Забавный глюк

Механизмы платформы 1С Оперативный учет 7.7 Абонемент ($m)

Когда занимаешься разработкой в среде 1С, редко задумываешься о том, что программным кодом ты работаешь с объектной моделью базы данных, а не с самой базой данных. И что это вообще разные вещи. Ты создаешь объекты: документы и справочники, записываешь их - и в базе данных появляются соответствующие записи. Это настолько привычно, что когда сталкиваешься с нетипичным поведением платформы, первым делом думаешь: надо протестировать базу, она битая. В этой статье я хочу разобрать одну интересную ситуацию, которая как раз демонстрирует такое поведение. Описанная ниже ситуация воспроизводится как в файловом, так и в клиент-серверном (SQL) варианте. Тестировалось на версии платформы 1с77 релиз 027.

1 стартмани

16.05.2018    10124    Vortigaunt    26    

5

Использование классов .Net в 1С для новичков

Механизмы платформы 1С Платформа 1С v7.7 Платформа 1С v8.3 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    93955    Serginio    116    

188

Все про картинки в 1С 7.7, ну или почти все...

Механизмы платформы 1С Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

В 1С 8 наличие картинок товаров предусмотрено изначально, а в 7.7 такого нет. Проблема существует и ее исправляют, но это, как правило, частные случаи, касающиеся, например, печати прайса http://infostart.ru/public/289876/ , показу картинок в справочнике номенклатура http://infostart.ru/public/17125/, файловый менеджер картинок товара http://infostart.ru/public/15239/ или просто конфигурации работы с картинками http://infostart.ru/public/21142/ (не стремился дать полный обзор, поэтому не попавшие не обижайтесь :). Что не устроило – информация разбросана по статьям, необходимость дополнительно напрягаться, чтобы это заработало. Здесь я попытался собрать все «до кучи», а так же дать необходимые ссылки для желающих «копнуть вглубь».

1 стартмани

18.11.2014    43976    95    kitminsk    18    

20

ЗаполнитьЗначенияСвойств - заставляем работать в 7.7

Механизмы платформы 1С Платформа 1С v7.7 Конфигурации 1cv7 Бесплатно (free)

Если вы используете в работе 1С:Предприятие 8.х, то наверняка знакомы и с замечательной системной процедурой, как ЗаполнитьЗначенияСвойств(). Ее использование помогает значительно упростить написание программного кода в ряде случае, делает его (код) более наглядным и простым. Но что же делать тем, кто до сих пор использует (постоянно или иногда) 1С:Предприятие 7.7?

24.07.2014    23721    tomvlad    5    

14

Динамическая фильтрация в справочнике при вводе наименования

Механизмы платформы 1С Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

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

02.07.2012    18354    maxpiter    62    

15

Работа с бинарными файлами в 1С 7.7

Механизмы платформы 1С Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

Описание принципов и набор инструментов для работы с двоичными данными в 1С 7.7. Примеры во вложениях.

1 стартмани

16.05.2012    31754    100    dusha0020    8    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. CheBurator 3119 28.11.21 17:04 Сейчас в теме
Полезно будет написать как запустить сеанс 1С на сервере без окна, в режиме робота.
2. user707242_Gold_karas 13 28.11.21 18:55 Сейчас в теме
Про такую возможность в 1С7.7 не слышал. "Виртуального" работника использую в организациях, где имеется выделенный сервер, а на нём уже создается отдельный аккаунт Windows в котором и запускаю уже 1С "Виртуального" работника. Если запускать в том же аккаунте, в котором работает человек - то могут возникать конфликты. Например если "виртуальным" работником будет использоваться буфер обмена - при заполнении формы Word-а и Excel-а на основании шаблонов.
3. Andgman 4 29.11.21 08:14 Сейчас в теме
Расскажите, как боритесь с транзакциями, да и в целом крайне низкой производительностью платформы в режиме многопоточного сервера, что делаете с запросом на переиндексацию файловой базы при запуске "виртуального" работника?
4. user707242_Gold_karas 13 29.11.21 10:09 Сейчас в теме
(3)Насчет - транзакций. Они нам неподконтрольны только при записи. Повлиять же мы можем только на проведение документов, поэтому в модуле проведения должно быть минимум расчетов. Пример с чем сталкивался и как это решал: общепит - организация с кучей точек общепита - при загрузке реализации с утра за вчерашний день программа никому недавало нормально работать потому что проведение занимало час-два. Ночью загружать возможности нет так как некоторые точки заканчивали работать только утром, а из-за нюансов учета требовалось загружать все за один раз. При загрузке весь обсчет по раскладке блюд, расчете дооценок делал вне модуля проведения и в модуль проведения передавал то, что должно быть проведено через список значений

как то так это выглядит

СпЗн = СоздатьОбъект("СписокЗначений");
		СпЗн.Установить("ПериодическиеЗначения",ТабЗнПЗ);
		СпЗн.Установить("Проводки",ТабЗнПроводкиДокументаПолучить(Док));
		
		СпЗнПроводкиДокумента = СоздатьОбъект("СписокЗначений");
		СпЗнПроводкиДокумента.Установить("Тип","Подмена проведения");
		СпЗнПроводкиДокумента.Установить("ПроводкиДокумента",СпЗн);

               ДокАктРеализации.Провести(,СпЗнПроводкиДокумента) = 0
Показать

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

2ое ускорять за счет оптимизации кода - делаю так чтобы к базе данных обращаться как можно меньше. Например - часть констант к которым чаще всего обращаюсь и которые "не могут поменяться" запоминаю при запуске приложения в списке значений и использую потом обращаясь к списку значений
СписокЗначенийПостоянныхКонстант = СоздатьОбъект("СписокЗначений");
	СписокЗначенийПостоянныхКонстант.Установить("ОсновнаяВалюта",Константа.ОсновнаяВалюта);
	СписокЗначенийПостоянныхКонстант.Установить("ВалютаУправленческогоУчета",Константа.ВалютаУправленческогоУчета);
	СписокЗначенийПостоянныхКонстант.Установить("ОрганизацияКакКонтрагент",Константа.ОрганизацияКакКонтрагент);


а потом чтобы получить константу
Функция глКонстантаПостояннаяПолучить(Идентификатор) Экспорт
	Возврат СписокЗначенийПостоянныхКонстант.Получить(Идентификатор);  
КонецФункции // глКонстантаПостояннаяПолучить

//*************************************************
аналогчиноым образом запоминаю ряд переменных, какие промежуточные расчеты. Код кончено усложняется - немного - но скорость можно увеличить расчетов в 10-ки раз только стандартными средствами 1С7.7
9. Andgman 4 29.11.21 14:45 Сейчас в теме
(4) Просто сразу же вспомнил основную проблему аналогичной попытки реализовать часть обслуживающего функционала в "фоне" (точнее в сеансе 1с, который запускался на сервере), при активной работе (т.е. состояний когда процесс 1с на сервере "простаивает" нет) только на чтение, производительность всей базы падает в разы, причем больнее всего sql базам.
11. user707242_Gold_karas 13 29.11.21 16:03 Сейчас в теме
(9)Это вопрос реализации. Мне когда задачу ставят - стараюсь сделать просто чтобы работало, но в некоторых случаях когда начинается реальное использование - требуется чтобы все быстро работало. И разница в скорости между первоначальным и конечным вариантом была на вскидку вместо "2ух часов" - сделал "10 минут". И многие вещи можно реализовать только используя предыдущий багаж наработок. А пример что вы описали- на 95% сделали какой-нибудь справочник через который обменивались задачами и постоянного его опрашивали, и тогда такое с легкостью имеет место быть. А если использовать команду "ОбработкаОжидания" с разумным интервалом опроса, то такого быть не должно.
12. Andgman 4 29.11.21 16:51 Сейчас в теме
(11) Вы не правильно поняли. Задания по типу: программа, сформируй мне долги клиентов и вышли на почту, сформируй остатки и вышли на почту, выгрузи данные поставщику и все это поочередно, но непрерывно сильно снижало производительность базы... а вы пишите, что вообще реализовали многопоточность таких заданий, вот и заинтересовал ваш опыт ( что касается sql, то это был 2000, причем установка последнего патча прям сильно повышала производительность 1с). P.S. сама реализация была на delphi, по сути обычный "планировщик заданий windows", но с управлением из 1с и кучей плюшек. P.SS. так руки не дошли перед запуском клиента 1с в таблице 1SUSERS сбрасывать счетчик пользователей, а при входе возвращать на место, чтобы не запрашивало переиндексацию.
13. user707242_Gold_karas 13 29.11.21 17:22 Сейчас в теме
(12)Да, неправильно вас понял, извиняйте. Но что-то похожее я в статье самым последним абзацем расписал "Для уменьшения нагрузки на базу и при наличии резервного сервера – часть задач может выполнять резервный сервер (физически размещенный в другом месте)." Но это у меня только один заказчик держит сервер в горячем ожидании (ночью с основного на него полностью все копируется), чтобы в случае основной отключаешь - резервный переименовываешь в основной и работа продолжается. и на резервном я формировал отчет который сильно загружал базу и итоги показывал на основном. Также еще можно попробовать распределенные базы - сделать через механизм УРБД базу которая опять же находилась бы на физически другом компьютере который бы формировал отчете. (в таком варианте правда делал не из-за нагрузки на основной сервер, а из-за безопасности - чтобы на основном сервер находились только данные за последние дни, а на резервном вся информация)
14. Andgman 4 29.11.21 18:36 Сейчас в теме
(13) До репликации субд не дошел, остановился на прямых запросах...
15. user707242_Gold_karas 13 29.11.21 22:31 Сейчас в теме
(14)А я до использования 1Cpp не дошел. При работе с "оперативным" учетом - от механизма стандартных запросов отказался и работаю через объект "Регистр" - для получения данных в виде таблицы значений, а дальше через таблицы значений и списки значений всё строю. Потому что любой многомерный массив можно представить в виде двумерного (т.е. таблицы значений), Как только до этого за лет десять дошел - то отчет любой сложности строиться легко и быстро. (через язык запросов у меня так не получалось)

А с репликациями на SQL очень просто - главное чтобы SQL были одинаковы (и администратор кто сеть обслуживает был адекватный). останавливаешь SQL сервер командами, копируешь два файлы mdf и ldf на локальный компьютер (это быстро минут 10-15) и запускаешь SQL сервер. Затем по сети отправляешь на удаленный компьютер (это зависит от сети и может занять и пару часов). На удаленном компьютере после того как все скопировалось тоже глушишь sql сервер, заменяешь mdf и ldf и запускаешь sql сервер. Еще можно файлы из каталога базы 1С копировать - чтобы надежней было.
16. Andgman 4 30.11.21 12:00 Сейчас в теме
(15) Под репликацией я имел ввиду транзакционные репликации peer-to-peer sql баз. А про таблицы значений сразу напомнили мне разработку от Камин для формирования КУДиР в конфигурации ТИС))))
5. user707242_Gold_karas 13 29.11.21 10:28 Сейчас в теме
(3)Насчет переиндексации - бог миловал меня. 99% клиентов работают с использованием SQL - поэтому переиндексация практически не нужна. у кого она требуется - делал батник который с утра делал переиндексацию - самым первым делом.
6. user707242_Gold_karas 13 29.11.21 10:59 Сейчас в теме
(3)пример батника с переиндексацией
Прикрепленные файлы:
StartComp c переиндексацией.bat
Reindex.prm
7. gubanoff 63 29.11.21 11:05 Сейчас в теме
Хороший пример, который подтверждает мысль, что на 7ке можно сделать все тоже, что и на 8ке. Единственный вопрос - зачем? Не проще ли перейти на 8ку и не изобретать велосипед? Такие доработки на самом деле вредят клиентам, создавая иллюзию, что 7ка жива и будет жить. Я ничего не имею против 7ки, у нас на ней еще много клиентов работает, их понять можно. А вот программистов, пытающихся реанимировать 7ку, я понять не могу.
10. Andgman 4 29.11.21 14:55 Сейчас в теме
(7) Все по закону рынка: есть спрос, вот предложение) Вообще проблема ИТ-специалистов 1с в том, что все проблемы пытаются решить платформой и мобилка на 1с и сайт на 1с и чат на 1с. Можно и нужно использовать разные инструменты.
8. user707242_Gold_karas 13 29.11.21 11:57 Сейчас в теме
Соглашусь с вами что смерть 7-ки вопрос времени. Но вот скоро сделают 10-ку, 20-ку и 8-ке такой же конец. И заново надо будет все писать. Но с другой стороны - для организаций вложивших в 7-ку 10ки тысяч уе и где все работает - надо ли?. И опять же если сравнивать 7-ку и 8-ку - это все же разные классы программ. Как я вижу 7-ка это программа нормально работающая для организаций до 30 ти пользователей, а 8-ка изначально затачивалась для большего количества пользователей. Но все это тема отдельного обсуждения.
17. Иваныч 23 17.01.23 12:39 Сейчас в теме
Я лет 20 назад заводил еще одного пользователя для себя и там делал то проведение документов, то отчет запускал. Но тогда это было весьма долгим процессом
18. user707242_Gold_karas 13 17.01.23 23:57 Сейчас в теме
(17)У меня самое большое в базе это три виртуальных работника работает. 1-ый периодически обновляет остатки продукции у клиентов на onliner, 2-ой - обменивается с терминалами рабочих через TCP-IP - (типа банковских, где рабочие отмечают выполнение выданных им заданий) 3-ий - уже выполняет кучу всякой другой работы (что то раз в день - что то периодически)(
а)Проверка заполненности курсов валют из НБ РБ,
б)расчет предварительный для менеджеров результат их труда- а менеджерам уже показываются конченые цифры,
в)загрузка курсов из ЦБ РФ,
г)отслеживание номенклатуры которая продана для пометки ее чтобы на глаза менеджерам не попадала,
д)отслеживание изменение себестоимости по новым приходам - с выдачей сообщения руководству если выходит за определённый порог,
е)отслеживание предопределенных событий и запуск определенных обработок под эти события, "например при проведении документа закрытие месяца должна автоматически пересчитаться управленческая себестоимость")
ж)проверка заполненности свойств товаров и отправка технологу отчета что есть незаполненного
з)проверка счетов которые можно отгружать (проверяет уровень рентабельности и при выходе за определенные границы - отправляет руководству)
и)отслеживание изменения ставки рефинансирования и при изменении - изменение ее в базе и оповещение
к)отслеживание свободных остатков (менеджеры забивают у себя - что их интересует и при появлении остатков по интересующим позициям их оповещает программа)
л)обсчет отчетов для аналитика и выгрузка ему в файле данных - для использовании в его программе
м)проверка запущенного в производство на возможность выпуска
Оставьте свое сообщение