|
v7: АТОЛ 54-ФЗ ФФД1.05 Не могу сделать возврат прихода | ☑ | ||
---|---|---|---|---|
0
Caesar
19.07.18
✎
15:41
|
Добрый день.
По просьбе клиента дорабатываю штатную обработку из ТиС 7.7. Не могу добиться заставить делать возврат прихода. Пробую делать вот так: Если ПризнВозврата = 0 Тогда Объект.AttrValue = 1; //приход Объект.AttrNumber = 1054; Объект.WriteAttribute(); Иначе Объект.AttrValue = 2; //возврат прихода Объект.AttrNumber = 1054; Объект.WriteAttribute(); КонецЕсли; Из документа передаю соответствующее значение ПризнВозврата, но ККМ (АТОЛ 30Ф) упорно печатает признак расчета "ПРИХОД". Что еще необходимо задать, чтобы получить чек на возврат прихода? Описание ФФД (упрощенное) брал тут: https://online.atol.ru/files/Uproschennaya_versiya_FFD_ot_ATOL.pdf |
|||
1
Kigo_Kigo
19.07.18
✎
15:51
|
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // //
// ----- Чек возврата прихода без отправки электронного чека покупателю ---- // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // Mode - Режим: // 0 - Выбора // 1 - Регистрации // 2 - Отчётов без гашения // 3 - Отчётов с гашением driver.Mode = 1; driver.SetMode(); driver.NewDocument(); // Записать должность и ФИО кассира driver.AttrNumber = 1021; driver.AttrValue = "Старший кассир Иванов И.И."; driver.WriteAttribute(); // CheckType - Тип чека: // 1 - Приход // 2 - Возврат прихода // 4 - Расход // 5 - Возврат расхода // 7 - Коррекция прихода // 9 - Коррекция расхода driver.CheckType = 2; // CheckMode - Режим формирования чека: // 0 - только в электронном виде без печати на чековой ленте // 1 - печатать на чековой ленте driver.CheckMode = 1; driver.OpenCheck(); driver.AttrNumber = 1055; // Применяемая система налогооблажения в чеке: // ОСН - 1 // УСН доход - 2 // УСН доход-расход - 4 // ЕНВД - 8 // ЕСН - 16 // ПСН - 32 driver.AttrValue = 8; driver.WriteAttribute(); // Регистрация товара или услуги driver.Name = "Молоко 3.2%"; driver.Price = 50.33; driver.Quantity = 2; driver.Department = 0; // TaxTypeNumber - Номер налога: // 0 - Налог из секции // 1 - НДС 0% // 2 - НДС 10% // 3 - НДС 18% // 4 - НДС не облагается // 5 - НДС с расчётной ставкой 10% // 6 - НДС с расчётной ставкой 18% driver.TaxTypeNumber = 4; // рекомендуется рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован // driver.DiscountValue = 10; // // DiscountType - Тип скидки: // // 0 - суммовая // // 1 - процентная // driver.DiscountType = 0; driver.Registration(); driver.Caption = "В том числе скидка: 4.67\nЦена без скидки: 55.00"; driver.PrintString(); // Отброс копеек (округление чека без распределения по позициям). Скидка на чек доступна только для его округления до рубля. Таким образом недоступны: надбавки, назначение "на позицию", процентные значения. SummCharge(), PercentsCharge(), PercentsDiscount () и ResetChargeDiscount () более недоступны // Destination - Назначение скидки: // 0 - на чек // 1 - на позицию (недоступно) driver.Destination = 0; driver.Summ = 0.66; driver.SummDiscount(); // Нефискальная печать с информацией по скидкам чека driver.Caption = "--Скидки по чеку--"; driver.PrintString(); driver.Caption = "Сумма чека без скидок 110.00"; driver.PrintString(); driver.Caption = "Скидки по карте: 9.34"; driver.PrintString(); driver.Caption = "Округление: 0.66"; driver.PrintString(); // Оплата и закрытие чека // TypeClose - Тип оплаты: // 0 - Наличными // 1 - Электронными средствами платежа driver.TypeClose = 0; driver.Summ = 100.00; driver.Payment(); driver.CloseCheck(); |
|||
2
Kigo_Kigo
19.07.18
✎
15:53
|
Короче используйте команду
объект.CheckType = 2; |
|||
3
Масянька
19.07.18
✎
15:56
|
(2) Однозначно. И лучше перед CheckOpen воткнуть.
|
|||
4
Davalebor
19.07.18
✎
16:03
|
(2) А можно ли после печати чека получить в 1с номер чека, который пробит?
В старой типовой обработке, где формировался файлик XML? а потом был код Объект.СформироватьЧек(глФРИДУстройства, Кассир, Электронно, ТекстАдоДБСтрим, НомерЧека, НомерСмены, ФискальныйПризнак, АдресСайтаПроверки); В НомерЧека возвращался реальный номер пробитого чека. А в новой обработке получение номера чека никак не описано. Есть возможность его получить? |
|||
5
Kigo_Kigo
19.07.18
✎
16:07
|
(4) driver.RegisterNumber = 51;
driver.GetRegister(); НомеррДока = driver.DocNumber |
|||
6
Davalebor
19.07.18
✎
16:14
|
(5) Спасибо!
Попробую. |
|||
7
Caesar
19.07.18
✎
17:52
|
А если используется конструкция beginItem / EndItem?
В таком случае OpenCheck излишен.. |
|||
8
Caesar
19.07.18
✎
17:55
|
ну, то есть CheckOpen
|
|||
9
Davalebor
20.07.18
✎
09:03
|
(5) Да, все отработало как надо. Спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |