Имя: Пароль:
1C
1С v8
УТ 10.3 Печать чека из ПКО. При предоплате количество в чеке приравнивается в единице.
0 Румата
 
29.01.20
08:40
УТ 10.3.57.2 При печати чека из ПКО, если это предоплата в процедуре ПривестиДанныеКТребуемомуФормату общего модуля ФорматноЛогическийКонтрольКлиентСервер количество приравнивается к "1". Почему ?



Вот условие, которое значение переменной "БезПередачиТовара" устанавливает в Истину :

ИначеЕсли ПозицияЧека.ПризнакСпособаРасчета = ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.Аванс")
                ИЛИ ПозицияЧека.ПризнакСпособаРасчета = ПредопределенноеЗначение("Перечисление.ПризнакиСпособаРасчета.ПредоплатаПолная") Тогда
                БезПередачиТовара = Истина;

=================================

Вот дальше код, который при истином значении переменной "БезПередачиТовара" количество в чеке ставит 1, цену приравнивает к сумме :

Если БезПередачиТовара Тогда
                
                Если ПозицияЧека.Свойство("ЕдиницаИзмерения") Тогда
                    ПозицияЧека.ЕдиницаИзмерения = "Платеж";
                КонецЕсли;
                
                Если ПозицияЧека.Свойство("Количество") Тогда
                    ПозицияЧека.Количество = 1;
                КонецЕсли;
                
                Если ПозицияЧека.Свойство("Цена") Тогда
                    ПозицияЧека.Цена = ПозицияЧека.Сумма;
                КонецЕсли;
                
                Если ПозицияЧека.Свойство("ЦенаСоСкидками") Тогда
                    ПозицияЧека.ЦенаСоСкидками = ПозицияЧека.Сумма;
                КонецЕсли;
                
                Если ПозицияЧека.Свойство("СуммаСкидок") Тогда
                    ПозицияЧека.СуммаСкидок = 0;
                КонецЕсли;
                
                ПозицияЧека.Вставить("ПризнакПредметаРасчета", ПредопределенноеЗначение("Перечисление.ПризнакиПредметаРасчета.ПлатежВыплата"));
                ИсправленыОсновныеПараметры = Истина;
            КонецЕсли;

====================


Зачем это сделали, объясните пожалуйста...
1 Масянька
 
29.01.20
08:43
(0) При предоплате товара нет. Поэтому и кол-ва нет. Поэтому - 1 предоплата.
2 unbred
 
29.01.20
08:44
это типовая конфа?))
3 Румата
 
29.01.20
08:46
(1) Товар в чеке присутствует, берется из счета, на основании которого сделан ПКО, количество зачем к "1" приравнивает ?
В счете Кабель 5 метров по 20 рублей, итого 100 рублей.
В Чеке печатается Кабель 1 метр по 100 рублей, итого 100 рублей.
4 Румата
 
29.01.20
08:48
(2) Да, типовая, общий модуль ФорматноЛогическийКонтрольКлиентСервер наверное недавно прикрутили, я такого не помню )
5 Масянька
 
29.01.20
08:49
(3) Я могу тебе сказать только "предоплата". Других различий я не вижу.
А что в голове у разрабов, а тем более у того, кто придумал онлайн кассы - без понятия.
6 Сияющий в темноте
 
29.01.20
08:50
просто,вместо единицы измерения нужно было менять наименование,а этот код его не меняет.
но,с учетом единицы будет:
кабель,единица:платеж,количество:1
просто,не все кассы умеют единицу печатать-об этом 1с не подумала.
7 Румата
 
29.01.20
08:58
В этом же модуле, комментарии разработчиков :

// Нужен ли этот кусман?
    Если ОсновныеПараметры.Свойство("СпособФорматноЛогическогоКонтроля", СпособФорматноЛогическогоКонтроля) Тогда
        Если НЕ (СпособФорматноЛогическогоКонтроля = ПредопределенноеЗначение("Перечисление.СпособыФорматноЛогическогоКонтроля.РазделятьСтроки")
            ИЛИ СпособФорматноЛогическогоКонтроля = ПредопределенноеЗначение("Перечисление.СпособыФорматноЛогическогоКонтроля.ЗачитыватьСуммы")) Тогда
            Возврат;
        КонецЕсли;
    Иначе
        Возврат;
    КонецЕсли;
    // /Нужен ли этот кусман?