Имя: Пароль:
1C
1С v8
Как ограничить выбор элементов в отборе (СКД)
,
0 sanches2
 
29.12.11
14:35
Привет. Есть отчет, в котором производится сравнение цен покупателя и цены по выбранному в отборе типу цен. Как-то можно ограничить выбор элементов, чтобы в список не попадали "лишние типы цен"?
В СКД на закладке "Наборы данных" есть поле "Доступные значения", но у меня там в списке только элемент "Элементы". Я так понимаю туда попадают предопределенные в конфигураторе значения из справочника или другого объекта.
1 Axel2009
 
29.12.11
14:38
перед формирование отчета задавай параметр
2 sanches2
 
29.12.11
20:56
А если у меня это сделано не через параметры, а через отбор?
3 Armando
 
29.12.11
21:14
(0) Попробую так:
Сохрани схему в xml. Открой в режиме предприятия консоль отчетов на СКД. Загрузи туда схему. Добавь элементы. И обратным порядком загрузи в конфигуратор. Не уверен, что сработает, но попробовать стоит.
Еще можно параметры выбора попробовать, если у тебя 8.2.
4 sanches2
 
29.12.11
21:35
(3) Спасибо. 8.2, но конфигурация в режиме совместимости с 8.1
5 Armando
 
29.12.11
21:41
(4) отпиши че получится
6 sanches2
 
29.12.11
23:33
Нашел на ИТС Консоль системы компоновки данных. Но там не вижу гже можно схему загрузить, только настройки
7 PVV65
 
30.12.11
00:28
(0) Только, создавая собственный отбор.
8 sanches2
 
04.01.12
14:03
Можете вкратце описать о том как свой отбор создать?
Что-то типа того. Создать объект отбор, заполнить его программно и заменить отбором компоновки даных?
А как на форме при выборе элемента из справочника ограничить выбор элементов?
9 Никола_
Питерский
 
04.01.12
15:32
Лучший вариант это конечно РЛС !
10 sanches2
 
04.01.12
16:05
В РЛС столкнулся с проблемой. У меня УТ10.3. При включении ограничения на чтение типов цен появляется ошибка в реализации. Там есть настройка для пользователя "Не отпускать товар с ценой ниже определенного типа". Так вот там как раз и стоит тот тип цен который надо сделать ему не доступным для чтения и вываливается ошибка в документе при попытке сравнить тип цен отпускаемый и заданный в настройках.
11 PVV65
 
04.01.12
16:25
(8) Создаешь свою форму отчета. На ней добавляешь поле ввода для выбора типа цен. Ограничиваешь в этом поле ввода возможность выбора любым известным тебе способом. На кнопку "Сформировать" вешаешь свою процедуру, в которой программно выводишь отчет, программно устанавливая значение отбора.
12 sanches2
 
05.01.12
22:23
(11) Спасибо
13 sanches2
 
07.01.12
21:14
Подскажите еще. В 8-ке есть возможность в списке справочника установить отбор не по реквизитам, а по списку значений как в 7-ке?
14 acsent
 
07.01.12
21:17
да
15 sanches2
 
07.01.12
21:21
(14) Спасибо.
Думаю делать отбор элементов справочника Типы цен номенклатуры пока тупо по наименованию,осталось сделать так, чтобы не могли отбор отключить
16 sanches2
 
09.01.12
11:30
Делаю отбор в списке справочника и хочу запретить его отключение при открытии списка из своего отчета, но кнопка отключить отбор остается доступной. Как правильно можно сделать недостпной кнопки?
СпрТипЦен = Справочники.ТипыЦенНоменклатуры;
   ФормаТипЦен = СпрТипЦен.ПолучитьФормуВыбора();
   ОтборНаименование = ФормаТипЦен.Отбор.Наименование;
   ОтборНаименование.Значение = "Закуп";
   ОтборНаименование.Использование = Истина;
   ОтборНаименование.ВидСравнения = ВидСравнения.НеСодержит;  
   
   
   ФормаТипЦен.ЭлементыФормы.ДействияФормы.Кнопки.Действие8.Доступность = Ложь; // это кнопка отключить отбор в форме списка выбора
   ФормаТипЦен.ЭлементыФормы.ДействияФормы.Кнопки.Действие2.Доступность = Ложь;

   ФормаТипЦен.ОткрытьМодально();
17 sanches2
 
09.01.12
13:37
18 PVV65
 
09.01.12
14:56
(16)
СпрТипЦен = Справочники.ТипыЦенНоменклатуры;

   ФормаТипЦен = СпрТипЦен.ПолучитьФормуВыбора(,Элемент); // Надо указать ЭЛЕМЕНТ

   ОтборНаименование = ФормаТипЦен.СправочникСписок.Отбор.Ссылка; // Отбор делать не на форму, а на ТП и лучше по ссылке
   ОтборНаименование.Значение = Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Закуп");
   ОтборНаименование.Использование = Истина;
   ОтборНаименование.ВидСравнения = ВидСравнения.НеСодержит;  
   
   ФормаТипЦен.ОткрытьМодально();

// запрет на изменение отбора сработает автоматически
19 Axel2009
 
09.01.12
14:57
сделай проще
ФормаТипЦен.НастройкаОтбора.Ссылка.Доступность = Ложь;
20 PVV65
 
09.01.12
14:58
+(18) Элемент - это поле ввода, владелец формы выбора в обработчике НачалоВыбора.
21 sanches2
 
09.01.12
16:46
Спасибо
22 sanches2
 
09.01.12
22:34
(19) Ага, вот так точнее надо ФормаТипЦен.ЭлементыФормы.СправочникСписок.НастройкаОтбора.Наименование.Доступность = Ложь;
(18) Работает, только проблема в том, что цен с названием Закуп несколько.
Но саму суть понял, спасибо!!!
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn