Персональная страница Федора Езеева | ||||||||||||||||||
|
Дальше
Назад
Содержание
Работа со справочниками.
Q.
При работе с периодическими реквизитами выпадает сообщение типа: A1. К переменной ВыбФирма ранее был применен метод ИспользоватьНаДату() A2. Метод Получить() не работает больше, чем через две точки. То есть, строку Результат=Очень.Длинный.Путь.К.Периодическому.Реквизиту.Получить(РабочаяДата());надо заменить на Пром=Очень.Длинный.Путь.К.Периодическому; Результат=Пром.Реквизиту.Получить(РабочаяДата()); Наверх Q. Есть справочник, у справочика числовой код. Выполняется следующий код: Сп1=СоздатьОбъект("Справочник.НекийСправочник"); Сп2=СоздатьОбъект("Справочник.НекийСправочник"); Сп1.НайтиПоКоду(1234,0); //возвращает 1, то есть находит элемент Сп2.НайтиПоКоду(Сп1.Код,0); //возвращает 0, хотя казалось бы A. Фишка в том, что в 1С код у справочника - субстанция текстовая. То, что мы можем задать его как числовой - только лишь ограничивает вид кода строками, которые могут быть представлены с числовом формате. Атрибут "Код" у справочника всегда возвращает строку. Причем АОЗТ "1С" об этом знает, но считает это особенностью, а не ошибкой. Посему нам остается делать поправку на ветер и писать последнюю строчку как Сп2.НайтиПоКоду(Число(Сп1.Код),0); //возвращает 1 Наверх Q. При открытии формы списка подчиненного справочника есть нужда программно определить текущий элемент-владелец (элемент-родитель в многоуровневом справочнике). Если использовать конструкцию ТекущийЭлемент.Владелец (ТекущийЭлемент.Родитель), то в случае, когда в открываемом списке нет ни одного элемента, выскакивает ошибка. Что делать? A. В таких случаях надо использовать методы ИспользоватьВладельца() и ИспользоватьРодителя() без параметров. Наверх Q. Похожая ситуация: Пользователь создал новый элемент и еще не записал его. Можно ли программно определить, группу/подчинение этого элемента? A. А вот в таких случаях нужно обращаться к реквизитам Родитель/Владелец контекста текущего элемента. Дальше Назад Содержание | |||||||||||||||||
© 1998-2004 Fedor Ezeev. |