Имя: Пароль:
1C
 
Вывод дополнительной информации на чеке Атол30Ф
,
0 zenon46
 
13.07.18
09:13
Доброго дня! Попытался на чеке вывести дополнительную информацию, ничего не вышло, мало того в ФИО кассира - раньше передавалось "Кассир", а после "допипливания" ККМ, стало выводить СИСТ.АДМИНИСТРАТОР, хотя в коде по кассиру ничего не менялось. Ниже код :

        Объект.ValuePurpose = 56;
        Объект.Value = 3;
        Объект.SetValue();
        
        Объект.AttrValue = Кассир;
        Объект.AttrNumber = 1021;
        Объект.WriteAttribute();
        
        Объект.AttrValue = ПУП;
        Объект.AttrNumber = 1055;
        Объект.WriteAttribute();
        
        Объект.Password = Пароль;
        
        // входим в режим регистрации
        Объект.Mode = 1;
        Если Объект.SetMode() <> 0 тогда
            ОписаниеРезультата = Объект.ResultDescription;
            Возврат Рез;
        КонецЕсли;
        
        Если Скидка > 0  Тогда
            Объект.Percents = Скидка;
            Объект.Destination = 0;
            Если Объект.PercentsDiscount() <> 0 тогда
                ОписаниеРезультата = Объект.ResultDescription;
                 Возврат Рез;
            КонецЕсли;
         ИначеЕсли Скидка < 0  Тогда
            Объект.Percents = (-1) * Скидка;
            Объект.Destination = 0;
            Если Объект.PercentsCharge() <> 0 тогда
                ОписаниеРезультата = Объект.ResultDescription;
                 Возврат Рез;
            КонецЕсли;              
        КонецЕсли;
        // продажа без сдачи
        
        СписокТоваров.ВыбратьСтроки();
        
        Пока СписокТоваров.ПолучитьСтроку() = 1 Цикл
            
            Объект.Name     = СписокТоваров.ТовНаим;
            Объект.Price    = СписокТоваров.Цена;
            Объект.Quantity = СписокТоваров.Количество;
            //Объект.Amount   = СписокТоваров.Сумма;
        
            Если СписокТоваров.СтавкаНДС = "none" Тогда
                Объект.TaxTypeNumber = 4;
            ИначеЕсли СписокТоваров.СтавкаНДС = "18" Тогда
                Объект.TaxTypeNumber = 3;
            ИначеЕсли СписокТоваров.СтавкаНДС = "10" Тогда
                Объект.TaxTypeNumber = 2;
            ИначеЕсли СписокТоваров.СтавкаНДС = "0" Тогда
                Объект.TaxTypeNumber = 1;        
            КонецЕсли;
            
            Если ПризнВозврата = 0 Тогда
                Если Объект.Registration() <> 0 тогда
                    ОписаниеРезультата = Объект.ResultDescription;
                    Возврат Рез;
                КонецЕсли;
            Иначе    
                Если Объект.Return() <> 0 тогда
                    ОписаниеРезультата = Объект.ResultDescription;
                     Возврат Рез;
                КонецЕсли;
            КонецЕсли;
            
        КонецЦикла;
        
        //Объект.Summ = СуммаЧека;        
        //Объект.TypeClose = 0;
        //
        //Если Объект.Delivery() <> 0 тогда
        //    ОписаниеРезультата = Объект.ResultDescription;
         //    Возврат Рез;
        //КонецЕсли;
        
        Если ТипОплаты = 0 Тогда        
            Объект.TypeClose = 0;
        ИначеЕсли ТипОплаты = 1 Тогда
            Объект.TypeClose = 1;
        КонецЕсли;
        
        //Выведем номер документа оригинала отдельной строкой в чеке
        Если ПустоеЗначение(НомерДокаОснования) = 0 Тогда
            Объект.Caption = "Документ № "+НомерДокаОснования+".";
            Объект.PrintString();
        КонецЕсли;

Добавлены были последние 4 строки. Что не так ?
1 oslokot
 
13.07.18
09:15
Вы напрямую работаете с драйвером?
Атрибут кассира это же "CashierName"
2 Галахад
 
гуру
13.07.18
09:16
Что за метод "ПустоеЗначение"?
3 ildary
 
13.07.18
09:31
(2) это 7.7 :)
4 Builder
 
13.07.18
09:49
Число по логике - сначала надо указать номер атрибута, а потом записать в него значение.
Объект.AttrNumber = 1021;
Объект.AttrValue = Кассир;
5 ildary
 
13.07.18
09:54
(0) есть небольшой хак - можно при закрытии смены передавать не пароль сис.администратора - "30", а просто администратора - "29", при этом в драйвере атола заменить имя администратора на имя кассира и вписать его ИНН. Но у меня в этом случае все равно при печати первого чека теряется ИНН кассира (что-то не так в открытии смены).
6 ildary
 
13.07.18
09:55
Почему не изменить сис.администратора - потому что в драйвере атола 8.16 у сис.администратора можно сменить имя, но нельзя вписать ему ИНН (для ФФД 1.05)
7 dezss
 
13.07.18
10:05
при использовании новых дров и компонент, все гут...
добавляют текстовую строку в xml и ккт сама ее печатает...
8 zenon46
 
13.07.18
10:52
Блин ребзя, ну никто не сказал по делу ничего, речь идет о последних 4-х строках, когда я хочу на чек просто вывести дополнительную нефискализированную информацию.
(2) вот и выросло поколение которое 7.7 не видело )
9 Галахад
 
гуру
13.07.18
11:12
(8) :-)
А если кусок кода вставить до фискализации строк?
10 zenon46
 
13.07.18
12:13
(9) сработало, вывелось правда в начале чека, я думал это выводить где-нить в конце.