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