|
|
|||
Oleg141354234
21.11.14 — 13:15 |
Есть обычная форма, на ней поле ввода — выбор из справочника. Когда элемент заполнен, в поле ввода отображается представление ссылки элемента справочника — Наименование. Вопрос: Как изменить представление элемента с наименования на код только в этом(!) поле ввода. То есть основное представление хочется оставить прежним. |
||
Banned
1 — 21.11.14 — 13:17 |
Скрыть поле ссылки. Добавить текстовое поле. Туда выводить, что захочется |
||
Cube
2 — 21.11.14 — 13:17 |
(0) Делаешь два реквизита формы: Реквизит1 с нужным типом и Реквизит2 строкового типа. На форму кладешь Реквизит2 и пишешь к нему обработчики ПриНачалеВыбора() и т.п. |
||
Oleg141354234
3 — 21.11.14 — 13:23 |
(2) Ничего элегантного значит нет. Так и будет. Спасибо. |
||
БледноЗолотистый 4 — 21.11.14 — 13:40 |
(3) Попробуй что нибудь вроде этого:
Процедура ПолеВвода1ПриИзменении(Элемент)
Процедура ПолеВвода1ОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка) |
TurboConf — расширение возможностей Конфигуратора 1С
В свойствах справочников и документов можно задать свойство «Основное представление». Данное свойство доступно в режиме конфигуратора. Возможны два режима выбора варианта формирования представления: «В виде кода» или «В виде наименования».
Когда срабатывает представление ?
Представление формируется при выводе на экран ссылок (объектов) документов или справочников.
Программное изменение представления в «Управляемом приложении»
В управляемом приложении появилась возможность программно влиять на формирование представления справочника или документа. Для этого в модуле менеджера предназначены две специальные процедуры:
1) ОбработкаПолученияПолейПредставления(<Поля>, <СтандартнаяОбработка>) Вызывается при получении состава полей, из кторых формируется представление объекта. Эта процедура вызывается один раз, при первом формировании представления. Результат обработки события кэшируется для сеанса.
Процедура ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка) СтандартнаяОбработка
= Ложь;
Поля.Добавить("Номер");
Поля.Добавить("Наименование");
Поля.Добавить("Код");КонецПроцедуры
2) ОбработкаПолученияПредставления(<Данные>, <Представление>, <СтандартнаяОбработка>)Вызывается при получении представления. В параметре «Данные» содержатся значения полей объекта, которые были заданы в событии ОбработкаПолученияПолейПредставления().
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка) СтандартнаяОбработка
= Ложь;
Представление = Данные.Номер + Данные.Наименование + Данные.Код;КонецПроцедуры
Содержание:
1. Представление при помощи свойства «Основное представление»
2. Изменение представления справочника или документа программным путем
3. Пример представления документа в 1С
В данной статье речь пойдёт о том, как выводить, создавать и управлять представлением документа либо представлением справочника в системе 1С.
1. Представление при помощи свойства «Основное представление»
Для каждого из документов/справочников в 1С есть возможность задания свойства «Основное представление». Им можно пользоваться каждый раз, когда работает режим конфигурации. Представление справочника или документа может быть двух видов – это представлении в виде кода и в виде наименования:
Рис. 1 Представление справочника в виде кода и наименования
Рассмотрим, как работает механизм работы представления документов в 1С. Представление справочника или документа формируется во время вывода на экране различных ссылок, а также разнообразных объектов от документации либо справочников.
2. Изменение представления справочника или документа программным путем
Также в «Управляемом приложении» в 1С есть возможность изменить программно представление документа или справочника. Чтобы создать программные изменения, необходимо задействовать какую-то из двух процедур, которые находятся в модуле менеджера:
1. «ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка)» – данная процедура может быть вызвана для получения составляющих в полях, при помощи которых и можно получить представление документа. Данную процедуру достаточно вызвать один раз во время формировки первоначального представления документа либо справочника. Результатом будет то, что после обработки все события будут кэшированы для конкретного сеанса. Пример данной процедуры с её общим видом можно увидеть на скриншоте с кодом ниже:
Рис. 2 Обработка, позволяющая получить представление документа
2. «ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка)» – данную процедуру вызывают, чтобы получить представление необходимого документа. Внутри параметра «Данные» находятся все значения по полям в нужном нам объекте, которые задавались в событии «ОбработкаПолученияПолейПредставления()», как демонстрируется на скриншоте ниже:
Рис. 3 Процедура, применяемая для того, чтобы получить представление документа
3. Пример представления документа в 1С
Выше было представлено как стандартно менять способы представления документа. Теперь рассмотрим, как это работает на практике. Пусть нужно изменить представление документа «Реализация товаров, услуг» на «Реализация т/у №150 от 20.05.2016 (Контрагент: ООО Альфа)». Чтобы произвести данную процедуру нужно внутри менеджерского модуля по объекту внутри документа создать обработчики по событиям по получению нового представления, а также его возможных полей. Процедура в данном случае будет выглядеть, как продемонстрировано на скриншоте с кодом ниже:
Рис.4 Получение нового представления документа в 1С
В данной статье было рассмотрено понятие представления документов в 1С. Были представлены два возможных стандартных варианта для изменения, две возможные процедуры в модуле менеджера, а также режимы представления документа.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Как глобально заменить представление справочника
Элементы справочника обычно имеют представление в виде кода или наименования, задается в свойствах объекта в «Основное представление».
Для того чтобы расширить эти возможности существуют 2 метода менеджера справочника «ОбработкаПолученияПолейПредставления» и «ОбработкаПолученияПредставления»
Указать какие реквизиты требуются для представления:
&Вместо("ОбработкаПолученияПолейПредставления") Процедура Тум_ОбработкаПолученияПолейПредставления(Поля, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Поля = Новый Массив; Поля.Добавить("НаименованиеПолное"); Поля.Добавить("Наименование"); Поля.Добавить("Артикул"); Поля.Добавить("АртикулПоставщика"); Поля.Добавить("ЭтоГруппа"); КонецПроцедуры Замена представления, на примере номенклатуры: &После("ОбработкаПолученияПредставления") Процедура Тум_ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка) Если Данные.ЭтоГруппа = Истина Тогда Иначе СтандартнаяОбработка = Ложь; Представление = Данные.НаименованиеПолное; КонецЕсли; КонецПроцедуры
Обратите внимание: у группы этого реквизита может не быть, поэтому сделана проверка
Можно сделать более сложные запросы, передав сюда Ссылку, но это может нагрузить систему.
Я делал локализацию данных в программе на английский язык через этот механизм, субъективно открытие списков стало работать на 20-30% медленней.
Кодак продает фотопленку, но рекламируют они не фотопленку. Они рекламируют память.
Spyokyr1982 |
|
1 |
|
Отображение реквизита справочника в форме25.10.2010, 12:30. Показов 14179. Ответов 5
Здравствуйте, интересует как можно реализовать отображение какого либо реквизита справочника при выборе его в форме диалога в отличии от Кода или Наименования Например есть справочник «адреса» Код заполняется автоматически, Наименование не заполняется (ну не хочу). |
0 / 0 / 0 Регистрация: 07.07.2008 Сообщений: 1,401 |
|
25.10.2010, 12:45 |
2 |
Дополнительным текстовым полем через функцию.
0 |
Spyokyr1982 |
|
25.10.2010, 12:59 |
3 |
Дополнительным текстовым полем через функцию. ф форме списка еще найду может как, а в самой форме элемента? |
25.10.2010, 13:01 |
4 |
Speaker1982 Вариант puh14 тоже прокатит, но это изврат, ИМХО |
Spyokyr1982 |
|
25.10.2010, 14:20 |
5 |
Speaker1982 Вариант puh14 тоже прокатит, но это изврат, ИМХО Кстати вот что вспомнил (я 2 года уже на 1С не программировал, все позабывал |
25.10.2010, 15:40 |
6 |
если для справочника установлена ДлинаКода=ДлинаНаименования=0 тогда для представления берется первый (по порядку в конфигураторе) реквизит. Правда? Не знал
ф форме списка еще найду может как, а в самой форме элемента? Добавляешь на форму элемент «Надпись». Работаешь с его свойством «Заголовок». При изменении реквизита и открытие форму ставишь заголовок, нужный тебе |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
25.10.2010, 15:40 |
6 |
На чтение 3 мин. Просмотров 79 Опубликовано 15.12.2019
Содержание
- Guesto notes
- Задача
- Решение
- Программное изменение представления в «Управляемом приложении»
Guesto notes
Для документа Реализация товаров и услуг необходимо сделать произвольное представление документа в зависимости от вида, который указал пользователь.
Задача
Для документа Реализация товаров и услуг организовать формирование представления документа в зависимости от значения реквизита Вид:
- Товары — «Реализация товаров » + + » от » + ;
- Услуги — «Акт выполненных работ » + + » от » + .
Решение
Для реализации воспользуемся двумя событиями, описанными в модуле менеджера документа:
ОбработкаПолученияПолейПредставления() — Определяет состав полей для формирования представления. По умолчанию содержит Дата и Номер, если необходимо определить свой состав полей, то необходимо переменной СтандартнаяОбработка присвоить значение Ложь, при этом Дата и Номер в состав полей не войдут — необходимо добавить самому.
ОбработкаПолученияПредставления() — Определяет само представление, если переменной СтандартнаяОбработка присвоить значение Ложь, то будет выполняться произвольный алгоритм формирования представления. Данные описанные в обработчике ОбработкаПолученияПолейПредставления(), будут преданны структурой Данные.
Теперь пишем код по задаче:
И результат работы написанного кода, для документов с видом «Услуги»:
Допустим для документа Реализация товаров услуг нужно настроить представление в виде «Реализация т/у № 150 от 20.05.2016 (Контрагент: ООО Альфа)». Для этого в модуле менеджера объекта документа создаем обработчики событий получения представления и полей представления:
Процедура ОбработкаПолученияПредставления ( Данные , Представление , СтандартнаяОбработка )
Представление = «Реализация т/у № « + Данные . Номер + » от « + Формат ( Данные . Дата , «ДФ=dd.MM.yyyy» ) + » (Контрагент: « + Строка ( Данные . Контрагент )+ «)» ;
СтандартнаяОбработка =Ложь;
КонецПроцедуры
Процедура ОбработкаПолученияПолейПредставления ( Поля , СтандартнаяОбработка )
Поля . Добавить ( «Номер» );
Поля . Добавить ( «Дата» );
Поля . Добавить ( «Контрагент» );
СтандартнаяОбработка =Ложь;
КонецПроцедуры
Программирование системы
17.08.2016 09:34
5920
В свойствах справочников и документов можно задать свойство «Основное представление». Данное свойство доступно в режиме конфигуратора. Возможны два режима выбора варианта формирования представления: «В виде кода» или «В виде наименования».
Когда срабатывает представление ?
Представление формируется при выводе на экран ссылок (объектов) документов или справочников.
Программное изменение представления в «Управляемом приложении»
В управляемом приложении появилась возможность программно влиять на формирование представления справочника или документа. Для этого в модуле менеджера предназначены две специальные процедуры:
1) ОбработкаПолученияПолейПредставления( , ) Вызывается при получении состава полей, из кторых формируется представление объекта. Эта процедура вызывается один раз, при первом формировании представления. Результат обработки события кэшируется для сеанса.
2) ОбработкаПолученияПредставления( , , )Вызывается при получении представления. В параметре «Данные» содержатся значения полей объекта, которые были заданы в событии ОбработкаПолученияПолейПредставления().
Для того чтобы добавить сообщение, необходимо Войти или Зарегистрироваться
1С установка представления ссылки на документы в базе, в табличной части
Изменение представления ссылки на документы в базе:
- В табличных частях;
- В отчетах;
- В связанных документах и т. д.
Пример, условия:
Есть документ «Расходная накладная», ссылка представлена в виде «Расходная накладная № 123 от 20.01.20». Необходимо изменить представление ссылки на следующий вид «Реализация № 123».
Порядок действий:
- В модуль менеджера расходной накладной добавить процедуру:
Процедура ОбработкаПолученияПредставления(Данные, Представление, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; Представление = "Реализация № " + Данные.Номер; КонецПроцедуры
Таким образом Вы можете убрать лишнюю информацию из представления ссылки на объекты в базе, а также добавить свою.
Если Вы дорабатываете типовую конфигурацию — рекомендуем воспользоваться механизмом расширений, запустить код После типовой процедуры. Тем самым Вы существенно сократите время на обновления.