|
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) Отлично, спасибо! Работает.
|
|