|
|
|
|
|
|
УФ: Ограничить список типов реквизита |
☑ |
|
0
tenikov
17.09.12
✎
15:43
|
Подскажите, плз. Следующий код не работает:
&НаСервере
Функция ПолучитьТипыСубконто(ПараметрыФормы)
ТекстЗапроса =
"ВЫБРАТЬ
| ХозрасчетныйВидыСубконто.ВидСубконто.ТипЗначения КАК ТипЗнч
|ИЗ
| ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
| ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный КАК Хозрасчетный
| ПО ХозрасчетныйВидыСубконто.Ссылка = Хозрасчетный.Ссылка
| И (ХозрасчетныйВидыСубконто.НомерСтроки = 1)
|ГДЕ
| Хозрасчетный.Ссылка = &Счет
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ХозрасчетныйВидыСубконто.ВидСубконто.ТипЗначения
|ИЗ
| ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
| ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный КАК Хозрасчетный
| ПО ХозрасчетныйВидыСубконто.Ссылка = Хозрасчетный.Ссылка
| И (ХозрасчетныйВидыСубконто.НомерСтроки = 2)
|ГДЕ
| Хозрасчетный.Ссылка = &Счет
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ХозрасчетныйВидыСубконто.ВидСубконто.ТипЗначения
|ИЗ
| ПланСчетов.Хозрасчетный.ВидыСубконто КАК ХозрасчетныйВидыСубконто
| ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Хозрасчетный КАК Хозрасчетный
| ПО ХозрасчетныйВидыСубконто.Ссылка = Хозрасчетный.Ссылка
| И (ХозрасчетныйВидыСубконто.НомерСтроки = 3)
|ГДЕ
| Хозрасчетный.Ссылка = &Счет";
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("Счет", ПараметрыФормы.Счет);
Запрос.Текст = ТекстЗапроса;
МассивТипов = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("ТипЗнч");
Возврат Новый ОписаниеТипов(МассивТипов);
КонецФункции
&НаКлиенте
Процедура УстановитьТипСубконто()
ПараметрыФормы = Новый Структура("Счет", Объект.Счет);
Элементы.ЗначениеСубконто.ОграничениеТипа.ПривестиЗначение(ПолучитьТипыСубконто(ПараметрыФормы));
КонецПроцедуры
&НаКлиенте
Процедура СчетПриИзменении(Элемент)
Элементы.ЗначениеСубконто.ВыбиратьТип = Истина;
УстановитьТипСубконто();
КонецПроцедуры
|
|
|
1
ChAlex
17.09.12
✎
15:58
|
Элементы.ЗначениеСубконто.ОграничениеТипа=ПолучитьТипыСубконто(ПараметрыФормы) - а уже потом привести значение
|
|
|
2
tenikov
17.09.12
✎
16:09
|
(1) сделал как:
--
МассивТипов = ПолучитьТипыСубконто(ПараметрыФормы);
Элементы.ЗначениеСубконто.ОграничениеТипа = МассивТипов;
Элементы.ЗначениеСубконто.ОграничениеТипа.ПривестиЗначение(МассивТипов);
--
Вставил процедуру в ЗначениеСубконтоНачалоВыбора, всё равно открывает весь список типов.
|
|
|
3
tenikov
17.09.12
✎
17:17
|
ап
|
|
|
4
ChAlex
17.09.12
✎
18:14
|
Назначать надо перед выбором, а не при изменении. Какой толк там ставить - если уже произведено изменение реквизита
|
|
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший