![]() |
|
ТоварыНаККМ и КодыВесовогоТовара | ☑ | ||
---|---|---|---|---|
0
Gena1984
17.11.12
✎
08:45
|
Помогите пожалуйста разобраться с принципом работы этих регистров. КА 1.1 В регистре Товары на ККМ коды равны коду товара (так автоматом заполнился и это правильно) в Регистре Коды весового товара коды (PLU) заполнились по порядку(и это тоже правильно), но при загрузке в конце дня отчета о розничных продажах обработка не видит весовой товар пока не поменяешь в регистре Коды весового товара код(PLU) на код товара. В чем прикол? Что не так?
|
|||
1
ICWiner
17.11.12
✎
09:08
|
Там в настройках где-то была хрень, типа выгружать в качестве PLU коды или по порядковым номерам. Попробуй сменить что ле настроичку...
|
|||
2
Gena1984
17.11.12
✎
09:18
|
Настройка, то есть, только мне нужно товары на ККМ заполнять по коду товара, а Коды весового товара по порядку. Коды весового товара и так по порядку заполняются, только тогда загрузка отчета ККМ не работает.
|
|||
3
ICWiner
17.11.12
✎
09:28
|
Отладчиком глядел что там при загрузке происходит? Как он пытается номенклатуру с кодом соотносить?
|
|||
4
Gena1984
17.11.12
✎
09:29
|
Рассказываю весь принцип. Мы переходим на 8.2 КА с 7.7 ТиС Есть 3 кассы и 6 весов. PLU в кассе присвоены по коду и совпадают с кодами регистра Товары на ККМ я просто заполняю этот регистр автоматом и все. Регистр Коды весового товара заполняется автоматом по порядку номеров вне зависимости от кода товара. Память весов в итоге мне придется очищать и загружать туда товар заново. Но при загрузке отчета о розничных продажах не загружается весовой товар. Не пойму, что делаю не так.
|
|||
5
ICWiner
17.11.12
✎
09:31
|
Как называется обработка, которая загружает ОРП?
|
|||
6
Gena1984
17.11.12
✎
09:32
|
Закрытие кассовой смены
|
|||
7
ICWiner
17.11.12
✎
09:32
|
Она ж только чеки, вроде, собирает в КА. Сейчас гляну
|
|||
8
Gena1984
17.11.12
✎
09:33
|
Не, она как раз отчет формирует.
|
|||
9
ICWiner
17.11.12
✎
09:35
|
Ну да, делает орп из чеков за день по кассе.
|
|||
10
Gena1984
17.11.12
✎
09:37
|
Правильно. Только почему он к регистру Коды весового товара обращается? И обращается по коду товара, а там номер по порядку. И все. Весовой в ОРП не попадает.
|
|||
11
ICWiner
17.11.12
✎
09:43
|
В обработке ЗакрытияКассовойСмене нет ни одного обращения к РС КодыВесовогоТовара. В обработке сервер ТО к этому регистру обращаются тоглько при поиске по штрихкоду. Таки проблема, я думаю, не в закрытиеКС, а в том что не сформированы нормально чеки. Закрытию-то пофиг, он просто собирает все годные чеки за день. При считывание ШК по этому весовому товару чек ккм нормально заполняется?
|
|||
12
Gena1984
17.11.12
✎
09:52
|
Нормально. Никак не могу понять взаимосвязь. Этой обработки и кода весового товара. Приведу пример.
Чек 615812/000000 21.03.11 12:04:56 1 379.05 000000 Кассир #1 2951919 0.298 77.33 77.33 0000000000 000000 0.00% 0000000000000 Вот строка текста из файла чеков. При установке в регистре Коды весового товара номера по порядку при загрузке этого чека выскакивает ошибка, что товар не найден. Если не номер по порядку, а код товара, тогда все находит. Как это работает не пойму. |
|||
13
ICWiner
17.11.12
✎
10:04
|
А чеки чем загружаешь? Неужто закрытие кассовой смены их сама из файла подтягивает? И файл чем формируется? Там что-то та фронте отдельное стоит, а КА - это бэк офис?
|
|||
14
Gena1984
17.11.12
✎
10:07
|
ККМ off-line находится в локальной сети. Касса сама формирует эти файлы, а оператор обработкой закрытие кассовой смены эти файлы загружает в 1с. Пока в 7.7, но след. неделе планируем на 8.2 перейти. А тут такой затык.
|
|||
15
ICWiner
17.11.12
✎
10:10
|
Воот, это и хотел услышать. ККМ офлайн значит. В ТО сервере посмотри что происходит в функции ЗагрузитьОтчетОПродажах, точку остановки там бахни. Там есть такой код:
Результат = ПолучитьОбъектДрайвера(Идентификатор, Обработка, Объект); Если НЕ ЗначениеЗаполнено(Результат) Тогда Отчет = Новый ТаблицаЗначений(); Отчет.Колонки.Добавить("Номенклатура"); Отчет.Колонки.Добавить("ЕдиницаИзмерения"); Отчет.Колонки.Добавить("ХарактеристикаНоменклатуры"); Отчет.Колонки.Добавить("СерияНоменклатуры"); Отчет.Колонки.Добавить("Качество"); Отчет.Колонки.Добавить("Количество"); Отчет.Колонки.Добавить("Цена"); Отчет.Колонки.Добавить("Сумма"); НомерЧека = Неопределено; НомерСмены = Неопределено; ВремОтчет = Неопределено; СтрокаОтчета = Неопределено; Результат = Обработка.ЗагрузитьОтчет(Объект, ВремОтчет); Если НЕ ЗначениеЗаполнено(Результат) Тогда Запрос = Новый Запрос( "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | РегТО.КассаККМ |ИЗ | РегистрСведений.ТорговоеОборудование КАК РегТО |ГДЕ | РегТО.Идентификатор = &Идентификатор"); Запрос.УстановитьПараметр("Идентификатор", Идентификатор); КассаККМ = Запрос.Выполнить().Выгрузить()[0].КассаККМ; Позиция = Неопределено; Для каждого Позиция Из ВремОтчет Цикл ОписаниеПозиции = РаботаСТорговымОборудованием.ПолучитьОписаниеТовараККМ(КассаККМ, Позиция.ПЛУ); |
|||
16
ICWiner
17.11.12
✎
10:10
|
Тебя должна интересовать последняя строчка
ОписаниеПозиции = РаботаСТорговымОборудованием.ПолучитьОписаниеТовараККМ(КассаККМ, Позиция.ПЛУ); |
|||
17
ICWiner
17.11.12
✎
10:11
|
Там отсылка к следующей функции, где и идет запрос по ПЛУ
Результат = Неопределено; Запрос = Новый Запрос( "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1 | РегТовары.Номенклатура КАК Номенклатура, | РегТовары.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | РегТовары.ХарактеристикаНоменклатуры КАК ХарактеристикаНоменклатуры, | РегТовары.СерияНоменклатуры КАК СерияНоменклатуры |ИЗ | РегистрСведений.ТоварыНаККМ КАК РегТовары |ГДЕ | РегТовары.КассаККМ = &КассаККМ | И РегТовары.Код = &ПЛУ"); Запрос.УстановитьПараметр("КассаККМ", КассаККМ); Запрос.УстановитьПараметр("ПЛУ", ПЛУ); РезультатЗапроса = Запрос.Выполнить(); Если Не РезультатЗапроса.Пустой() Тогда Результат = Новый Структура( "Качество, Номенклатура, ЕдиницаИзмерения, ХарактеристикаНоменклатуры, СерияНоменклатуры", Справочники.Качество.Новый); Выборка = РезультатЗапроса.Выбрать(); Выборка.Следующий(); ЗаполнитьЗначенияСвойств(Результат, Выборка); КонецЕсли; Возврат Результат; |
|||
18
Gena1984
17.11.12
✎
10:12
|
Ща гляну.
|
|||
19
ICWiner
17.11.12
✎
10:12
|
Поставь точку остановки в модуле ТО, посмотри что там за временный отчет загружается - норм или нет. Если норм, то уже точку остановки в общем модуле РаботаСТорговымОборудованием
|
|||
20
ICWiner
17.11.12
✎
10:13
|
Там определяется товар по плу в запросе(17)
|
|||
21
Gena1984
17.11.12
✎
10:33
|
Если НЕ ПоискПоШтрихкоду(_Штрихкод, пТовар, пЕдиница, Весовой, пКачество, пХаракНоменклатуры, пСерияНоменклатуры) Тогда
// не нашли СООБЩИТЬ("Не найден товар по штрихкоду "+_Штрихкод+" ! Строка в файле "+ Индекс,СтатусСообщения.Внимание); Продолжить; // КонецЕсли; Если Не ПолучитьПЛУТовараККМ(КассаККМ, птовар, пЕдиница, КодПЛУ) Тогда // не нашли СООБЩИТЬ("Не найден ПЛУ товара штрихкод "+_Штрихкод+" ! Строка в файле "+ Индекс,СтатусСообщения.Внимание); Продолжить; // КонецЕсли; Вот это место. В функции ПоискПоШтрихкоду ищет ШК если весовой, то регистру Коды весового товара, если нет по регистру Товары на ККМ. Ищет этот номер 2951919 и не находит, потому что в регистре коды весового товара коды по порядку, а 2951919 это код товара (51919) с префиксом. И все, вылетает. |
|||
22
Gena1984
17.11.12
✎
10:40
|
Может попробовать отключить этот кусок.
|
|||
23
ICWiner
17.11.12
✎
10:42
|
Ну проблемное место найдено, там накодить - пару минут делов.
|
|||
24
Gena1984
17.11.12
✎
10:49
|
Накодить то не долго. Интересно другое. Где ошибка? У 1С или у меня? Или нет никакой ошибки, а просто в кассе не те коды весового товара хранятся?
|
|||
25
ICWiner
17.11.12
✎
11:04
|
Дело в настройках, по идее. Что мешает поставить, чтоб коды выгружались не по порядку, а по коду?
|
|||
26
Gena1984
17.11.12
✎
11:09
|
Так вот в этом то и дело. Опять нужно переписывать. Потому что регистр Коды весового товара заполняется только по порядку и ни как иначе. По модулю посмотрел. Вот в чем весь секрет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |