На главную страницу Версия-Т
VTSoft.ru

АРМ кассира 3.6.2.0 увеличивает цену в 2 раза !!!!


RSS
АРМ кассира 3.6.2.0 увеличивает цену в 2 раза !!!!
 
Стоит ТиС 932 + АРМ кассира версии 3.6.2.0
При выполнении процедуры "Загрузка ККМ ОФФ-лайн" товар перегружается в АРМ, но розничная цена увеличивается четко ровно в 2 раза. В чем беда?
 
Надо смотреть алгоритмы, по которым товары и цены вибираются из базы ТиС. Алгоритм этот находится в обработке "ЗагрузкаККМ". По крайней мере проверил эту ситуацию на демо-базе (DemoDb) ТиС ред. 930. Цены выгружаются правильные.
 
Вообще конечно странно всё это. Покопаю конечно, сравню. А ещё один вопрос:
АРМ кассира конечно прикольная штука, но вот то что она работает исключительно через SQL firebird очень плохо. Дело все в том, что в 1с-овской базе у меня номенклатуры 15000 позиций. Если происходит какие-либо изменения (ценовые, или пришёл новый товар), то необходимо произвести ВыгрузкаККМ, то есть обновить базу данных SQL firebird. Так вот все это дело при таком количестве номенклатуры происходит минут 20, а АРМ кассира блокируется. Таким образом магазин не работает 20 минут. Может нужно какое-нибудь другое решение?
 
По поводу цены. Проанализировал алгоритм вычисления цены при формировании списка товаров в обработке "ЗагрузкаККМ", того списка, который передается в обработку ARM_KKM_AMC.ert. Вот этот алгоритм:

---

Если ОстРозн.Количество<>0 Тогда
СписокТоваров.Цена = ОстРозн.Цена;
ИначеЕсли глВернутьЦену(Товар,Константа.РозничныйТипЦен,,ЦенаИзСправочника) = 1 Тогда
СписокТоваров.Цена = ЦенаИзСправочника;
Иначе
СписокТоваров.Цена = 0;
КонецЕсли;

---

Кусок взят из тела цикла по результатам запроса остатков товаров из регистра "Остатки ТМЦ". Если остаток товара больше 0, то берется цена из регистра остатков ОстРозн.Цена, если остаток в регистре = 0, то цена берется из справочника цен при помощи процедуры глВернутьЦену. Иначе цена = 0. Вот от этого и надо плясать при выяснении причин происходящего.

По поводу выгрузки. Обработку ARM_KKM_AMC.ert можно переделать таким образом, чтобы в БД проводилось обновление только тех товаров, которые изменялись. Это увеличит скорость выгрузки на порядок. Все зависит от кол-ва обновляемых товаров. Еще одно решение - это встроить в приходный документ ТиС кусок кода, который будет производить изменения в БД АРМ кассира только для тех товаров, которые содержаться в табличной части документа. Это решение увеличит скорость выгрузки еще на порядок, т.к. из всего алгоритма выгрузки уйдут такие емкие по времени вещи как запрос к регистру остатков в обработке "Выгрузка ККМ" и проверка параметров каждого товара в ARM_KKM_AMC.ert, для принятия решения нужно его обновлять или нет. Но в этом случае придется перетаскивать этот код каждый раз при обновлении релиза конфигурации.