Имя: Пароль:
1C
1С v8
Ошибка при печати Чека ККМ (УТ 11.0) - помогайте разобраться...
,
0 Paul_Nevada
 
17.11.12
13:34
Привет - всем!

Релиз конфы: 11.0.9.14. В случае, когда в документе вида "ЧекККМ" товарам назначены скидки при выводе на печать печатной формы документа вываливается ошибка:

{Обработка.ПечатьТоварногоЧека.МодульМенеджера(112)}: Поле объекта не обнаружено (Скидка)
           ОбластьСкидок.Параметры.Скидка = ЗаголовокСкидки.Скидка;

Что уже только не крутил... Помогите увидеть Правду!
1 Paul_Nevada
 
17.11.12
13:35
Ошибка в этом месте:
ОбластьСкидок.Параметры.Скидка
2 Paul_Nevada
 
17.11.12
14:01
Секция "Скидка" в макете обозначена - в чем дело быть может?
3 icipher
 
17.11.12
14:32
в этом "ЗаголовокСкидки.Скидка"
4 Нуф-Нуф
 
17.11.12
14:54
как я понимаю, автору западло глянуть в отладчик?
5 zippygrill
 
17.11.12
15:08
Видимо поменялось имя параметра в макете либо в заголовкеСкидки нет поле Скидки
6 Paul_Nevada
 
17.11.12
17:01
(4) смотрел. не раз.
7 Paul_Nevada
 
17.11.12
17:01
(5) да вроде все на месте - ничего не менялось!
8 Paul_Nevada
 
17.11.12
17:17
с макетом что-то, думаю...
9 Paul_Nevada
 
17.11.12
17:23
(5) имя параметра в макете не менялось!
вот что написано в функции ЗаголовокСкидки:

// Функция возвращает структуру с заголовками Скидка или Наценка для таблицы печатной формы,
// а также с флагами ЕстьСкидки и ТолькоНаценка
//
Функция ЗаголовокСкидки(Знач Товары, ИспользоватьСкидки) Экспорт
   
   ЕстьНаценки = Ложь;
   ЕстьСкидки  = Ложь;
   
   СтруктураШапки = Новый Структура("Скидка, СуммаСкидки, ТолькоНаценка");
   
   Если ИспользоватьСкидки Тогда
       
       Пока Товары.Следующий() Цикл
           Если Товары.Скидка>0 Тогда
               ЕстьСкидки = Истина;
               Прервать;
           КонецЕсли;
       КонецЦикла;
       
       Товары.Сбросить();
       
       Пока Товары.Следующий() Цикл
           Если Товары.Скидка<0 Тогда
               ЕстьНаценки = Истина;
               Прервать;
           КонецЕсли;
       КонецЦикла;
       
       Если ЕстьНаценки И ЕстьСкидки Тогда
           СтруктураШапки.Вставить("Скидка", "Скидка (Наценка)");
           СтруктураШапки.Вставить("СуммаСкидки", "Сумма " + Символы.ПС + "без скидки (наценки)");
       ИначеЕсли ЕстьНаценки И НЕ ЕстьСкидки Тогда
           СтруктураШапки.Вставить("Скидка", "Наценка");
           СтруктураШапки.Вставить("СуммаСкидки", "Сумма" + Символы.ПС + "без наценки");
       ИначеЕсли ЕстьСкидки Тогда
           СтруктураШапки.Вставить("Скидка", "Скидка");
           СтруктураШапки.Вставить("СуммаСкидки", "Сумма" + Символы.ПС + "без скидки");
       КонецЕсли;
       СтруктураШапки.Вставить("ТолькоНаценка", ЕстьНаценки);
   КонецЕсли;
   
   Возврат СтруктураШапки;
   
КонецФункции // НужноВыводитьСкидки()
10 Paul_Nevada
 
17.11.12
17:24
Ошибка в этом месте:
ОбластьСкидок.Параметры.Скидка
11 Paul_Nevada
 
17.11.12
17:24
в макете не читается это поле!!!
12 Paul_Nevada
 
17.11.12
17:25
хотя, еще раз - все обозначено, вроде - все нормально
13 Paul_Nevada
 
17.11.12
17:26
ОбластьСкидок   = Макет.ПолучитьОбласть("ШапкаТаблицы|Скидка");
14 Paul_Nevada
 
17.11.12
17:26
Если ЕстьСкидки Тогда
           ОбластьСкидок.Параметры.Скидка = ЗаголовокСкидки.Скидка;
           ОбластьСкидок.Параметры.СуммаБезСкидки = ЗаголовокСкидки.СуммаСкидки;
           ТабличныйДокумент.Присоединить(ОбластьСкидок);
       КонецЕсли;
15 Paul_Nevada
 
17.11.12
17:27
"ШапкаТаблицы|Скидка" - все есть в макете. Как проверить-то что не так???
16 Paul_Nevada
 
17.11.12
17:30
куда копать-то?
17 Paul_Nevada
 
17.11.12
17:33
вот - проблемная область макета:
http://webfile.ru/6219507
18 mexanik_96
 
17.11.12
18:46
скидка на суммаскидка поменяй
19 Paul_Nevada
 
17.11.12
19:09
не помогает - пробовал...
20 Paul_Nevada
 
17.11.12
19:21
http://forum.infostart.ru/forum33/topic73497/
что имеется в виду под "пользовательским макетом"?
21 Paul_Nevada
 
17.11.12
19:48
Проблема решена - стоял приоритет в сторону "пользовательского макета".

Всем - огромное спасибо!
Программист всегда исправляет последнюю ошибку.