|
Изменение обработки ПечатьЭтикетокИЦенников | ☑ | ||
---|---|---|---|---|
0
ЗаЧтоМнеВсеЭто
01.12.19
✎
20:23
|
Доброго времени суток. Буду рад помощи в сложившейся ситуации.
Возникла необходимость в создании макета ценника с указанием двух вычисляемых акционных цен (типовый шаблон показывает только одну вычисляемую). Я сохранил соответствую обработку как внешний файл (дабы не снимать с поддержки) и добавил в запрос выражение для второй с последующей выборкой. В списке полей СКД они появились. Однако при открытии файла обработки в соответствующем шаблоне ценника новое доступное поле не появилось. В чем может быть проблема? https://image.prntscr.com/image/hISkcds2Tt623PEeqG7L8Q.png ... ВЫБРАТЬ РАЗРЕШЕННЫЕ ... ВЫРАЗИТЬ(МАКСИМУМ(ЦеныНоменклатуры.Цена * 0.97) КАК ЧИСЛО(15, 2)) КАК ЦенаСоСкидкой, ВЫРАЗИТЬ(МАКСИМУМ(ЦеныНоменклатуры.Цена * 0.95) КАК ЧИСЛО(15, 2)) КАК ЦенаСоСкидкой2, ... {ВЫБРАТЬ ЦенаСоСкидкой, ЦенаСоСкидкой2, ... Подозреваю, что надо не из файла открывать, а подключать как внешнюю (иначе открываются шаблоны из типовой), но система возвращает ошибку "Метод объекта не обнаружен (СведенияОВнешнейОбработке)". |
|||
1
Мимохожий Однако
01.12.19
✎
20:31
|
Телепаты будут в понедельник. Никому не сообщай подробности.
|
|||
2
ЗаЧтоМнеВсеЭто
01.12.19
✎
20:34
|
(1) Подробности какого рода необходимы?
|
|||
3
ДенисЧ
01.12.19
✎
20:49
|
А почему бы не добавить метод, который она хочет? И вообще оформить обработку как внешнюю подключаемую?
|
|||
4
Мимохожий Однако
01.12.19
✎
21:20
|
(2) Конфигурация, платформа, как запускаешь. Это как минимум.
|
|||
5
ЗаЧтоМнеВсеЭто
02.12.19
✎
07:04
|
(3) Добавил все необходимые функции и подключил как внешнюю - эффект все тот же - в доступных полях изменений нет.
Я так понимаю, проблема в том, что шаблон хранится в справочнике, который в свою очередь взаимодействует с типовыми макетами, поэтому макет внешней обработки с идентичными именами макетов (просто ведь типовую выгрузил) попросту игнорируются. (4) Розница 2.3.1.30, платформа 8.3.15.1747, тонкий клиент. Обработку пробовал как из файла, так и в виде подключаемой. Пытаюсь сейчас в виде расширения сделать отдельный шаблон и добавить команду на его загрузку в форме редактирования макета ценников. |
|||
6
PuhUfa
02.12.19
✎
07:24
|
(5) Что такое доступные поля? Ты про поля которые в настройках шаблона Этикеток и Ценников? Так это даже не в этой обработке. Это в Справочнике "ШаблоныЭтикетокИЦенников".
|
|||
7
ЗаЧтоМнеВсеЭто
02.12.19
✎
08:22
|
(6) Сам шаблон - да. В рознице этот справочник называется "ХранилищеШаблонов". Однако у него есть макеты на предопределенные типы ценников (для их загрузки при создании нового шаблона), из которых меня интересует "ШаблонЦенникаАкционного". При выборе этого типа шаблона в соответствующей форме справочника отрабатывает процедура "ПоместитьВТабличныйДокументШаблонПоУмолчанию(ИмяШаблона)" с веткой "ИначеЕсли ИмяШаблона = "ШаблонЦенникаАкционного" Тогда СхемаКомпоновкиДанных = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("ПоляШаблонаЦенникАкционный");". Вот я в выгруженной мною обработке в макете "ПоляШаблонаЦенникАкционный" и добавил указанные выше выражения.
|
|||
8
PuhUfa
02.12.19
✎
08:36
|
(8) Я сужу по УТ11... Похожий код, в УТ11, в процедуре ЗаполнитьДоступныеПоля():
Если Объект.Назначение = Перечисления.НазначенияШаблоновЭтикетокИЦенников.ЭтикеткаДляСкладскихЯчеек Тогда СхемаКомпоновкиДанных = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("ПоляШаблонаСкладскиеЯчейки"); ИначеЕсли Объект.Назначение = Перечисления.НазначенияШаблоновЭтикетокИЦенников.ЦенникДляТоваров Тогда СхемаКомпоновкиДанных = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("ПоляШаблонаТовары"); .... И в ней же, ниже, есть: ИначеЕсли Объект.Назначение = Перечисления.НазначенияШаблоновЭтикетокИЦенников.ЦенникДляТоваров ИЛИ Объект.Назначение = Перечисления.НазначенияШаблоновЭтикетокИЦенников.ЭтикеткаДляТоваров Тогда ИменаПолей = Новый Массив; ИменаПолей.Добавить("Штрихкод"); ИменаПолей.Добавить("ВидЦены"); ИменаПолей.Добавить("ВидЦены.ВалютаЦены"); ИменаПолей.Добавить("ВидЦены.Наименование"); ИменаПолей.Добавить("ВидЦены.ЦенаВключаетНДС"); ИменаПолей.Добавить("Цена"); ИменаПолей.Добавить("ДатаПоследнегоИзмененияЦены"); Вот тут и надо прописать твои новые поля. Ну по крайней мере в УТ11 так. Посмотри, наверное что то подобное и в Рознице |
|||
9
PuhUfa
02.12.19
✎
08:39
|
(7) И вот тут:
Тогда СхемаКомпоновкиДанных = Обработки.ПечатьЭтикетокИЦенников.ПолучитьМакет("ПоляШаблонаЦенникАкционный");" Ты на свою внешнюю обработку то поменял? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |