Имя: Пароль:
1C
1C 7.7
v7: Получить все значения справочника "ЗПСотрудников" для конкретного сотрудника
0 Fedor
 
28.12.11
17:14
Подскажите пожалуйста, как при открытии формы справочника "ЗПСотрудников" перебрать все строки относительно того сотрудника, для которого открывается справочник.
Справочник "ЗПСотрудников" подчинен справочнику "Сотрудники".
1 viktor_vv
 
28.12.11
17:20
СпрЗП = СоздатьОбъект("Справочник.ЗПСотрудников");
СпрЗП.ИспользоватьВладельца(Владелец);
СпрЗП.ВыбратьЭлементы(1);
Пока СпрЗП.ПолучитьЭлемент() = 1 Цикл
КонецЦикла ;
2 Fedor
 
28.12.11
17:40
Ага, спасибо! А как теперь сделать недоступными для изменения некоторые реквизиты из СпрЗП?
Т.е., я хочу, чтоб при открытии этой формы списка некоторые реквизиты формы были недоступны для изменения.
Хотел написать,
СпрЗП.ЗП.Доступность(0)
но выпадает ошибка "Поле агрегатного объекта не обнаружено (Доступность)".
А если пишу
СпрЗП.ДатаЗП.Доступность(0)
то выпадает ошибка "Значение не представляет агрегатный объект (Доступность)"
3 viktor_vv
 
28.12.11
17:44
Форма.ЗП.Доступность(0);
4 viktor_vv
 
28.12.11
17:51
(2) Стоп, че-то я непонял, че ты делаешь-то ? Нафига тебе при открытии списка перебирать элементы ? Он и так откроется только по сотруднику.
5 Fedor
 
28.12.11
17:54
Да, в форме будует несколько строк по этому сотруднику. И мне нужно для тех строк, где ДатаЗП < ДатаБлок, сделать недоступными для изменения некоторые реквизиты, а для остальных строк доступность не изменять.
6 antoneus
 
28.12.11
17:56
ПриВыбореСтроки()
7 viktor_vv
 
28.12.11
17:59
Форма.ЗП.Доступность(0) закрой всю колонку по всем строкам. Это тебе надо

Процедура ПриНачалеРедактированияСтроки()
Если Форма.АктивныйЭлемент() = "ЗП" Тогда
Если ДатаЗП < ДатаБлок Тогда
Возврат ;
КонецЕсли ;
КонецЕсли ;
КонецПроцедуры

И выкинуть перебор строк.
8 viktor_vv
 
28.12.11
17:59
*Закроет
9 Fedor
 
28.12.11
18:12
(7) Отлично, спасибо! Работает.