|
Розница: печать этикеток и ценников. Добавил свой реквизит, но ошибка | ☑ | ||
---|---|---|---|---|
0
Антиквар
26.03.12
✎
14:31
|
Всем привет.
Розница 1.0 (1.0.12.4) В шаблон для печати этикеток и ценников нужно добавить информацию из одного регистра. Т.е. нужно, чтобы в редактировании шаблона в доступных полях шаблона появился нужный мне реквизит. Я открыл макет обработки печати ценников (СКД), там исправил запрос для набора данных, чтобы в полях запроса появилось нужное мне поле регистра сведений. Автоматически это поле появилось и в списке полей (таблица на вкладке Наборы данных). После этого иду в 1С, захожу в редактирование шаблона, нужное мне поле появилось, добавляю его в шаблон. И думал что все готово. Но при печати, и даже находясь в шаблоне по кнопке "Предварительный просмотр" - ошибка. Связана она с тем, что моё добавленное поле не является доступным полем выбора. Не понимаю, где это указывается. По коду дак вообще все просто: Компоновщик = Новый КомпоновщикНастроекКомпоновкиДанных; Компоновщик.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаСКД)); СхемаСКД - это макет обработки Печати этикеток и ценников, который я как раз исправил, и в котором в полях появилось моё поле. Далее по коду идет перебор элементов: Компоновщик.Настройки.Выбор.ДоступныеПоляВыбора.Элементы[] Здесь организация, магазины, номенклатура,... Для номенклатуры это: Компоновщик.Настройки.Выбор.ДоступныеПоляВыбора.Элементы[1] Далее идет перебор вложенных в номенклатуру элементов: Компоновщик.Настройки.Выбор.ДоступныеПоляВыбора.Элементы[1].Элементы[] Я перебрал все, моего реквизита тут нет. Хотя он ничем не отличается от того же штрих-кода, тоже регистр, через левое соединение выведенный в поля запроса. Главное в макете я нигде не могу найти, чтобы эти "ДоступныеПоляВыбора" где-то настраивались, откуда они берутся? |
|||
1
Антиквар
26.03.12
✎
15:32
|
up
|
|||
2
Антиквар
26.03.12
✎
16:26
|
Наверняка многие редактировали шаблон для печати этикеток и ценников, добавляя в него свои реквизиты. Проблем не возникало ни у кого?
|
|||
3
Автор
26.03.12
✎
16:49
|
Недавно делал. Изменял запрос в Макете Поля шаблона. Вроде плохонько, но заработало
|
|||
4
Антиквар
26.03.12
✎
16:58
|
(3) вот и я изменил этот запрос.
В итоге в 1С в шаблон без проблем мой реквизит добавляется, но при печати ошибка. Даже в шаблоне при предварительном просмотре. На одно и то же место ругается: {ОбщийМодуль.УправлениеШаблонами(711)}: Не найдено поле Номенклатура.МойРеквизит ВызватьИсключение "Не найдено поле " + Стр.Поле; Это как побороли? Или не было такого? |
|||
5
Антиквар
26.03.12
✎
17:36
|
я в шоке.
Оказывается запрос в макете СКД вовсе не один такой запрос. Я его исправил, добавил в него свой реквизит, и благодаря этому данный реквизит появился в списке выбора в шаблоне и его можно разместить на форме шаблона ценника. Но чтоб распечатать, нужно тоже самое исправить в другом запросе, который в другом месте находится, потому как в макет СКД почему-то по факту передается совсем другой запрос. Исправил, заработало. Но пробую теперь сделать предварительный просмотр в редактировании шаблона, та же ошибка, иду искать откуда там ноги растут... Не ожидал такого... |
|||
6
Автор
26.03.12
✎
22:16
|
Могу сбросить в почту измененную обработку. Посмотришь что я там делал.
В паблик обработку с таким горе-запросом выкладывать не хочется. Делал просто на спор, подключить вычисляемые поля ума не хватило. Точнее функции из общих модулей ни как вычисляемые поля, ни как выражение представления не отработали. |
|||
7
Антиквар
27.03.12
✎
09:16
|
(6) Спасибо, но вроде получилось у меня.
Я просто не ожидал, что для того, чтобы добавить свой реквизит в макет, нужно изменять кучу однотипных запросов в разных местах. Думал достаточно изменить запрос в самом макете СКД. Но в 1С в компоновщик передавался каждый раз другой запрос, и этот другой запрос тоже нужно везде исправлять. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |