02.02.2011 19:37
TANGOR
 
Цитата:
КоленочныйБарабанщик https://storage.olegon.ru/supermag/upload/SETScales.jar
Если кому нада.
TANGOR, проверил на большом кол-ве товаров. Около 4000 выгрузил из "товары в весах". Не создаются задания в TransferCMD, да и в TransferCMDHistory никаких записей на эту тему =/
:) Есть вещи очевидные а есть невероятные :)
технология такая.
испокон веков, т.е. изначально crystal.exe создавал задания на загрузку и выгрузку через службу KassServer (centrum.exe через CentrumExchange), заполняя определённый COM интерфейс и передавая в эту службу мнемоники/данные загружаемые на кассы или весы.
Далее служба KassServer добавляла задание на загрузку устройств в таблицы JobsQueue и JobsData откуда их забирали служба CashServ на кассы и SetScale (начиная помоему с 60-70 версии точно не помню, до этого это была служба CashServ)

начиная с версии помоему с 78 (или с 77) crystal.exe и centrum.exe работают напрямую с базой данных, т.е. не используя никаких служб.
Crystal.exe дёргает процедуру передавая в неё список кодов товаров которые надо загрузить на кассу, и число - тип данных. эти данные вставляются в таблицу TransferCmd, в которой указаны тип данных, номер адресата, уникальный идентификатор строки данных (код товара или ID чего-нибудь) и операцию загрузки или выгрузки.
И всё!
далее всё происходит так:
служба CashServer.jar проверяет, есть ли в transfercmd данные на загрузку на кассы определённых типов данных, если есть то дёргает процедуру (геттер) которая делает выборку из БД полного набора данных по уникальному идентификатору определённого типа данных который находится в transfercmd. Служба CashServer после формирования и отправки на кассу данных, (если касса скажет всё ок) дёргает процедуру (аксептер) которая грохает задания в transfercmd.

Служба SetScale будет работать напрямую с TransferCmd только с 81 ил 82 версии. до этого всё происходит так:
задания на загрузку привязок на весы (тип данных 134) попав в таблицу
TransferCmd практически сразу закидываются в таблицу JobsQueue и удаляются из transfercmd. а из jobsqueue служба SetScale из забирает и отправляет на весы.

увидеть это можно если отключить тип данных JobsDataFill :)

спасибо за внимание :)
07.02.2011 01:13
КоленочныйБарабанщик
 
А почему они могут так по-долгу обрабатываться? 100 уходят моментальо, а 134 и 120 очень долго? Может какая-нибудь процедура старая? Ни у кого скрипта нет?
08.02.2011 12:35
TANGOR
 
1. хотелось бы понять насколько медленно?
2. какие объёмы грузятся?
3. новые процедуры есть, но они как бы :) не ко все версиям походят, поэтому надо точно знать версию и патч.
Часовой пояс GMT +3, время: 01:48.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.