|
Поделитесь кодом печати чеков на ШТРИХ-М | ☑ | ||
---|---|---|---|---|
0
vfire1000
15.02.18
✎
16:41
|
АТОЛ печатаю так:
driver = Новый ("AddIn.FPrnM8"); ... driver.Name = Наименование; driver.Price = Цена; driver.Quantity = Количество; ... driver.Registration(); driver.PrintString(); ... Поделитесь, пожалуйста, кодом для печати через драйвер ШТРИХа. driver = Новый("AddIn.Drvfr"); ... И вот дальше долго читать документацию. |
|||
1
Kigo_Kigo
15.02.18
✎
16:46
|
Обратитесь к специалисту, или ставьте яснее задачу, что требуется, что за ККТ?
|
|||
2
vfire1000
15.02.18
✎
16:54
|
(1) ШТРИХ-М-02Ф
|
|||
3
Kigo_Kigo
15.02.18
✎
16:58
|
(2) ККТ онлайн?
|
|||
4
vfire1000
15.02.18
✎
16:59
|
(3) да
|
|||
5
Kigo_Kigo
15.02.18
✎
17:08
|
Функция ПечататьЧек(Объект, Пароль, СписокТоваров, Получено1, Скидка, ПризнВозврата, НомерСекции, НомерЧека,ТипНалогов)
//Если ПустоеЗначение(Объект) = 1 Тогда // ОписаниеРезультата = "устройство не подключено"; // Возврат 0; //ИначеЕсли ПодключитьсяКФР(Объект, Пароль) = 0 Тогда // Возврат 0; //КонецЕсли; // регистрация товаров Объект.TaxType = ТипНалогов; РезРегистрация = 1; // СписокТоваров.ВыбратьСтроки(); Получено1 = 0; // Если СуммаСкидки <> 0 Тогда // СуммаВсего1 = СписокТоваров.Итог("Сумма"); // СписокТоваров.ВыбратьСтроки(); // Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл // СписокТоваров.Сумма = СписокТоваров.Сумма - СписокТоваров.Сумма/СуммаВсего1*100 * СуммаСкидки/100; // КонецЦикла; // КонецЕсли; // СуммаСкидкиНаЧек = 0; СписокТоваров.ВыбратьСтроки(); Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл СтрокаДляПечати = СписокТоваров.ТовНаим; Объект.Password = Пароль; Объект.StringForPrinting = Лев(СтрокаДляПечати,48); Если СуммаСкидки = 0 Тогда //ЦенаЦены = СписокТоваров.Цена; Объект.Price = СписокТоваров.Цена; Получено1 = Получено1+ СписокТоваров.Цена * СписокТоваров.Количество; Иначе СуммаСкидкиНаЧек =СуммаСкидкиНаЧек +(СписокТоваров.Цена * СписокТоваров.Количество - СписокТоваров.Сумма); //ЦенаЦены = СписокТоваров.Сумма/СписокТоваров.Количество; ЦенаЦены =Окр(СписокТоваров.Сумма/СписокТоваров.Количество); Объект.Price = ЦенаЦены; Получено1 = Получено1+ ЦенаЦены * СписокТоваров.Количество; КонецЕсли; //Объект.Price = СписокТоваров.Цена; Объект.Quantity = СписокТоваров.Количество; Объект.Department = НомерСекции; //Объект.DiscountValue = Скидка; //Объект.FNDiscountOperation(); //Объект.FNOperation(); //Проверка наличия колонки "НДС" в таблице значений. НДСЕсть = ""; Попытка НДС = СписокТоваров.НДС; НДСЕсть = 1; Исключение НДСЕсть = 0; КонецПопытки; Если НДСЕсть = 1 Тогда//Печатаем НДС // В настройках ФР надо настроить ставки: // Налог 1 = 18% - НДС 18% // Налог 2 = 10% - НДС 10% // Налог 3 = 20% - НДС 20% Если СписокТоваров.НДС = 18 Тогда Объект.Tax1 = 1; ИначеЕсли СписокТоваров.НДС = 10 Тогда Объект.Tax1 = 2; ИначеЕсли СписокТоваров.НДС = 20 Тогда Объект.Tax1 = 3; Иначе Объект.Tax1 = 0; КонецЕсли; Объект.Tax2 = 0; Объект.Tax3 = 0; Объект.Tax4 = 0; ДлинаСтроки = 36; Иначе ДлинаСтроки = 0; КонецЕсли; Если ПризнВозврата = 0 Тогда Объект.Sale(); Иначе Объект.ReturnSale(); КонецЕсли; // СтрокаДляПечати = СписокТоваров.ТовНаим; // // // Если ПустоеЗначение(ДлинаСтроки) = 1 Тогда // Объект.StringForPrinting = СтрокаДляПечати; // //Объект.FNOperation(); // // Объект.PrintString(); // // Иначе // Пока СтрДлина(СтрокаДляПечати)>0 Цикл // Объект.StringForPrinting = Лев(СтрокаДляПечати,ДлинаСтроки); // //Объект.FNOperation(); // // Объект.PrintString(); // СтрокаДляПечати = СокрЛП(Сред(СтрокаДляПечати,ДлинаСтроки+1)); // КонецЦикла; // КонецЕсли; Если Объект.ResultCode <> 0 Тогда ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект); АннулированиеЧека(Объект, Пароль); //ОтключитьсяОтФР(Объект, Пароль, 0); Возврат 0; КонецЕсли; КонецЦикла; Если константа.ПисатьСуммуСкидкиВЧеке = 1 тогда СтрокаДляПечати = "Сумма скидки на чек:" + Строка(глФРМ(СуммаСкидкиНаЧек,Валюта,1)); Объект.Password = Пароль; Объект.StringForPrinting = Лев(СтрокаДляПечати,48); Иначе СтрокаДляПечати = "__________________________"; //+ Строка(глФРМ(СуммаСкидки,Валюта,1)); Объект.Password = Пароль; Объект.StringForPrinting = Лев(СтрокаДляПечати,48); КонецЕсли; Объект.Password = Пароль; Если ВидПлатежа = перечисление.ВидыПлатежа.Нал тогда Объект.Summ1 = Получено1; Иначе Объект.Summ1 = 0; Объект.Summ2 = Получено1; КонецЕсли; //Объект.Summ2 = 0; Объект.Summ3 = 0; Объект.Summ4 = 0; //Объект.StringForPrinting="Масло"; //Объект.DiscountOnCheck=Скидка; //Объект.FNOperation(); Объект.FNCloseCheckEx(); Объект.CloseCheck(); Если Объект.ResultCode <> 0 Тогда //Сообщить(Объект.ResultCode); ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект); АннулированиеЧека(Объект, Пароль); ОтрезатьЧек(Объект, Пароль); //ОтключитьсяОтФР(Объект, Пароль, 0); Возврат 0; КонецЕсли; Объект.Password = Пароль; Объект.GetECRStatus(); Если Объект.ResultCode <> 0 Тогда ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект); //ОтключитьсяОтФР(Объект, Пароль, 0); Возврат 0; КонецЕсли; НомерЧека = Объект.OpenDocumentNumber+?(Объект.ECRAdvancedMode=5,1,0); ОтрезатьЧек(Объект, Пароль); //Возврат ОтключитьсяОтФР(Объект, Пароль); КонецФункции |
|||
6
Kigo_Kigo
15.02.18
✎
17:08
|
Надеюсь разберешся
|
|||
7
Kigo_Kigo
15.02.18
✎
17:09
|
там мусора много, но мне лень чистить
|
|||
8
vfire1000
15.02.18
✎
17:25
|
(5) Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |