Имя: Пароль:
1C
Админ
.Загрузка отчета ККМ в УТ 11
0 SMiLeyRDTC
 
16.05.12
23:56
Друзья, кто-нибудь сталкивался с загрузкой отчета о продажах ККМ-offline в УТ 11? Штатная обработка вылетает на отмене(56) и скидках(15 и 17). Помогите разобраться, очень надо решить эту проблему! Третьи сутки голову ломаю.
1 Shrike
 
17.05.12
00:37
Смотреть в отладчике обработку обслживания и обработку закрытия кассовой смены. И структру файла выгрузки с ККМ.
2 SMiLeyRDTC
 
17.05.12
00:54
)три дня я искал ответ в окне. ну а поконкретнее. Итак, у меня есть в модуле обработки:
Часть со скидками где условие никогда не выполняется

... ТипТранзакции = 15 Или ТипТранзакции = 17 Тогда
// Итоговая скидка на позицию
...
Если Товар.Количество() > 0 Тогда
НомерЭлемента = Товар[Товар.Количество() - 1].ИндексВМассиве;
Товар = Чеки[НомерЭлемента];
...

Отмена чека сваливается в ошибку выхода индекса за пределы допустимых значений

...ТипТранзакции = 56 Тогда
// Отмена чека
...
Чеки.Удалить(Товары[КоличествоСтрок - УдалСтрока].ИндексВМассиве);
...

Пример выгрузки:
//скидка
1812884;27.01.12;12:58:26;17;1;1434;1;1177846;1;0;15;8.47;
//отмена
1808840;11.01.12;12:12:22;56;1;718;1;0;0;0;0;47.5;
3 Shrike
 
17.05.12
01:24
Из 10.3 но суть думаю одна и та же.
СтруктураПоиска  = Новый Структура("Код, Секция, НомерЧека");
              СтруктураПоиска.Код        = Код;
          СтруктураПоиска.Секция     = Секция;
          СтруктураПоиска.НомерЧека  = НомерЧека;
          Товар                      = Чеки.НайтиСтроки(СтруктураПоиска);
Т.е. не находит строки со скидками по переданным значениям кода, секции и номера.
4 SMiLeyRDTC
 
17.05.12
12:52
Тогда вопрос, который поможет разобраться где НайтиСтроки() пытается найти чеки. Как вывести массив который формируется функцией НайтиСтроки() ?
5 Shrike
 
17.05.12
16:12
Либо у меня УТ 11 старая, либо просто не нашел штатную обработку загрузки ККМ-offline :(
А так из текстового файла выгрузки  удаляешь все транзакции за исключением чеков со скидками или отменой. В конфигураторе (если как в 10.3) ставишь точку останова где нибудь в обработке закрытия смены, доходишь до момента когда тебя перекидывает на обработку обслуживания, там вычисляешь параметры по которым формируется массив "Товар".
6 SMiLeyRDTC
 
17.05.12
18:18
Спасибо, но я уже из мест ошибок в обработке код привел. Мне с ним то и надо разобраться. Как все-таки вывести элементы массива в информационную панель или куда угодно.
7 Shrike
 
17.05.12
18:36
Я же тебе говорю про отладчик, в нем можешь вывести массив и просмортеть его значения, и по каким параметрам идет поиск строк.
8 Shrike
 
17.05.12
18:40
Выделяешь массив, нажимаешь кнопку "Вычислить выражение", затем кнопку "Показать значения в отдельном окне"
9 Ахиллес
 
17.05.12
19:07
(0) А ты думал в сказку попал? Типовая загрузка от 1С это амно  редкостное. Практически ничего не умеет и для реальной работы не пригодна. Так, что крнфигуратор в зубы и ррработать, негр, солнце ещё не село. Ну или купи готовое :-)
10 SMiLeyRDTC
 
17.05.12
21:33
Огромное спасибо! Буду дописывать.
11 SMiLeyRDTC
 
18.05.12
11:56
Ограниченность возможностей и не работает вовсе - это разные вещи. Просидев над ней до середины ночи, выявилась маленькая ошибочка в !ОДИН! символ (вместо 0 индекса массива поставил инкремет по циклу и все принципиально заработало). В связи с этим меня удивляет, что никто не сталкивался с этим или неужели настолько не популярна УТ 11 в связке с Штрих-М-ККМ???
12 SMiLeyRDTC
 
18.05.12
12:02
А косяк в функции НайтиСтроки(СтруктураПоиска). Она с этим "0" возвращает структуру одинаковых массивов, что и вызывает сбои дальнейшего ее применения в разных транзакциях. Конфигурация поставщика, обновляется через интернет, не пиратка и не самописка из интернета.