Имя: Пароль:
1C
 
Нужна помощь с формой списка
0 Ыцут
 
21.11.09
08:07
День добрый. Или утро...

Господа, нужна помощь. Сто лет в код не лазил, а тут попросили так, что отказать не могу :)

Суть задачи: в типовой 1С 8 ТиС 10.2.12.2 надо програмно (а не стандартным фильтром 1Ски) сделать так, чтобы в форме списка документа "Чек ККМ" отображались только чеки со значением "КассаККМ" = "Основная Касса ККМ" текущего пользователя.
Сам попробовал - получился какой-то индийский код в 50 строчек, которыми худо-бедно только данные обо всех значениях по-умолчанию пользователя получил.

Если я правильно понимаю, то все что нужно, это добавить в модуль формы в процедуру ПриОткрытии строку
ДокументСписок.Отбор(//а вот что сюда необходимо написать - не соображу//);

Помогите, пожалуйста, а?
1 Rie
 
21.11.09
08:18
(0) Отбор.КассаККМ.Установить(НужноеЗначениеКассыККМ);
При этом реквизит КассаККМ должен быть индексированным.
2 Rie
 
21.11.09
08:18
+(1) То есть, конечно же, ДокументСписок.Отбор.Установить(...)
3 Ыцут
 
21.11.09
08:52
Большое спасибо.
Осталось только добиться того, чтоб НужноеЗначениеКассыККМ менялось в зависмости от пользователя...
Иначе говоря - как получить значение "Основная касса ККМ" из регистра "Настройки пользователей" для текущего пользователя?

ПС: ламер я, ламер :(
4 Rie
 
21.11.09
10:26
(3) Не помню, как там в 10.2, в 10.3 есть функция ПолучитьЗначениеПоУмолчанию в общем модуле УправлениеПользователями, и для получения кассы можно просто вызвать

УправлениеПользователями.ПолучитьЗначениеПоУмолчанию(ТекПользователь,"ОсновнаяКассаККМ");

, когда

ТекПользователь = глЗначениеПеременной("глТекущийПользователь");

Если такой нет в 10.2 - тогда что-нибудь вроде

РегистрыСведений.НастройкиПользователей.Получить
   ( Новый Структура
       ( "Пользователь,Настройка"
       , ТекПользователь
       , ПланыВидовХарактеристик.НастройкиПользователей.ОсновнаяКассаККМ
       )
   ).Значение;
5 Ыцут
 
21.11.09
13:34
Все работает, огромное спасибо.
Конечный вариант, если кому-нить когда-нить понадобится:

Юзер = глЗначениеПеременной("глТекущийПользователь");
   Касс = РегистрыСведений.НастройкиПользователей.Получить
   ( Новый Структура
       ( "Пользователь,Настройка"
       , Юзер
       , ПланыВидовХарактеристик.НастройкиПользователей.ОсновнаяКассаККМ
       )
   );
   
   ДокументСписок.Отбор.КассаККМ.Установить(Касс.Значение.Ссылка);