Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: Прикручиваю кассу(онлайн) к 7.7, есть маленькая заковырка, смена системы налогообложения

Я
   Kigo_Kigo
 
29.11.17 - 11:26
Никак не могу найти команду для смены налогооблажения на кассе, надо в зависимости от номенклатуры менять УСН на ЕНВД
Да, драйвер штриха DrvFR.DLL, поделка для 1с 7.7 smDrvFR1CLib20.dll и ХМЛ не подходит, потому что ФР сетевой, и он упорно не хочет к нему коннектится, вываливает с ошибкой 8h, без объяснения причины, читал, что дело в несовпадении налогов-это не налоги 100%, потому что вываливается на команде Объект.Подключить(глИдУстройства);
 
 
   LienXo
 
1 - 29.11.17 - 11:30
AddIn какой используете?
   Kigo_Kigo
 
2 - 29.11.17 - 11:33
(1)
DrvFR.DLL - DrvFR
smDrvFR1CLib20.dll -SMDrvFR1C20
   Kigo_Kigo
 
3 - 29.11.17 - 11:42
Функция ПодключитьсяКФР(Объект)
    Рез = 0;
    
    //Если ПустаяСтрока(глФРИДУстройства) = 0 Тогда

    //    Рез = 1;

    //Иначе

        
        //ЗначениеПараметра = глФРPortNumber;

        //Объект.УстановитьПараметр("Port", ЗначениеПараметра);

        //

        //ЗначениеПараметра = глФРBaudRate;

        //Объект.УстановитьПараметр("Baudrate", ЗначениеПараметра);

        
        ЗначениеПараметра = глФРПарольАдминистратора;
        Объект.УстановитьПараметр("AdminPassword", ЗначениеПараметра);
        
        ЗначениеПараметра = глФРПарольПользователя;
        Объект.УстановитьПараметр("UserPassword", ЗначениеПараметра);
        
        
        //ЗначениеПараметра = 18;

        //Объект.УстановитьПараметр("Tax1", ЗначениеПараметра);

        //

        //ЗначениеПараметра = 10;

        //Объект.УстановитьПараметр("Tax2", ЗначениеПараметра);

        //

        //ЗначениеПараметра = 0;

        //Объект.УстановитьПараметр("Tax3", ЗначениеПараметра);

        //

        //ЗначениеПараметра = 0;

        //Объект.УстановитьПараметр("Tax4", ЗначениеПараметра); 

        
        глФРИДУстройства ="";
        Объект.Подключить(глФРИДУстройства);
        
        ОписаниеПоследнейОшибки = "";
        КодПоследнейОшибки = Объект.GetLastError(ОписаниеПоследнейОшибки);
        
        Если (СтрЧислоВхождений(ОписаниеПоследнейОшибки,"Ошибок нет") > 0)  или
            (СтрЧислоВхождений(ОписаниеПоследнейОшибки, "00h") > 0) Тогда
               Рез = 1;
        Иначе    
            ОписаниеРезультата = ОписаниеПоследнейОшибки;
        КонецЕсли;
      
//    КонецЕсли;

    
    Возврат Рез;
КонецФункции
Я строки вообще заремарил, то есть по умолчанию Длл-ка должна брать настройки дравера из драйвера, 8h и все тут,пробовал прописать руками тип протокола -6, Ип- адрес,порт, таймаут и так далее все равно 8h, а через DrvFR.DLL все работает прекрасно и кассиров по поролям распределил, остало одно - команда на смену системы налогооблажения, нигде найти не могу
   LienXo
 
4 - 29.11.17 - 11:42
TaxType
   Pit0n_08
 
5 - 29.11.17 - 11:43
Объект.AttrNumber = 1055;
    Объект.AttrValue = СистемаНалогообложения// Применяемая система налогообложения в чеке:ОСН - 1;УСН доход - 2;УСН доход-расход - 4;ЕНВД - 8;ЕСН - 16;ПСН - 32;

    Объект.WriteAttribute();
но номер атрибута надо искать в руководстве для ККМ и в таблицах драйвера ККМ уточнить номера систем налогообложения
   aka AMIGO
 
6 - 29.11.17 - 11:44
(3) как ищешь? если по твоему тексту, то в слове налогооблажения у тебя ошибка.
   Kigo_Kigo
 
7 - 29.11.17 - 11:45
(6) Да ладно уж придираться то, гугл поправит если шо :)
   aka AMIGO
 
8 - 29.11.17 - 11:46
(7) Да я не придираюсь, это просто совет :) дружеский :)
   LienXo
 
9 - 29.11.17 - 11:48
(5) AttrNumber вроде от FprnM45 если не ошибаюсь.
   Kigo_Kigo
 
10 - 29.11.17 - 11:48
(5) Вот это скорее всего то что надо, я так понимаю он этот атрибут по номеру в таблицах поправит?
(4) с этим какие то заморочки, не уверен что это оно
ФР.CheckType = 0;//приход, продажа

ФР.StringForPrinting    =  Товар;
ФР.Price        = Цена;
ФР.Quantity    = Количество;
ФР.Tax1 = 4;  
ФР.FNOperation();

ФР.CustomerEmail = АбАдрес;  //В качестве параметра можно передавать или телефон (+7хххххххххх) или e-mail: test@test.com  

ФР.FNSendCustomerEmail();

ФР.Tax1=4;

ФР.TaxType = 4;  // 2 - УСН Доход,  4 - УСН Доход-Расход, 8 - ЕНВД


ФР.Summ1 = ОплатаНалом;
ФР.Summ4 = ОплатаКартой;
ФР.FNCloseCheckEx();
 
 Рекламное место пустует
   LienXo
 
11 - 29.11.17 - 11:50
(10) пара помарок есть, но теоретически вроде похоже. Комп чужой сверить не могу
   LienXo
 
12 - 29.11.17 - 11:51
а так перед closeCheck нужно StringForPrinting и CustomerEmail  чистить
   Kigo_Kigo
 
13 - 29.11.17 - 11:53
ФР.FNOperation();
ФР.FNCloseCheckEx();
Смущают вот эти 2 операции, для цикла по товарам
   Kigo_Kigo
 
14 - 29.11.17 - 11:55
еще есть вот такой способ, каждый раз переписывать непосредственно в таблице ККТ систему, но тоже както кривовато?
Объект.Пароль = Пароль;
    Объект.TableNumber = 18;
    Объект.RowNumber = 1;
    Объект.FieldNumber = 5;
    Объект.ValueofFieldInteger = ПараметрыККТ.КодНалогооблажения;
    Объект.GetFieldStruct();
    Объект.WriteTable();
    Если Объект.Результат <> 0 Тогда
        Результат = Объект.ОписаниеРезультата;
        Возврат Результат;
    КонецЕсли;
   LienXo
 
15 - 29.11.17 - 11:57
ФР.FNCloseCheckEx() не в цикле же надеюсь, как и все что относится к шапке. Цикл только по таблице товаров. Я не использовал ФР.FNOperation() использовал стандартный Buy
   LienXo
 
16 - 29.11.17 - 11:59
А в таблицы вообще лишний раз лазить не комильфо, тем более в 18-ю. Таблица кассиров - еще куда ни шло, остальные ну их лесом. Тем более что штрих их регулярно переделывает
   Kigo_Kigo
 
17 - 29.11.17 - 12:04
Это должно выглядеть так ?
Функция ПечататьЧек(Объект, Пароль, СписокТоваров, Получено, Скидка, ПризнВозврата, НомерСекции, НомерЧека)
    
    Если ПустоеЗначение(Объект) = 1 Тогда
        ОписаниеРезультата = "устройство не подключено";
        Возврат 0;
    ИначеЕсли ПодключитьсяКФР(Объект, Пароль) = 0 Тогда
        Возврат 0;
    КонецЕсли;
    
    // регистрация товаров

    РезРегистрация = 1;
        Объект.TaxType = 4;  // 2 - УСН Доход,  4 - УСН Доход-Расход, 8 - ЕНВД

    СписокТоваров.ВыбратьСтроки();
            
    Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
    Бла бла бла по товарам    
    КонецЦикла;
        
    Объект.Password = Пароль;
    Объект.Summ1    = Получено; 
    Объект.Summ2    = 0; 
    Объект.Summ3    = 0; 
    Объект.Summ4    = 0; 
    Объект.StringForPrinting=" ";
    Объект.DiscountOnCheck=Скидка;
        Объект.FNCloseCheckEx();
    Объект.CloseCheck();

    Если Объект.ResultCode <> 0 Тогда
        ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
        АннулированиеЧека(Объект, Пароль);
        ОтрезатьЧек(Объект, Пароль);
        ОтключитьсяОтФР(Объект, Пароль, 0);
        Возврат 0;
    КонецЕсли;
 
    Объект.Password = Пароль;
    Объект.GetECRStatus();
    
    Если Объект.ResultCode <> 0 Тогда
        ОписаниеРезультата = ПолучитьОписаниеРезультата(Объект);
        ОтключитьсяОтФР(Объект, Пароль, 0);
        Возврат 0;
    КонецЕсли;

    НомерЧека = Объект.OpenDocumentNumber+?(Объект.ECRAdvancedMode=5,1,0);
    
    ОтрезатьЧек(Объект, Пароль);

    Возврат ОтключитьсяОтФР(Объект, Пароль);
    
КонецФункции
   Kigo_Kigo
 
18 - 29.11.17 - 12:07
Мне просто понять в какой последовательности и куда вставлять эти операции
   LienXo
 
19 - 29.11.17 - 12:09
ФР.CheckType = 0//приход, продажа


// цикл по товарам

ФР.StringForPrinting    =  Товар;
ФР.Price        = Цена;
ФР.Quantity    = Количество;
ФР.Tax1 = 4;  
ФР.FNOperation();// я бы все таки поменял на FN.Buy()

// конец цикла

ФР.CustomerEmail = АбАдрес;
   Pit0n_08
 
20 - 29.11.17 - 12:11
Для меня непонятно можно ли в одном чеке пробивать товары подпадающие под разные системы налогообложения? Или лучше разбить покупку на два чека?
   Aleksey
 
21 - 29.11.17 - 12:12
(20) А текущий формат чека это позволяет?
   LienXo
 
22 - 29.11.17 - 12:15
(20) под разные - нельзя. Один чек - одна СНО. Ставки НДС - можно
   Kigo_Kigo
 
23 - 29.11.17 - 12:36
(20) Нельзя, как я понимаю, потому что на самих сайтах ОФД этого разделения не предусмотренно, только по чеку полностью
   piter3
 
24 - 29.11.17 - 12:38
(20) Нельзя однозначно.Не лучше,а правильно
   piter3
 
25 - 29.11.17 - 12:38
(23) по закону
   Kigo_Kigo
 
26 - 29.11.17 - 12:39
ФР.FNOperation();


ФР.TaxType = 4;  // 2 - УСН Доход,  4 - УСН Доход-Расход, 8 - ЕНВД

ФР.FNCloseCheckEx(); 
Ребят, ну вот прям чуть осталось, куда писать эти строки, до перебора товара?
В переборе товара?
Перед закрытием чека?
и что это ФР.Tax1=4; - это налоговая ставка ндс, как я понимаю
   LienXo
 
27 - 29.11.17 - 13:17
в (19) я указал что должно быть в цикле. Все остальное - по барабану. Можешь до цикла, можешь после него. Что касается Tax1 - да, это НДС, код строки таблицы и разумеется ставка
   Kigo_Kigo
 
28 - 29.11.17 - 13:25
(27)
Понял, огромное спасибо, поеду мучать ККТ :)
   LienXo
 
29 - 29.11.17 - 13:31
(28) ты это на боевом ФН-е собрался тестить???
   Kigo_Kigo
 
30 - 29.11.17 - 13:49
(29) Да что там тестить, 3 операции по рублю провести, чеки то он пробивает кассиров меняет, осталось только УСН ЕНВБ менять и что бы это все прилетало в ОФД, как тут без боевого ФН?
   Kigo_Kigo
 
31 - 29.11.17 - 18:03
Все зафуричило как надо
   Kigo_Kigo
 
32 - 12.12.17 - 11:45
Как выяснилось в ОФД уходят данные без наименований товаров, подскажите какой командой надо отправить наименование ?
   Масянька
 
33 - 12.12.17 - 11:56
(29) Странный вопрос...
Вообще, очень (мягко говоря) странно, что нет тестирования.
 
 
   Umga2002
 
34 - 12.12.17 - 12:03
Решение о налогообложении надо решать в конфе.....

При формировании чека.
   Kigo_Kigo
 
35 - 12.12.17 - 12:20
(34) Это решено, система меняется, теперь вот наименования товаров в ОФД не уходят
   Kigo_Kigo
 
36 - 12.12.17 - 12:45
Апну, может кто что подскажет?
   Kigo_Kigo
 
37 - 12.12.17 - 20:28
Короче, танцы с бубном показали, что 
ФР.FNCloseCheckEx(); вообще не надо

в обработке обслуживания драйвера идет, скачало фиксация цены и количества- потом уже наименование товара, этот порядок надо изменить, сначало наименование товара, потом цена количество, в ОФД только после этого товар стал приходить с наименованием
   Злопчинский
 
Ведущий
38 - 12.12.17 - 20:36
купи за 3000 руб и не мучайся
http://catalog.mista.ru/public/603118/
   Kigo_Kigo
 
39 - 12.12.17 - 20:53
(38) Ее прикручивать, такой же геморрой, потому там конфа, мягко сказать старая, осталось решить последнее, как делать скидку суммой
   Злопчинский
 
Ведущий
40 - 12.12.17 - 22:21
(39) скидка суммой по 54-ФЗ - такого нет.
   Злопчинский
 
Ведущий
41 - 12.12.17 - 22:21
(39) (38) и на старые конфы становится
   Kigo_Kigo
 
42 - 12.12.17 - 23:40
(40) Однако никто не мешает уменьшить цену*количество на сумму скидки , в зависимости от % участия от суммы в чеке, и отдельно напечатать - сумму скидки суммой, это где то написано?
цену я могу ставить какую хочу...
   Сияющий в темноте
 
43 - 13.12.17 - 00:06
(40) А как же FnDiscountOperation ?
Понятно, что уменьшить сумму на сумму скидки по ФФД 1.05 нельзя, но указать-то её можно.
А ФФД 1.0 позволяют даже вычитать сумму скидки из итога позиции.

У штрих-м система налогообложения задана в таблице 18 поле Tax System - выставляем перед началом чека нужное значение (точно также как и имя кассира выставляется в таблице пароли операторов).

И всё.

Какие ещё вопросы остались ?
P.S. интерфейс 1С просто в топку - это пародия на то, как надо делать - перегонять сначала чек в Xml, чтобы потом драйвер фигачил его командами в Фр и не видеть, на чём произошёл затык - это прям по одинэсовски.
   LienXo
 
44 - 13.12.17 - 01:07
(43) FnDiscountOperation - это отбрасывание копеек а не скидка на чек в нормальном понимании.
Зачем лезть в таблицу для смены СНО если есть функция смены.
   Mikhail Volkov
 
45 - 13.12.17 - 05:29
(0) > надо в зависимости от номенклатуры менять УСН на ЕНВД
В одном чеке? Для ФФД 1.0 - точно не получится.
(26) > ФР.TaxType = 4;  // 2 - УСН Доход,  4 - УСН Доход-Расход, 8 - ЕНВД
Дополню: 16 - ЕСХН, 32 - ПСН Онлайн касса и НДС
   Kigo_Kigo
 
46 - 13.12.17 - 10:07
(43)
P.S. интерфейс 1С просто в топку - это пародия на то, как надо делать - перегонять сначала чек в Xml, чтобы потом драйвер фигачил его командами в Фр и не видеть, на чём произошёл затык - это прям по одинэсовски.


Вот это точно, убивает, что надо указывать параметры связи, в сервис -параметры - Драйвер ККТ закладка не появляется, что там и как происходит -хз, с драйвером штриха, настроил драйвер, вызываешь ДЛЛ-ку, там уже все настроено, тока отправляй чеки и снимай x/z отчеты, ну и связь с ККТ проверить



Список тем форума
Рекламное место пустует Рекламное место пустует
Компьютер — устройство разработанное для ускорения и автоматизации человеческих ошибок.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует