Форум » Для флейма » Нужна подсказка по механизму реализации » Ответить

Нужна подсказка по механизму реализации

Dima: Есть головной офис , там установлена моя торговая прога. Есть 100 магазинов , связь с офисом по FTP. У них тоже стоит моя прога не большая для создания заявок и связи с офисом. Есть остатки товара в проге на офисе. Нужно создать некий механизм , что бы магазины в сумме не могли заказать товара больше чем есть на остатке в офисе. Буду рад любым идеям ! ЗЫ По ходу в офисе тоже ведется торговля и некие перемещения товара со склада на склад

Ответов - 13

SergKis: Вместо FTP ставь LetoDbf с файлом остатков. Будет быстро и надежно (в МиниГуи есть готовая сборка LetoDbf). Если FTP убирать нельзя, то все зависит от кол-ва номенклатуры (Главное организовать последовательный доступ к фалу[ам] ftp, т.е. пока один делает заказ, другим ждать): 1 - если не много, то каждую позицию остатка как txt файл (новое значение остатка пишешь в <nr>.bak, пока есть <nr.>bak доступ др. раб.мест блокирован, если nr.bak на FTP ok, удаляешь <nr>.txt, переименовываешь <nr.bak> -> <nr>.txt). Вместо txt можно <nr>.dbf использовать. <nr>.bak дает возможность работать параллельно в заказах 2 - если номенклатуры много, можно разделить на группы, т.е. файлы (можно dbf) со списком номенклатуры, а все остальное как выше (при доступе к файлу с какого то места, для др. раб мест организуем ожидание, т.е. отсутствие <nr>.bak) Для разных складов на FTP можно организовать подкаталоги. Похожая схема (п.2) работала на clipper с FTP до 2000-х годов. Справочники так же были на сервере. У каждого файла на сервере был доп. файл с датой, временем модификации и контрольной суммой файла. Документы так же были на сервере, разделенные по файлам рабочих мест. PS Клиент FTP был на VO, висел в фоне с clipper задачей

Dima: Понял , спасибо

Haz: Дима, а adsconnect в офис не проходит ? Ты ж на ads делаешь , проверяй остатки запросом в офис. В справочнике номенклатуры сделать семафор что позиция с настоящий момент в оформлении, по окончании заказа семафор сбрасывается. Можно таблицу с остатками отдельно в словарь завести и синхронизировать ее в офисе с системой , магазины пусть по словарю проверяют.


Dima: Haz пишет: Дима, а adsconnect в офис не проходит ? у некоторых проходит но не у всех , поэтому не вариант. что то придумаю....

SergKis: Dima Попробуй LetoDbf, с ним просто будет и есть параметр letodb.ini для шифрования соединения. или простой старый (2-х поточный) LetoDb или много поточный LetoDb (этот не использую, сразу ушел в LetoDbf). [pre2] ;Crypt_Traffic = - if set to '1' [ default = 0 ] it enforces network traffic encryption, aka all connections not using encryption are blocked/ shut down. A manually used Leto_ToggleZip() will be without effect, aka compression with encryption can not be deactivated. [/pre2] Они работают как daemon у клиентов и у нас на сервере (LetoDb с 2011 года). Даже забываешь, что они есть, так надежно работают. Вспоминаешь, в основном, если антивирус меняют и он блокирует порты и адрес. PS Возможно, тебе не придется сильно править осн. программу, делаешь клиента LetoDbf параллельно и по номеру\id номенклатуры (можно через файл самый простой вариант) получаешь значение остатка с сервера и блокируешь запись на сервере, когда магазин заявку делает и разблокируешь, когда сделал и уст. новое значение остатка, да и файл остатка, практически 2-а поля 1. <код\id> 2. <остаток значение>

Haz: Через телеграм API bot гоняй запросы. Работает везде и быстро. Регистрируешь бота и мониторить его в офисе, любая точка шлёт запрос в json по остаткам и получает ответ с резервированием. После подтверждения заказа резерв списывает остатки, без подтверждения возвращает резерв. По мне реализуемо.Пример работы с ботом есть на форуме fw, проверено и работает. На тему вышел благодаря MIKHAIL с нашего форума

Dima: Haz Ты про это ? http://fivetechsupport.com/forums/viewtopic.php?f=6&t=37334&p=223020 хотя скорее это http://forums.fivetechsupport.com/viewtopic.php?f=3&t=33056

Haz: Dima пишет: Ты про это ? Про это http://forums.fivetechsupport.com/viewtopic.php?f=3&t=33056&p=194684&hilit=telegram#p194684 Код подправить чуть под json чтоб разбором строк не заниматься и все

Dima: Haz пишет: В тему https://github.com/riztan/hbtelegram

Haz: Dima пишет: В тему Дим, спасибо. Гляну обязательно. Так уже свой класс написан, но интересно прежде всего как опрашивает бота. Если написали через вэбхук, то это прекрасно

Dima: Haz Там hbCurl юзается

fil: Приветствую ! Раз уж зашла речь про чат-бот.. Поставил чат-бот через botfather. Через этот класс все работает https://github.com/FiveTechSoft/FWH_tools/blob/master/fwtelegram.rar Можно ли сделать так, чтобы передаваемое в бот сообщение видели не все абоненты чата, а только конкретные ?

Haz: fil пишет: Можно ли сделать так, чтобы передаваемое в бот сообщение видели не все абоненты чата, а только конкретные ? У каждого абонента свой чат с ботом. Если смотреть из бота, то да видно все



полная версия страницы