|
Поменять у реквизита тип данных | ☑ | ||
---|---|---|---|---|
0
Slon747
13.09.16
✎
14:30
|
Есть реквизит обработки типа СправочникСсылка.
В разных конфигурациях этот справочник может называться по разному. Есть ли возможность программно менять тип данных реквизита? Т.е. Вместо "СправочниСсылка.ТипыЦенНоменклатуры" на "СправочниСсылка.ВидыЦен"? |
|||
1
Casey1984
13.09.16
✎
14:32
|
Тип: СправочникСсылка. А потом прописывай в коде для реквизита.
|
|||
2
Draconus
13.09.16
✎
14:33
|
Ну как просто сделать...
Если Объект.ИмяКонфигурации = "Розница" Тогда КассаККМ = Справочники["КассыККМ"].ПустаяСсылка(); ВидБезналОплаты = Справочники["ВидыОплатЧекаККМ"].ПустаяСсылка(); ВидЦеныЗакупка = Справочники["ВидыЦен"].ПустаяСсылка(); ВидЦеныПродажа = Справочники["ВидыЦен"].ПустаяСсылка(); ИначеЕсли Объект.ИмяКонфигурации = "УправлениеТорговлей" Тогда КассаККМ = Справочники["КассыККМ"].ПустаяСсылка(); ВидЦеныЗакупка = Справочники["ВидыЦен"].ПустаяСсылка(); ВидЦеныПродажа = Справочники["ВидыЦен"].ПустаяСсылка(); Элементы.ВидБезналОплаты.Видимость = Ложь; ИначеЕсли Объект.ИмяКонфигурации = "БухгалтерияПредприятия" Тогда ВидЦеныЗакупка = Справочники["ТипыЦенНоменклатуры"].ПустаяСсылка(); ВидЦеныПродажа = Справочники["ТипыЦенНоменклатуры"].ПустаяСсылка(); Элементы.ВидБезналОплаты.Видимость = Ложь; Элементы.КассаККМ.Видимость = Ложь; Элементы.СопоставитьДанныеСотрудников.Видимость = Ложь; КонецЕсли; Из примера должно быть понятно. |
|||
3
k1noshkin
13.09.16
✎
14:35
|
Метаданные.Версия - узнаешь конфигурацию, ну а дальше условиями обращение к нужному объекту
|
|||
4
xafavute
13.09.16
✎
14:36
|
долько програмно добавить
Или можно установить тип СправочникСсылка и потом ограничивать |
|||
5
Slon747
13.09.16
✎
14:42
|
Всем спасибо.
Прописал тип "СправочникСсылка", после чего установил пустую ссылку нужного справочника. |
|||
6
Slon747
13.09.16
✎
15:30
|
А подскажите пож. как для УФ это реализовать?
Сделал так. Модуль формы: &НаКлиенте Процедура ПриОткрытии(Отказ) ПриОткрытииНаСервере(); КонецПроцедуры &НаСервере Процедура ПриОткрытииНаСервере() Обработка = РеквизитФормыВЗначение("Объект"); Обработка.УстановитьТипыРеквизитов(); КонецПроцедуры Модуль объекта: &НаСервере Процедура ПриОткрытииНаСервере() Обработка = РеквизитФормыВЗначение("Объект"); Обработка.УстановитьТипыРеквизитов(); КонецПроцедуры Процедура УстановитьТипыРеквизитов() Экспорт //установка типов реквизитов в зависимости от конфигураций Если Метаданные.Справочники.Найти("ТипыЦенНоменклатуры") <> Неопределено Тогда ТипЦенРозничная = Справочники["ТипыЦенНоменклатуры"].ПустаяСсылка(); ТипЦенОптовая = Справочники["ТипыЦенНоменклатуры"].ПустаяСсылка(); ТипЦенЗаказов = Справочники["ТипыЦенНоменклатуры"].ПустаяСсылка(); ИначеЕсли Метаданные.Справочники.Найти("ВидыЦен") <> Неопределено Тогда ТипЦенРозничная = Справочники["ВидыЦен"].ПустаяСсылка(); ТипЦенОптовая = Справочники["ВидыЦен"].ПустаяСсылка(); ТипЦенЗаказов = Справочники["ВидыЦен"].ПустаяСсылка(); КонецЕсли; КонецПроцедуры Отладчиком вижу, что отрабатывает. Но на форму при выборе значения дает все типы справочников. |
|||
7
Slon747
13.09.16
✎
15:30
|
Вернее так:
Модуль формы: &НаКлиенте Процедура ПриОткрытии(Отказ) ПриОткрытииНаСервере(); КонецПроцедуры &НаСервере Процедура ПриОткрытииНаСервере() Обработка = РеквизитФормыВЗначение("Объект"); Обработка.УстановитьТипыРеквизитов(); КонецПроцедуры Модуль объекта: &НаСервере Процедура УстановитьТипыРеквизитов() Экспорт //установка типов реквизитов в зависимости от конфигураций Если Метаданные.Справочники.Найти("ТипыЦенНоменклатуры") <> Неопределено Тогда ТипЦенРозничная = Справочники["ТипыЦенНоменклатуры"].ПустаяСсылка(); ТипЦенОптовая = Справочники["ТипыЦенНоменклатуры"].ПустаяСсылка(); ТипЦенЗаказов = Справочники["ТипыЦенНоменклатуры"].ПустаяСсылка(); ИначеЕсли Метаданные.Справочники.Найти("ВидыЦен") <> Неопределено Тогда ТипЦенРозничная = Справочники["ВидыЦен"].ПустаяСсылка(); ТипЦенОптовая = Справочники["ВидыЦен"].ПустаяСсылка(); ТипЦенЗаказов = Справочники["ВидыЦен"].ПустаяСсылка(); КонецЕсли; КонецПроцедуры |
|||
8
xafavute
13.09.16
✎
15:35
|
Элементы.Реквизит.ОграничениеТипа = Новый ОписаниеТипов(...)
|
|||
9
Slon747
13.09.16
✎
15:38
|
(8) Спасибо
|
|||
10
aleks_default
13.09.16
✎
17:46
|
(0)Там вообще произвольный тип можно поставить. А потом присвоить пустую ссылку нужного типа.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |