Имя: Пароль:
1C
1С v8
Как доработать обработку, чтоб можно было снимать Х-отчеты без гашения
0 pnamik
 
01.12.14
17:54
Конфигурация самописная для розничной торговли. 1С 8.0.18.2
ККм Спарк 700ТК. Есть обработка для управления ККМ. Сейчас можно снимать Х-отчет сразу после того, как открыли смену. После того, как пробивали несколько чеков, невозможно снимать х-отчет. Ошибка illegal command. Привожу процедуру


Процедура кнСуточныйХОтчетНажатие(Элемент)
   Если глФРВкл = 0 Тогда
       Предупреждение("ККМ сначала нужно подключить!");
       Возврат;
   КонецЕсли;    
   Рез = глФР.PrintReport(1);
   Если Рез <> 0 Тогда
       Сообщить(глФР.GetErrorComment(Рез));
   КонецЕсли;
КонецПроцедуры
1 Wobland
 
01.12.14
17:55
открою глаза: х-отчёт по определению снимается без гашения
2 Wobland
 
01.12.14
17:56
смотреть в PrintReport()
3 pnamik
 
01.12.14
17:56
Знаю, что х-отчет это без гашения,а z-отчет с гашением. Привожу еще процедуру снятия z-отчета

Процедура кнЗакрытьСменуНажатие(Элемент)
   Если глФРВкл = 0 Тогда
           Предупреждение("ККМ сначала нужно подключить!");
           Возврат;
   КонецЕсли;
   СменаОткрыта = глФР.GetDeviceInfo(4);
   Если СменаОткрыта = 1 Тогда
           Если Вопрос("Вы действительно хотите закрыть текущую смену?",РежимДиалогаВопрос.ДаНет,,КодВозвратаДиалога.Нет,"Подтверждение закрытия смены") = КодвозвратаДиалога.Нет Тогда
              Возврат;
       КонецЕсли;
        НомерСмены = глФР.GetDeviceInfo(27);
        НомерСмены = Число(Строка(НомерСмены));
           Рез = глФР.EndSession();
          //СформироватьОКС();
   Иначе  
           Предупреждение("Смена уже закрыта!");
   КонецЕсли;
    
    Обработка = Обработки.МенюРМК.ПолучитьФорму("Форма");
    Обработка.Открыть();
    
    Этаформа.Закрыть();
КонецПроцедуры
4 KRV
 
01.12.14
17:56
Семерошник писал явно..
5 Wobland
 
01.12.14
17:57
ну ещё чего-нибудь приведи. мы любим смотреть на какие-то куски кода
6 pnamik
 
01.12.14
18:00
Думал, что процедуры снятия всех отчетов поможет подсказать лучше. Хотя в ваших способностях нет сомнения, иначе не обратился бы. Предлагаете, варианты PrintReport() или PrintReport(0)?
7 SUA
 
01.12.14
18:01
(0)>>Есть обработка для управления ККМ
а мануалы?
8 pnamik
 
01.12.14
18:03
мануалов нет
9 hhhh
 
01.12.14
18:04
(6) вас же в турьму посадят.
10 pnamik
 
01.12.14
18:07
(9) за что? причем в турьму?
11 pnamik
 
01.12.14
18:08
(9) можете подсказать, подскажите по решению проблемы (0)
12 pnamik
 
01.12.14
18:59
нашел мануал

отрывок

Метод PrintReport

Вывод отчета.

Long PrintReport (Long nType)

<1C:    ПечатьОтчета>

Параметр:
nType определяет тип отчета
1 - Х1 отчет
2 - Х2 отчет
3 - Z1 отчет
4 - Z2 отчет
11 – Отчет по программированию
12 – буфер контрольной ленты (Спарк-115 ТФ)

Сменный отчет по продажам  - X1(без гашения сменных регистров) /Z1(с гашением сменных регистров).
Накопленный отчет по продажам – X2(без гашения сменных регистров) /Z2(с гашением сменных регистров).
Накопленный отчет Z2 с гашением доступен только после снятия сменного отчета Z1 с гашением и после посылки пароля доступа к Фискальной Памяти.
Внимание! При вводе неправильного пароля доступа к Фискальной Памяти - ККМ блокируется до ввода правильного пароля.
Пример:
X1 отчет
spark. PrintReport(3)

Z2 Отчет
spark.SetAccessKey ("xxxxxx") // Пароль доступа к ФП
spark.PrintReport(4)


ставлю PrintReport(2), пишет illegal command
ставлю PrintReport(0), пишет лимит превышен
ставлю PrintReport() (пустот оставляю), пишет недостаточно параметров.

Помогите пожалуйста
13 Ёпрст
 
01.12.14
19:01
PrintReport(1) ?
14 pnamik
 
01.12.14
19:08
(13) Если единица, только сразу после открытия смены дает снимать х-отчет. А нужно чтобы в любой момент можно было снимать х-отчет
Закон Брукера: Даже маленькая практика стоит большой теории.