Имя: Пароль:
1C
1С v8
Управляемая форма и контактная информация на регистре сведений.
,
0 fon_harry
 
18.01.12
00:49
Имею типовую УТ. Переписываю справочник контрагентов под управляемую форму. Встал вопрос каким способом работать с контактной информацией в идеологии УТ. Переписать конфу под хранения контактной информации в табличной части справочника нет возможности.

Как с наименьшими трудозатратами это осуществить? Как понимаю НаборЗаписей регистра сведений впихнуть в демонический список не получится.

По форуму искал... но ничего не нашел...
1 IamAlexy
 
18.01.12
00:50
а зачем тебе демонический список?
сделай ТЗ, заполняй при создании на сервере, записывай при записи объекта на сервере...


как жили до эпохи УФ?
так же же и жили...
2 rommail
 
18.01.12
00:57
самый бвстрый способ возьми комплексную там это уже сделали и перениси в УТ
3 fon_harry
 
18.01.12
00:59
(2) в комплексной контактная информация хранится в регистре или в табличной части справочника (как в бсп)?
4 H A D G E H O G s
 
18.01.12
01:04
(3) В регистре
5 H A D G E H O G s
 
18.01.12
01:06
Для себя впилил в КлиентСерверном модуле следующее (почти как в БСП):

Процедура УстановитьОтборДинамическихСписков(СоответствиеОтборов,ИмяПоля="Владелец",ТипВидаСравнения=Неопределено) экспорт
   Если ТипВидаСравнения=Неопределено Тогда
       ТипВидаСравнения=ВидСравненияКомпоновкиДанных.Равно;
   КонецЕсли;
   
   
   ПолеКомпоновки=Новый ПолеКомпоновкиДанных(ИмяПоля);
   Для Каждого ЭлементСоответствия ИЗ СоответствиеОтборов Цикл
       ТекОтбор=ЭлементСоответствия.Ключ;
       ИскомыйЭлементы=Неопределено;
       Для Каждого ЭлементОтбора ИЗ ТекОтбор.Элементы Цикл
           Если ЭлементОтбора.ЛевоеЗначение=ПолеКомпоновки Тогда
               ИскомыйЭлементы=ЭлементОтбора;
               Прервать;
           КонецЕсли;
       КонецЦикла;
       Если ИскомыйЭлементы=Неопределено Тогда
           ИскомыйЭлементы=ТекОтбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
           ИскомыйЭлементы.ЛевоеЗначение = ПолеКомпоновки;
           ИскомыйЭлементы.ВидСравнения = ТипВидаСравнения;
       КонецЕсли;
       ИскомыйЭлементы.ПравоеЗначение = ЭлементСоответствия.Значение;
       Если ЭлементСоответствия.Значение=Неопределено Тогда
           ИскомыйЭлементы.Использование=Ложь;
       Иначе
           ИскомыйЭлементы.Использование=Истина;
       КонецЕсли;
       
   КонецЦикла;
   
КонецПроцедуры
6 H A D G E H O G s
 
18.01.12
01:09
И мои динамические списки стали чистыми и шелковистыми:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   СоответствиеОтборов=Новый Соответствие;
   СоответствиеОтборов.Вставить(ОтветственныеЛица.Отбор,Объект.Ссылка);
   подОбщегоНазначенияКлиентСервер.УстановитьОтборДинамическихСписков(СоответствиеОтборов,"СтруктурнаяЕдиница");
КонецПроцедуры // ПриСозданииНаСервере()

где - ОтветственныеЛица - динамический список
7 fon_harry
 
18.01.12
01:09
(4) Подскажите пожалуйста полное название комплексной конфигурации, чтобы знать, что искать на посмотреть =)
8 IamAlexy
 
18.01.12
01:10
(5) взял бы из БСП.. там красивее + можно посредством еще одной переменной делать списки на сравнение полей друг с другом...
весьма удобно и гибко получается...

2 процедуры: по установке и по очистке работая последовательно позволяют изгалятся с фильтрами в списках на клиенте как угодно
9 H A D G E H O G s
 
18.01.12
01:11
(8) Я когда это запиливал - про БСП вообще не знал.
А так - работает, да и ладно.
10 IamAlexy
 
18.01.12
01:12
(9) ы.. я когда прочухал, неполенился - привел к стандарту.. реально удобно получается
11 fon_harry
 
18.01.12
01:14
(10) а если мне данные надо хранить в регистре а не переводить всё в тч, то подход из БСП перепилить возможно без сильного перепиливания?
12 H A D G E H O G s
 
18.01.12
01:15
(11) Ты делай давай сначало. А уж потом думать будешь, анализировать, созерцать и посыпать голову пеплом.
13 IamAlexy
 
18.01.12
01:15
(11) посмотри ЛЮБУЮ типовую, хотя бы ту же БП8 где в номенклатуре цены лежат в тч..
принцип ровно такой же..
я бы с фильтрами и набором записей вообще не мудрил...

заполнение запросом ТЗ при создании и запись ТЗ в регистр при записи объекта.. ВСЕ..
14 a_alenkin
 
18.01.12
01:48
а с чего ты взял что нельзя динамический список использовать?
15 IamAlexy
 
18.01.12
01:50
(14) а зачем?
зачем впихивать невпих_уемое?

типа появился динамический список значит будем его всюду использовать безостановки?
нафига?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс