Имя: Пароль:
1C
1С v8
Не работает программный отбор по ссылке в форме справочник. (need help)
0 Trance_1C
 
31.10.12
09:44
Подскажите плиз, почему-то не срабатывает программный отбор на форме выбора справочника подразделения в толстой форме конфига УПП Отбор по полю "Ссылка". Форма открывается и в ней пусто, хотя если заглянуть в отбор формы, там видно программно добавленный отбор - Ссылка в списке (Ссылка1,Ссылка2,Ссылка3)
1 butterbean
 
31.10.12
09:45
может есть еще отборы??
2 shuhard
 
31.10.12
09:45
(0) ссылки кривые
3 Trance_1C
 
31.10.12
09:45
На самой форме список справочника в виде дерева с одним полем "Наименование"

Других отборов нет
РЛС нет
если просто открыть эту форму без отбора то все элементы видно.
4 1Сергей
 
31.10.12
09:46
больше кода
5 Trance_1C
 
31.10.12
09:47
(2) Ссылки возвращает функция которая получает их из запроса и аккуратно складывает в список, который потом падает в отбор...
там все ровно.
6 Trance_1C
 
31.10.12
09:47
(4)момент...
7 butterbean
 
31.10.12
09:48
тогда ткни в этот список и проверь свои ссылки
8 Trance_1C
 
31.10.12
09:51
в табличной части документа при выборе подразделения юзверю выдается список из подразделений входящих в структуру одного головного подразделения что выбран и в шапке документа. (холдинг мать его)    
   Таб = Новый ТаблицаЗначений;
   Таб.Колонки.Добавить("Имя");
   Таб.Колонки.Добавить("ВидСравнения");
   Таб.Колонки.Добавить("Значение");
   Таб.Колонки.Добавить("НеИзменять");
   Если ЗначениеЗаполнено(Подразделение) Тогда
   спЦФО = ОбщегоНазначения.ПолучитьПодчиненныеЦФО(ОбщегоНазначения.ПолучитьГоловноеЦФО(Подразделение));
   нот = Таб.Добавить();
   Нот.имя = "Ссылка";
   Нот.ВидСравнения = ВидСравнения.ВСписке;
   Нот.Значение = спЦФО;
   Нот.НеИзменять = Истина;
   РаботаСДиалогами.НачалоВыбораПодразделения(Таб, Элемент, СтандартнаяОбработка);
   Иначе
   ОбщегоНазначения.Сообщение("Укажите пожалуйста подразделение в шапке документа!");
   КонецЕсли;
9 Trance_1C
 
31.10.12
09:52
спЦФО - нормальный список без пустых значений там только ссылки...
10 Trance_1C
 
31.10.12
09:54
в базе аналогично работает отбор по складам или кассам, с формами этих справочников все норм, но там не дерево на форме а полноценный список, указываю спр. подразделения обычную форму со списком - отбор работает!
11 Пеппи
 
31.10.12
09:54
(9) спЦФО это список значений?
12 Trance_1C
 
31.10.12
09:54
а с деревом - показывает лопату.
13 Trance_1C
 
31.10.12
09:54
(11) самый настоящий!
14 Trance_1C
 
31.10.12
10:00
Еще раз проверил в списке спЦФО 7 элементов типы значений у всех "СправочникСсылка.Подразделения".
Мне кажется у формы выбора какая-то особенность с отбором в связи с типом списка - Дерево...
15 Trance_1C
 
31.10.12
10:01
добавлял свою форму выбора где справа обычный список, слева дерево групп - отбор работает...
16 Trance_1C
 
31.10.12
10:09
Процедура выбора...

Процедура НачалоВыбораПодразделения(ЗначениеОтбора, ЭлементФормы, СтандартнаяОбработка) Экспорт

   СтандартнаяОбработка = Ложь;
   
   ФормаВыбора = Справочники.Подразделения.ПолучитьФормуВыбора(, ЭлементФормы);
   ФормаВыбора.РежимВыбора = Истина;
   Если ТипЗнч(ЗначениеОтбора) = Тип("ТаблицаЗначений") Тогда
       Для Каждого ТекОтбор Из ЗначениеОтбора Цикл
           ФормаВыбора.Отбор[ТекОтбор.Имя].ВидСравнения  = ТекОтбор.ВидСравнения;
           ФормаВыбора.Отбор[ТекОтбор.Имя].Значение      = ТекОтбор.Значение;
           ФормаВыбора.Отбор[ТекОтбор.Имя].Использование = Истина;
           Если ТекОтбор.НеИзменять Тогда
               ФормаВыбора.ЭлементыФормы.СправочникСписок.НастройкаОтбора[ТекОтбор.Имя].Доступность = НЕ ТекОтбор.НеИзменять;
           КонецЕсли;
       КонецЦикла;
   ИначеЕсли ЗначениеОтбора = Неопределено Тогда
       // Ничего не делаем
   Иначе // ЗначениеОтбора = Вид подразделения
       ФормаВыбора.Отбор.ВидПодразделения.Установить(ЗначениеОтбора, Истина);
   КонецЕсли;
   
   Если ЗначениеЗаполнено(ЭлементФормы.Значение) Тогда
       ФормаВыбора.ПараметрТекущаяСтрока = ЭлементФормы.Значение;
   КонецЕсли;
   
   ФормаВыбора.Открыть();

КонецПроцедуры // НачалоВыбораПодразделения()
17 Trance_1C
 
31.10.12
10:12
Ооо прикольно у мисты нормально заработали теги кода... :)
18 Trance_1C
 
31.10.12
10:52
Проблема решилась после того как назначил списку формы действия в контекстное меню из командной панели формы по умолчанию, странная связь... но без этого не взлетело...
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший