Программная установка типа значения реквизита
15.11.2011
14:58
#1
Платформа: 1С 8.2
Конфигурация: 1С УТ 10.3, 1С: Розница
Описание: на форме имеется табличная часть, у которой есть некоторый реквизит. Он составной. По умолчанию я его делаю Номенклатурой и документом Установка Цен. При работе просто выбираю необходимый мне тип и заполняю значение в каждой строке.
Вопрос: как программно назначать тип реквизиту. нужно чтобы обработка была универсальна, а для этого нужно чтобы для УТ типы были Номенклатура и становка Цен, а для Розницы Номенклатура и Установка цен в магазине (это документ). Вот собственно вопрос: можно ли программно в зависимости от того, какая конфигурация загружена, назначать тип выбираемого реквизита в таблице?
P.S.: Прошу в ответе не учитывать метод определения конфигурации, это моя проблема и я ее решил.
Конфигурация: 1С УТ 10.3, 1С: Розница
Описание: на форме имеется табличная часть, у которой есть некоторый реквизит. Он составной. По умолчанию я его делаю Номенклатурой и документом Установка Цен. При работе просто выбираю необходимый мне тип и заполняю значение в каждой строке.
Вопрос: как программно назначать тип реквизиту. нужно чтобы обработка была универсальна, а для этого нужно чтобы для УТ типы были Номенклатура и становка Цен, а для Розницы Номенклатура и Установка цен в магазине (это документ). Вот собственно вопрос: можно ли программно в зависимости от того, какая конфигурация загружена, назначать тип выбираемого реквизита в таблице?
P.S.: Прошу в ответе не учитывать метод определения конфигурации, это моя проблема и я ее решил.
15.11.2011
15:00
#2
"
// установим тип Справочник.Контрагенты"
МойРеквизит = Справочники.Контрагенты.ПустаяСсылка();
15.11.2011
15:07
#3
А если мне нужно чтобы назначалось 2 типа? справочник и документ? чтобы потом при работе уже выбирать нужный тип для каждой строки
15.11.2011
15:29
#5
При создании обработки для реквизита я могу казать, что он составного типа, и выбрать для него типы "СправочникСсылка.Номенклатура" и "ДокументСсылка.УстановкаЦенНоменклатуры". При интерактивном вводе строки я сначала выбираю значение какого типа мне нужно добавить в таблицу, а потом выбираю уже непосредственно нужный мне элемент, исходя из типа.
Так вот собственно вопрос: можно ли программным способом назначать, какие типы мне можно будет выбрать при добавлении строки в таблицу?
Можно конечно просто добавить типы "СправочникСсылка" и "ДокументСсылка", но тогда конечный пользователь может запутаться при добавлении строки. Поэтому выбор типа нужно ограничить.
Так вот собственно вопрос: можно ли программным способом назначать, какие типы мне можно будет выбрать при добавлении строки в таблицу?
Можно конечно просто добавить типы "СправочникСсылка" и "ДокументСсылка", но тогда конечный пользователь может запутаться при добавлении строки. Поэтому выбор типа нужно ограничить.
15.11.2011
15:38
#6
"А все, разгадал загадку. Вот такое решение я принял:
ТипДок могу менять в зависимости от конфигурации и настроек обработки.
Статья, где нашел примерный метод: "
Процедура ТабличнаяЧасть1Реквизит1НачалоВыбора(Элемент, СтандартнаяОбработка) // Вставить содержимое обработчика. ТипСпр = Тип("СправочникСсылка.Номенклатура"); ТипДок = Тип("ДокументСсылка.УстановкаЦенНоменклатуры"); Если ТипЗнч(Элемент.Значение) <> ТипСпр И ТипЗнч(Элемент.Значение) <> ТипДок Тогда Массив = Новый Массив; Массив.Добавить(ТипСпр); Массив.Добавить(ТипДок); ОписаниеТипов = Новый ОписаниеТипов(Массив); Элемент.ОграничениеТипа = ОписаниеТипов; КонецЕсли;КонецПроцедуры ТипДок могу менять в зависимости от конфигурации и настроек обработки.
Статья, где нашел примерный метод: "
Читают тему
(гостей: 1)