Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 7.7 и ранее

v7: ККМ штрих отразить услуги

v7: ККМ штрих отразить услуги
Я
   knopik777
 
22.09.18 - 15:58
Друзья, есть Штрих-on-Line все настроено все работает, есть необходимость добавить отражение услуг. Сейчас в чеке ниже описания товара выводится поле с цифрой 1, а ниже слово товар.
Скажите как отразить услугу. Секциями или чем и как?
Поиском не нашел.
 
 
   Звездец
 
1 - 22.09.18 - 16:33
признаком предмета расчета. Читай описание ФФД 1.05, а потом руководство программиста драйвера
   kupec
 
2 - 24.09.18 - 10:33
(0) Разобрались?
   knopik777
 
3 - 24.09.18 - 15:11
(2) нет. Ищю варианты и примеры
   Kigo_Kigo
 
4 - 24.09.18 - 15:41
А чем продажа товара и продажа услуги отличается по сути пробития чека?
   kupec
 
5 - 24.09.18 - 16:33
(4) тем что указываешь разные параметры при формировании продажи
   kupec
 
6 - 24.09.18 - 16:33
//*****************************************************************************************

//PaymentItemSign ПризнакПредметаРасчета
//Признак прдемета расчета. Возможные значения:

//1. Товар
//2. Подакцизный товар

//3. Работа
//4. Услуга

//5. Ставка азартной игры
//6. Выигрыш азартной игры

//7. Лотерейный билет
//8. Выигрыш лотереи

//9. Предоставление РИД
//10. Платеж

//11. Составной предмет расчета
//12. Иной предмет расчета


//печатаем чек

//ПРОДАЖА

ПроцедураПодключенияК_ККМ();

ФР.Password=ПарольКассира;
ФР.CheckType=0;
ФР.OpenCheck();
//передача адреса для отправки на EMAIL                

Если СокрЛП(Документ.АдресОтправкиЧека)<>"" Тогда
    ФР.CustomerEmail=СокрЛП(Документ.АдресОтправкиЧека);
    ФР.FNSendCustomerEmail();                       
КонецЕсли;
Документ.ВыбратьСтроки();
Пока Документ.ПолучитьСтроку()=1 Цикл
    ФР.Password=ПарольКассира; 
    ФР.Quantity=Документ.Количество;
    ФР.Price=Документ.Цена;
    ФР.Department=1;
    ФР.PaymentTypeSign=1;
    Если Документ.Номенклатура.Услуга=1 Тогда
        ФР.PaymentItemSign=4; 
    Иначе
        ФР.PaymentItemSign=1; 
    КонецЕсли;    
    ФР.StringForPrinting=Документ.Номенклатура.Наименование;
    ФР.FNOperation();
КонецЦикла;
ФР.Password=30;                               
ФР.Summ1=Документ.СуммаПолученныхНаличных;
ФР.StringForPrinting="";
ФР.CloseCheckEX();

ПроцедураОтключенияОт_ККМ();
   Pit0n_08
 
7 - 24.09.18 - 17:05
(7) это код для Штриховых ККМ?
   victuan1
 
8 - 24.09.18 - 17:29
(7) Да.
   kupec
 
9 - 24.09.18 - 18:02
(7) только подкорректируй его под свои нужды
   Pit0n_08
 
10 - 04.01.19 - 12:56
(6, 8) А кто подскажет - каким параметром для ККМ Штрих определяется система налогообложения (ОСН, УСН, ЕНВД и т.п.)?
 
 Рекламное место пустует
   Pit0n_08
 
11 - 04.01.19 - 13:08
(+10) Походу
ФР.TaxType = 4;  // 2 - УСН Доход,  4 - УСН Доход-Расход, 8 - ЕНВД
   DeMi4
 
12 - 04.01.19 - 13:15
А почему не используете библиотеку SMDrvFR1CLib24.dll и воспользоваться методами которые определены здесь https://its.1c.ru/db/metod8dev/content/4829/hdoc ?
   Pit0n_08
 
13 - 04.01.19 - 13:22
(12) В типовой ТиС (р. 998) прилагается библиотека smDrvFR1CLib20.dll и с ней ККМ на ФФД 1.05 работать не желают :(
   DeMi4
 
14 - 04.01.19 - 13:26
Работают. Версия 722 драйвера и SMDrvFR1CLib24.dll. но вот обращается он к ней progid="AddIn.SMDrvFR1C20". ни 731 ни 744 у меня тоже не заработали.
   DeMi4
 
15 - 04.01.19 - 13:27
Может поправят позже. Пока полет нормальный.
   Pit0n_08
 
16 - 04.01.19 - 13:30
(14) А где брали SMDrvFR1CLib24.dll?
И работают с обработкой обслуживания frSHTRIH54_comm.ert?
   DeMi4
 
17 - 04.01.19 - 13:32
С обработкой не знаю. C:\Program Files (x86)\SHTRIH-M\DrvFR 4.14\Bin\1C\shtrih-m_20 брал вот тут
   DeMi4
 
18 - 04.01.19 - 13:34
Если ЗагрузитьВнешнююКомпоненту(глКаталогКомпонент + "smDrvFR1CLib24.dll") = 1 Тогда
Объект = СоздатьОбъект("AddIn.SMDrvFR1C20");

У меня вот так заработало.
   Pit0n_08
 
19 - 04.01.19 - 13:41
(17) Если говорить о штатном подключении ФР в 1С 7.7 ТиС, то при выборе модели ККМ указываются, как минимум, три параметра: используемая библиотека, программный идентификатор и обработка обслуживания. Если обработка обслуживания внешняя, то для Штрихов применялись fr_elves.ert (нативный доступ к ККМ) и frSHTRIH54_comm.ert (через XML-обертку). А у Вас какая?
   DeMi4
 
20 - 04.01.19 - 13:44
У меня самописная обработка. работаю через XML
   Pit0n_08
 
21 - 04.01.19 - 13:49
(20) Спасибо за информацию. Если это не связано с гос. тайной - поделитесь обработкой на почту. :)
   DeMi4
 
22 - 04.01.19 - 14:01
Там ни чего собственно секретного нет. ИДУстройства получается через метод Open(ИДУстройства), А дальше формирование XML по обисанию с сайта методической поддержки.
   Hsals
 
23 - 04.01.19 - 14:21
(22) Если не сложно, то можно тоже обработку на почту из профиля?
   Масянька
 
24 - 04.01.19 - 14:46
(6) Она меня задолбала...
Без PrintString - выдает ошибку "Неверное состояние ФН".
С PrintString печатает 2 раза: в самом начале чека (после запрограммированного в чеке) и потом, как положено.
Чего её надо?!
   NikeArz
 
25 - 04.01.19 - 15:42
(24) Ты чего опять ругаешься, чего опять не так? Если применяешь метод  PrintString() то после него обязательно StringForPrinting = ""; Не будет дубляжа
   Масянька
 
26 - 04.01.19 - 15:47
(25) Ща покажу...
   Масянька
 
27 - 04.01.19 - 15:52
(25) Вот - https://pastenow.ru/57dc6625bf182dc44fb9a918feaab653
Вверху 4 - это предмет.
Код:
        // загоняем чек

        Объект.Price = ПечЦена;
        Объект.Quantity = ПечКоличество;
        Объект.Summ1Enabled = 1; 
        Объект.Summ1 = ПечСумма;
        Объект.PaymentTypeSign = 4;
        Объект.Tax1 = ПечСтавкаНДС;
        Объект.TaxValueEnabled = 0;
        Объект.TaxValue1 = ПечНДС;
        Объект.PaymentItemSign = Вид;
        Объект.StringForPrinting  = СокрЛП(Вид);
        Объект.PrintString();
        Объект.StringForPrinting  = ПечНаименование;
        //Объект.PrintString();

        
        Результат = ОбработкаОшибокПриПечати(Объект);

        Если (Результат = 0) Тогда
            Объект.FNOperation();
   Масянька
 
28 - 04.01.19 - 15:53
+(27) Если первую Объект.PrintString(); убрать, то выдает неверное состояние ФН.
   Масянька
 
29 - 04.01.19 - 15:56
+ (28) Если Объект.StringForPrinting  = СокрЛП(Вид); убрать, то наименование товара печатает вверху. А потом и как надо - двоит то есть.
Что за хрень лезет вверху?
   NikeArz
 
30 - 04.01.19 - 15:58
(28)  Объект.Price = ПечЦена;
        Объект.Quantity = ПечКоличество;
        Объект.Summ1Enabled = 1; 
        Объект.Summ1 = ПечСумма;
        Объект.PaymentTypeSign = 4;
        Объект.Tax1 = ПечСтавкаНДС;
        Объект.TaxValueEnabled = 0;
        Объект.TaxValue1 = ПечНДС;
        Объект.PaymentItemSign = Вид;
        Объект.StringForPrinting  = СокрЛП(Вид);
        Объект.PrintString();
        Объект.StringForPrinting  = "";
        Объект.StringForPrinting  = ПечНаименование;
        Объект.PrintString();
        Объект.StringForPrinting  = "";

        
        Результат = ОбработкаОшибокПриПечати(Объект);

Попробуй вот так. Очищай строку печати перед печатью следующей. К сожалению у Штрихов есть такой косяк дублировать прошлую строчку.
   NikeArz
 
31 - 04.01.19 - 16:00
(29) Обрати внимание что в обработке, которую я тебе прислал строка печати всегда очищается после метода печати.
   Масянька
 
32 - 04.01.19 - 16:02
(30)         Объект.Price = ПечЦена;
        Объект.Quantity = ПечКоличество;
        Объект.Summ1Enabled = 1; 
        Объект.Summ1 = ПечСумма;
        Объект.PaymentTypeSign = 4;
        Объект.Tax1 = ПечСтавкаНДС;
        Объект.TaxValueEnabled = 0;
        Объект.TaxValue1 = ПечНДС;
        Объект.PaymentItemSign = Вид;
        Объект.StringForPrinting  = СокрЛП(Вид);
        Объект.PrintString();
        Объект.StringForPrinting="";
        Объект.StringForPrinting  = ПечНаименование;
        Объект.PrintString();
        Объект.StringForPrinting="";
И 4, и наименование вверху.
На месте (где надо) только цена, сумма.
   NikeArz
 
33 - 04.01.19 - 16:02
(29) Понял в чем у тебя дело. Раздели печать всего чека на 2 блока. Блок отправки в ОФД и Блок печати. Сложного нет ничего сделай по аналогии обработки и тогда все будет хорошо. У меня тоже раньше задваивалось.
 
 
   Масянька
 
34 - 04.01.19 - 16:08
(33) Зашибись...
   NikeArz
 
35 - 04.01.19 - 16:11
(34) НЕ паникуй это кажется что сложно. Попробую тебе показать.
   Масянька
 
36 - 04.01.19 - 16:14
(35) Я не паникую. Я фигею.
   NikeArz
 
37 - 04.01.19 - 16:15
(34) Объект.Price = ПечЦена;
        Объект.Quantity = ПечКоличество;
        Объект.Summ1Enabled = 1; 
        Объект.Summ1 = ПечСумма;
        Объект.PaymentTypeSign = 4;
        Объект.Tax1 = ПечСтавкаНДС;
        Объект.TaxValueEnabled = 0;
        Объект.TaxValue1 = ПечНДС;
        Объект.PaymentItemSign = Вид;
        Объект.StringForPrinting  = "//"+ПечНаименование;

        Объект.PrintString();
        Объект.StringForPrinting="";
       
Результат = ОбработкаОшибокПриПечати(Объект);

        Если (Результат = 0) Тогда
            Объект.FNOperation();

       В этом блоке просто печатай информацию




Обрати внимание "//" Это указывает что информация пойдет в ОФД а на печать выводится не будет. Поэтому блок печати можешь сделать как тебе нравится
   NikeArz
 
38 - 04.01.19 - 16:17
(36) Объект.Price = ПечЦена;
        Объект.Quantity = ПечКоличество;
        Объект.Summ1Enabled = 1; 
        Объект.Summ1 = ПечСумма;
        Объект.PaymentTypeSign = 4;
        Объект.Tax1 = ПечСтавкаНДС;
        Объект.TaxValueEnabled = 0;
        Объект.TaxValue1 = ПечНДС;
        Объект.PaymentItemSign = Вид;
        Объект.StringForPrinting  = "//"+ПечНаименование;


       
Результат = ОбработкаОшибокПриПечати(Объект);

        Если (Результат = 0) Тогда
            Объект.FNOperation();

       В этом блоке просто печатай информацию




Обрати внимание "//" Это указывает что информация пойдет в ОФД а на печать выводится не будет. Поэтому блок печати можешь сделать как тебе нравится

Так правильнее
   NikeArz
 
39 - 04.01.19 - 16:19
(36) Если самой проблемно. Пришли обработку на e-mail завтра сделаю. Все равно до 10 дурака валяю.
   Масянька
 
40 - 04.01.19 - 16:23
(39) Проблема в том, что выдает код ошибки 2 - "Отсутствует фискальная память 1."
   NikeArz
 
41 - 04.01.19 - 16:25
(40) Так фискальной памяти не должно быть. ККТ разбит на две части. Блок ФН и блок печати. На данный момент у них не должно быть ни ЭКЛЗ, ни фискальной памяти.
   NikeArz
 
42 - 04.01.19 - 16:36
(40) Извини я тебе прислал обработку для 8.2. У меня есть и для 7.7. Пришлю
   NikeArz
 
43 - 04.01.19 - 17:03
(40) Выслал.
   Масянька
 
44 - 04.01.19 - 18:36
(43) Спасибо. Завтра порою.
Но всё-таки, по моему, должно работать в одном цикле.
   Масянька
 
45 - 09.01.19 - 16:24
(43) Спасибо. И за критику моей тоже.
Сделала одним циклом (опять встала на табуретку :)))))))) ).
   Сияющий в темноте
 
46 - 09.01.19 - 23:08
Кстати да,штрих замечательная машина можно отключить печать чека,а потом напечатать его текстовыми строками со всеми скидками и прочими дополнительными атрибутами.
и это,Атол такой же,если очень захотеть.
   Масянька
 
47 - 10.01.19 - 08:28
(46) Все равно, что одно, что другое, что третье - г..но. Поскольку сделано на коленке и впопыхах.
   Kigo_Kigo
 
48 - 10.01.19 - 12:37
(32) Стотышшшшььь раз говорил, сначала надо печатать наименование, потом цену и количество и все остальное, нет все через жо у тебя опять..


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует