13.11.2013 18:51
Привет всем!
Set Retail 05.02.80.0.13
1С Рарус
проблема такая, позавчера, когда пришел на работу, увидел что робот кристалла грузит полностью все товары на кассы. Это походу запустил один из операторов-приемщиков по ошибке.
Были загружены товары на 82%, я его отменил, т.к. сервер жутко висел.
Проблема началась позже, на кассах когда пробивают товар, цена, ШК и код товара верны, но название вообще другое. На одной кассе если селедка проходит как селедка, то на другой как тазик квадратный! :(
Стали инвалидировать товары по чуть - чуть и грузить на кассы, но все опять встало. Стал грузить товары на каждую кассу отдельно, но думаю это не вариант, грузится ооочень долго и на кассах покупатели не будут ждать.
Как можно решить данную проблему по другому? Есть варинаты?
13.11.2013 21:11
В настройках сервера постерминалов есть пункт размер пакета, не в confutil. Аля плавная загрузка.
Или стянуть с "правильной" кассы справочники товаров и ш\к мувером, а потом раскидать по остальным
13.11.2013 21:47
не подскажете точный путь? не найду я его что то, нашел только в конфутил :)
Миниатюры
Нажмите на изображение для увеличения
Название: Снимок.JPG
Просмотров: 834
Размер:	91.4 Кб
ID:	2755  
14.11.2013 10:41
:connie_testwall: я ж написал не в Confutil. Откройте в 1С список оборудования, откройте на изменение ваш "Cервер Pos терминалов...", над кнопкой закрыть есть размер пакета, введите туда новое значение. Я прописываю 500-1000 в зависимости от настроения. При загрузке в строке состояния будет видно, формирую задание ... (пакет ...)
14.11.2013 10:51
т.е. прописываю кол-во пакета и нажимаю на полную перезагрузку?
14.11.2013 11:48
теперь появилась проблема другая: не загружаются товары с 1С в Сет, для проверки загрузки товаров прописываю этот скрипт в скуле:
--после всего перезагрузись службы


--- * - для transfercmd
--- ** - для transfertype
--- *** - для transfertargets
USE ses
---
SELECT
'Всего' 'JobsQueue',
DeviceType 'Тип',
count(*)'Заданий ',
sum(jobrows)'Строк '
FROM jobsqueue (NOLOCK)
GROUP BY devicetype

SELECT
'' 'JobsQueue',
DeviceType 'Тип',
DeviceId 'Устройство',
Status 'Статус',
count(*)'Заданий ',
sum(jobrows)'Строк ',
convert(varchar,min(createat),112) 'min Operday'
FROM jobsqueue (NOLOCK)
GROUP BY devicetype,deviceid,status
ORDER BY devicetype,deviceid
---
SELECT count(*)'ChequeHead - count(*) (taken=0)' FROM chequehead (NOLOCK) WHERE taken=0
---
SELECT count(*)'TrCMD - count(*)*' FROM transfercmd (NOLOCK)
---
SELECT
cmd.transfertype 'Тип*',
CASE WHEN tp.description IS NULL THEN '-' ELSE tp.description END 'Описание по типу**',
count(*) 'Количество*'
FROM transfercmd cmd (NOLOCK)
LEFT JOIN transfertype tp ON tp.id = cmd.transfertype
GROUP BY cmd.transfertype,tp.description
ORDER BY cmd.transfertype,tp.description
---
SELECT
cmd.transfertype 'Тип*',
CASE WHEN tp.description IS NULL THEN '-' ELSE tp.description END 'Описание по типу**',
cmd.targetid 'ID* ',
CASE trg.TargetType
WHEN '1' THEN 'Касса'
WHEN '2' THEN 'Весы'
WHEN '3' THEN 'Принтер'
ELSE 'ERP'
END AS 'Оборудование***',
trg.TargetID 'Номер***',
count(*) 'Количество*',
convert(varchar,min(cmd.datacreate),120) 'min(Опер.день)*',
convert(varchar,max(cmd.datacreate),120) 'max(Опер.день)*',
CASE WHEN (convert(int,max(getdate()),112) - convert(int,min(cmd.datacreate),112)) > 3 THEN ' =!=' ELSE '' END 'Просрочка > 3*'
FROM transfercmd cmd (NOLOCK)
LEFT JOIN transfertype tp ON tp.id = cmd.transfertype
LEFT JOIN transfertargets trg ON trg.id = cmd.targetid
GROUP BY cmd.transfertype,tp.description,cmd.targetid,trg.TargetType,trg.TargetID
ORDER BY cmd.transfertype,tp.description,trg.TargetID,trg.TargetType,cmd.targetid

--- чистка TransferCMD
--DELETE FROM transfercmd WHERE targetid IN (76,91) AND transfertype IN (100) AND convert(varchar,datacreate,112) < '20090701'
--DELETE FROM transfercmd WHERE convert(varchar,datacreate,112) < '20090701'

--- чистка JobsQueue
--update jobsqueue set status=0 where devicetype=1 and deviceid=1
--delete from jobsqueue where devicetype=1 and deviceid in (36)
--delete from jobsqueue where devicetype=1 and convert(varchar,createat,112) < '20091024'
--delete from jobsqueue where devicetype=2 and deviceid in (36)
--delete from jobsdata where datatype=2 and s3 <> ''
--delete top (1000) from jobsqueue where devicetype=1 and deviceid in (1) --если много и сильно тормозит
--delete from jobsqueue where devicetype in (1,2,3) and status=0 and jobrows=0 or errtype <> '0'

--- чистка базы
--truncate table jobsqueuelog
--truncate table jobsdatalog
--truncate table errorlog
--backup log ses with no_log --после чего shrink
--backup log ses_archive with no_log --после чего shrink

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

еще проблема, сет страшно висит, если отключать службу транспорта, то сет отвисает.
14.11.2013 12:27
Можно . Просто какая ситуация получается, ваш список на загрузку 30000 товаров, пошла полная перезагрузка -формируется массив из 30000 товаров (код товара+наименование++++) 30000 или более ш\к +цены+ еще чтото.+ группы. Все это надо собрать в единую конструкцию из разных таблиц, а когда маленькими пакетами, оно и меньше времени на обработку тратится и будет быстрей грузиться.
14.11.2013 12:28
скорей всего чеки в архив не ушли
14.11.2013 12:46
тем больше пакетов (например 10 000), тем меньше товаров в 1 пакете и быстрее формируется список? или наоборот?
14.11.2013 13:10
у меня есть обработка, называется инвалидировать по чуть-чуть))
получается это тоже самое, только в нем можно указывать кол-во товаров которых нужно прогрузить на кассы, и даже можно указать в счетчике то кол-во на котором можно остановиться и продолжить дальше если понадобится.
сама обработка во вложении
Часовой пояс GMT +3, время: 20:38.

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