Как сделать подчиненный справочник 1с
Чтобы справочник А сделать подчиненным справочнику Б — надо в режиме Конфигуратор в свойствах справочника А в поле «Подчинен» — выбрать справочник Б. Этого будет достаточно.
При работе с подчиненным справочником появляется один важный метод: «Использовать Владельца» и важный атрибут «Владелец».
Метод «ИспользоватьВладельца» — может применяться к объектам типа «Справочник» в нескольких случаях:
1. В качестве параметра выборки. Применяется для объектов полученных с помощью функции «СоздатьОбъект», являющихся подчиненными справочниками. Метод используется ДО метода «ВыбратьЭлементы». Дальнейшая выборка элементов с помощью функции ПолучитьЭлемент() будет происходить только среди элементов подчиненного справочника, для которых владельцем является элемент, установленный методом «ИспользоватьВладельца»
2. При создании нового элемента в подчиненном справочнике метод «ИспользоватьВладельца» — устанавливает владельца создаваемому элементу.
3. Для объектов типа «Справочник», являющихся реквизитами формы (например в документе или отчете) метод «ИспользоватьВладельца» позволяет программно установить владельца, который будет использован при выборе данного реквизита.
Атрибут «Владелец» — предоставляет доступ к значению элемента сопряженного справочника, которому подчинен выбранный элемент. Важно помнить, что этот атрибут может быть изменен, но только для объектов, полученных с помощью функции «СоздатьОбъект».
Это теоретические сведения.
Рассмотрим практические примеры. Все практические примеры используют справочники «Контрагенты» — «Расчетные счета». Эти справочники есть во многих конфигурациях, и Вы без проблем сможете опробовать примеры.
Пример 1. Перебрать все элементы справочника «Контрагенты» и подчиненного ему справочника «РасчетныеСчета».
Процедура Пример1()
Контр=СоздатьОбъект(«Справочник.Контрагенты»);
Рсч=СоздатьОбъект(«Справочник.РасчетныеСчета»);
Контр.ВыбратьЭлементы();//открываем выборку контрагентов
Пока Контр.ПолучитьЭлемент()=1 цикл
Сообщить(«Контрагент «+Контр.Наименование);//сообщаем того по куму будем выводить счета
рсч.ИспользоватьВладельца(контр.ТекущийЭлемент());////ВОТ ОН!
рсч.ВыбратьЭлементы();//теперь открываем выборку
Пока рсч.ПолучитьЭлемент()=1 цикл//получаем из выборки новый элемент
сообщить(«_____»+рсч.Наименование+» №»+рсч.Номер);// выводим имя и номер счета
конецЦикла;
конецЦикла;
КонецПроцедуры
Пример 2. Как перебрать элементы подчиненного справочника, «не глядя» на владельца. Номера и названия счетов всех контрагентов.
Процедура Пример2()
Рсч=СоздатьОбъект(«Справочник.РасчетныеСчета»);
рсч.ВыбратьЭлементы(0);//теперь открываем выборку
//Ноль означает, что выбираем без учета иерархии
//это все-равно, что отключить иерархический список в меню «Действия»
Пока рсч.ПолучитьЭлемент()=1 цикл//получаем из выборки новый элемент
сообщить(+рсч.Наименование+» №»+рсч.Номер);// выводим имя и номер счета
конецЦикла;
КонецПроцедуры
Пример 3. В примере 2 кроме названия и номера счета вывести название контрагента.
Процедура Пример3()
Рсч=СоздатьОбъект(«Справочник.РасчетныеСчета»);
рсч.ВыбратьЭлементы(0);//теперь открываем выборку
Пока рсч.ПолучитьЭлемент()=1 цикл//получаем из выборки новый элемент
Контрагент=рсч.Владелец;//вот мы и посмотрели на владельца
сообщить(рсч.Наименование+» №»+рсч.Номер+» «+Контрагент);
конецЦикла;
КонецПроцедуры
Обратите внимание! Очень важный момент. Разница между примером 1 и примером 3 – в первом случае перебираем справочник-владелец, а во втором случае – подчиненный справочник. В первом случае все счета оказываются сгруппированы по контрагентам. Во втором случае – один контрагент может встретиться несколько раз в разных местах (у разных счетов).
Пример 4. Для выбранного в форме контрагента – создать новый расчетный счет.
Процедура Пример4()
Рсч=СоздатьОбъект(«Справочник.РасчетныеСчета»);
Если ПустоеЗначение(выбКонтрагент)=1 тогда//смотрим — есть ли контрагент
предупреждение(«Укажите контрагента — хозяина»);//если нет — ругаемся
возврат; // и уходим
конецЕсли;
рсч.ИспользоватьВладельца(ВыбКонтрагент);//используем нового контрагента как владельца
рсч.Новый();//делаем новый элемент
рсч.Наименование=»Валютный»; //заполняем реквизиты
рсч.Номер=777777777777;
//.
//.
рсч.Записать();//не забываем записать!
КонецПроцедуры
Важно: бывает так, что в диалоге лежит 2 реквизита. При этом один из них подчинен другому. Например, такое есть в любой расходной или приходной накладной: реквизит «Контрагент» и реквизит «Договор» (или основание). Вы точно знаете, что договор надо выбирать из списка договоров конкретного контрагента. Подчиненность можно установить программно: Договор.ИспользоватьВладельца(Контрагент). Программно надо устанавливать в момент выбора контрагента. Но можно подчиненность установить прямо в свойствах подчиненного реквизита – в поле «Связан с» — надо написать имя реквизита-владельца. В этом случае – после выбора владельца в реквизите хозяине, в подчиненном реквизите – автоматически будет устанавливаться выборка элементов по хозяину. Пример можно посмотреть в любой расходной накладной.
Запись опубликована в рубрике Программирование и сопровождение 1с. Добавьте в закладки постоянную ссылку.
Очень часто в 1С 8.3. в справочнике необходимо настроить определенный порядок подчинения элементов. Для реализации подобных задач из простого справочника необходимо сделать иерархический справочник 1С.
В платформе 1С существует два вида иерархии – иерархия групп и элементов и иерархия элементов.
Иерархия групп и элементов
Для того, чтобы справочник имел иерархию групп и элементов, необходимо в редакторе справочника на закладке Иерархия установить флаг Иерархический справочник, а свойству Вид иерархии установить значение Иерархия групп и элементов.
Тогда у справочника можно будет создавать группы, и размещать элементы в группах.
При иерархии групп или элементов существуют группы (каталоги), в которые входят или другие группы, или элементы. И группы, и элементы являются экземплярами объекта справочника.
Группа это тоже экземпляр объекта справочника, по которому не ведется какой-либо учёт (как правило), и который может быть родителем другого экземпляра, т.е. в группу могут входить другие группы и элементы справочников.
Иерархия элементов
Иерархия элементов настраивается похожим способом: в редакторе справочника на закладке Иерархия устанавливается флаг Иерархический справочник, но свойству Вид иерархии следует установить значение Иерархия элементов.
После этого, каждый элемент может быть родителем другого элемента.
Родитель иерархического справочника 1С
У каждого элемента иерархического справочника должен быть родитель. В случае иерархии групп и элементов родитель это группа иерархического справочника, в случае иерархии элементов, родитель это элемент.
Родитель это стандартный реквизит справочника. Если иерархия отключена, то этот стандартный реквизит не доступен. Как у этого справочника Сотрудники.
А если иерархия включена, то этот реквизит доступен. Как у справочника Контрагенты.
Если форма элемента справочника автоматически генерируется платформой (т.е. она не создана), то этот реквизит отображается на управляемой форме. И, в случае иерархии групп и элементов в нем указана группа, в которую входит этот элемент.
Если группа не указана, то значит элемент верхнего уровня.
Также, родитель имеется у элементов справочника с иерархией элементов.
Создать элемент иерархического справочника 1С
Для того, чтобы создать группу справочника (в случае, иерархии групп и элементов), необходимо воспользоваться методом менеджера справочника СоздатьГруппу(). А для создания элемента следует воспользоваться методом СоздатьЭлемент(). Если мы хотим, чтобы вновь созданный элемент входил в какую-то группу, то следует в свойство Родитель этого элемента записать ссылку на нужную группу.
В коде ниже, создаем группу, а потом создаем элемент, который входит в эту группу:
Заметьте, группа в коде выше, группа верхнего уровня. У неё при создании не был задан Родитель.
В случае иерархии элементов всегда нужно создавать элементы, но также следует в свойстве Родитель созданного элемента указать ссылку на другой элемент, которому будет подчинен созданный.
Изменить элемент иерархического справочника 1С
Если мы хотим поменять подчиненность элемента иерархического справочника, или вообще убрать её, т.е. сделать из элемента элемент верхнего уровня, то следует работать со стандартным реквизитом Родитель. В случае, изменения подчиненности, этому реквизиту нужно присвоить ссылку на другую группу.
Если же мы хотим сделать элемент верхнего уровня, то этому реквизиту нужно присвоить пустую ссылку.
Поиск в иерархическом справочнике 1С
В платформе 1С имеется возможность искать в определенной группе иерархического справочника, для этого следует в методах НайтиПоНаименованию, НайтиПоКоду и НайтиПоРеквизиту заполнять параметр Родитель.
Например, поиск в определенной группе будет осуществляться так:
Где, третий параметр Группа — это ссылка на группу, внутри которой ищется элемент по указанному названию.
Выборка иерархического справочника 1С
В платформе 1С 8.3. существует возможность выбрать элементы иерархического справочника, которые входят в ту или иную группу, для этого следует воспользоваться методом Выбрать с заполненным параметром Родитель. В этом случае будут выбраны группы и элементы, которых входят непосредственно в указанную группу, но не будут выбраны группы элементы, которые входят в подчиненные группы. Чтобы выбрать элемент и группы, входящие в какую-то группу, следует воспользоваться методом ВыбратьИерархически.
Например, при таком коде:
Будут выбраны элементы, входящие в указанную группу.
А в этом случае:
Будут выбраны элементы, которые входят и в указанную группу, и в подчиненные ей группы.
И Выбрать, и ВыбратьИерархически отбирают и группы, и элементы справочников. Поэтому, в коде выше было использовано свойство ссылки справочника ЭтоГруппа. Это свойство имеет значение Истина, если ссылка является группой справочника.
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Скорее всего Вы уже неоднократно замечали в обычных типовых конфигурациях, взаимосвязанные между собой справочники, когда при выборе элемента справочника(справочник1), значение другого справочника(справочник2) «фильтруется» по этому значению – то есть выбираются значения, принадлежащие только текущему элементу справочника1; к примеру – это Справочник «Подразделения», владельцем которого является Справочник «Организации».
Для того, чтобы сразу вникнуть в суть происходящего, давайте посмотрим что происходит на практике. Для этого, вы можете, создать пустую конфигурацию с нуля, либо зайти в какую-либо имеющуюся копию информационной базы и в конфигураторе создать 2 справочника.
Справочник1 и Справочник2. В справочнике2 перейдите на вкладку «Владельцы» и выберите владельца – «Справочник1», смотрите как показано на рисунке.
Теперь при создании элементов в «Справочнике2», система будет просить ввести владельца справочника1. Есть опция – Использование подчинения – когда задается подчинение Элементам, группам, или группам и элементам.
Казалось бы всё просто, но проблемы возникают у пользователей. Пользователь при открытии «Справочника2» видит все элементы в совершенно непонятном порядке, да и к тому же, если вы работали с типовыми конфигурациями, то могли заметить, что напрямую в справочнике «Подразделения» вы нигде не задаёте владельца, а при открытии справочника можете выбирать организацию и в зависимости от этого получать элементы, подчинённые той или иной организации; при этом при создании элемента справочника «Подразделения» по умолчанию вы получите того владельца, которого выбрали в форме списка подразделений.
Итак приступим, и создадим «Форму списка» для нашего «Справочника2», пока предоставьте это 1С, не внося никаких изменений, позже мы подкорректируем созданную конструктором форму.
В «Справочнике2» перейдите на вкладку Формы и добавьте (+) новую Форму списка справочника и нажмите Готово.
Создадим реквизит формы с типом данных «Справочник1.Ссылка», с именем «ОтборСправочник1», и перетащим этот реквизит на форму, задайте заголовок «Справочник1».
Теперь, для того, чтобы «сие чудо» заработало, необходимо написать код, который будет выполнять отбор при выборе Элемента Справочника1.
8.2, 8.3 Управляемые формы
Для того, чтобы отобразить в форме списка справочника только необходимые нам элементы по выбранному элементу Справочника1, необходимо программно сделать отбор – по выбранному элементу, для этого воспользуемся предопределенной процедурой элемента управления ОтборСправочник1, и напишем код, выполняющие указанную задачу.
В верхней части выберите «ОтборСправочник1» нажмите на правую клавишу мыши и выберите «Свойства», в появившемся окне найдите свойство «ПриИзменении» и нажмите лупу, тем самым перейдя в модуль формы; автоматически создается процедура «ОтборСправочник1ПриИзменении(Элемент)»
В процедуре введите следующий текст:
8.2 Обычные формы
При построении форм – всё то же самое, только формы необходимо создавать обычные, управляемые формы в обычном приложении не работают.
Разница будет состоять в процедуре отбора для элемента в форме списка и создании реквизита.
Чтобы добавить реквизит на обычную форму нажмите кнопку
И далее текст процедуры
Предпоследней строкой(?) – запрещаем изменять отбор при открытии параметров отбора пользователем - только через элемент управления!
Курс лекций
Форум
Справочник – это агрегатный тип данных, средство для работы со списками однородных элементов данных. Название и структура каждого конкретного справочника определяются при его создании в конфигураторе. У любого справочника существуют два реквизита, которые создаются автоматически – «Код» и «Наименование». Реквизиты справочников могут быть периодическими, т.е. иметь значения, связанные с датой. При изменении значения периодического реквизита старое значение сохраняется, при этом новое значение начинает действовать с указанной даты, старое – до указанной даты.
Свойства справочника редактируются в окне редактирования «Справочник». Для визуального представления справочника существуют «Форма элемента», «Форма группы» и «Формы списка» (их может быть несколько).
Если один справочник подчинен другому (задается в поле «подчинен» окна редактирования), то каждый элемент подчиненного справочника будет соответствовать элементу справочника-владельца. Для этого есть специальный реквизит «Владелец», по которому можно найти элемент справочника-владельца.
Справочник может иметь иерархическую структуру. Число уровней иерархии определяется в поле «Кол-во уровней» в окне редактирования. Для задания иерархии используется реквизит «Родитель», который и определяет, к какой группе относится элемент. Наиболее важные функции:
- ЭтоГруппа() – возвращает 1, если текущий элемент справочника – группа;
- ПринадлежитГруппе() – возвращает 1, если текущий элемент принадлежит группе ;
- Уровень() – возвращает номер уровня текущего элемента.
Глубина вложенности групп настраивается в конфигураторе и не может превышать 10 уровней.
Обычно для обработки элементов справочника используется следующая последовательность команд:
Есть несколько способов поиска элемента справочника:
В последнем случае необходимо, чтобы элементы справочника были отсортированы по этому реквизиту – в свойстве реквизита в закладке «Дополнительно» нужно поставить флажок «Сортировка».
Пример. Следующая функция выполняет поиск элемента справочника по наименованию. Если элемент с таким наименованием не найден, то создается новый элемент. Параметр «Справ» – строка с идентификатором справочника, «Наим» – наименование по которому производится поиск элемента. Функция возвращает ссылку на найденный или созданный элемент.
Для удаления текущего элемента справочника используется функция Удалить(), где может иметь значение 0 – пометка на удаление, 1 – непосредственное удаление (используется по умолчанию). Вообще непосредственное удаление не рекомендуется, из-за возможного нарушения ссылочной целостности базы данных.
Чтобы удалить помеченные на удаление объекты через систему 1С:Предприятие 7.7, нужно зайти в программу в монопольном режиме и в меню «Операции» выбрать пункт «Удаление помеченных объектов…».
Документы в системе 1С: Предприятие используются для ввода, просмотра и корректировки информации о совершаемых хозяйственных операциях. У любого документа есть три обязательных реквизита «ДатаДок», «ВремяДок», «НомерДок». Дата и время, – наиболее важные характеристики документов, так как позволяют устанавливать строгую временную последовательность совершения операций. Форма документа редактируется при нажатии кнопки «Форма».
Реквизиты шапки документа задаются в списке «Реквизиты шапки». Реквизиты табличной части задаются в списке «Реквизиты табличной части».
Для того чтобы документ формировал проводки, необходимо
- создать хотя бы один план счетов.
- поставить флажок «Разрешить проведение документа».
- поставить флажок «Бухгалтерский учет».
Формирование проводок происходит в «Модуле документа» в предопределенной процедуре «Обработка проведения».
Обычно для обработки документов используется следующая последовательность команд:
Для ввода документа используется функция «Новый()», далее заполняются реквизиты шапки документа. Для ввода новой строки документа используется функция «НоваяСтрока()» и заполняются реквизиты табличной части документа.
Для просмотра списка документов используется «Журналы документов». Создание журнала производится в конфигураторе. В диалоговой форме задаются графы – реквизиты документов, входящих в журнал. Реквизиты табличной части можно добавить в журнал только в том случае, если в свойствах реквизита в закладке «Дополнительно» стоит флажок «Итог по колонке».
В соответствии с заданием №1 из приложения 3 создать справочники и документы в новой информационной базе.
Сегодня мы рассмотрим, как реализована работа с подчиненными справочниками на уровне встроенного языка и конфигуратора.
Чтобы справочник А сделать подчиненным справочнику Б - надо в режиме Конфигуратор в свойствах справочника А в поле "Подчинен" - выбрать справочник Б. Этого будет достаточно.
При работе с подчиненным справочником появляется один важный метод: «Использовать Владельца» и важный атрибут «Владелец».
Метод «ИспользоватьВладельца» - может применяться к объектам типа «Справочник» в нескольких случаях:
1. В качестве параметра выборки. Применяется для объектов полученных с помощью функции «СоздатьОбъект», являющихся подчиненными справочниками. Метод используется ДО метода «ВыбратьЭлементы». Дальнейшая выборка элементов с помощью функции ПолучитьЭлемент() будет происходить только среди элементов подчиненного справочника, для которых владельцем является элемент, установленный методом «ИспользоватьВладельца»
2. При создании нового элемента в подчиненном справочнике метод «ИспользоватьВладельца» - устанавливает владельца создаваемому элементу.
3. Для объектов типа «Справочник», являющихся реквизитами формы (например в документе или отчете) метод «ИспользоватьВладельца» позволяет программно установить владельца, который будет использован при выборе данного реквизита.
Атрибут «Владелец» - предоставляет доступ к значению элемента сопряженного справочника, которому подчинен выбранный элемент. Важно помнить, что этот атрибут может быть изменен, но только для объектов, полученных с помощью функции «СоздатьОбъект».
Это теоретические сведения.
Рассмотрим практические примеры. Все практические примеры используют справочники «Контрагенты» - «Расчетные счета». Эти справочники есть во многих конфигурациях, и Вы без проблем сможете опробовать примеры.
Пример 1. Перебрать все элементы справочника «Контрагенты» и подчиненного ему справочника «РасчетныеСчета».
Процедура Пример1()
Контр=СоздатьОбъект("Справочник.Контрагенты");
Рсч=СоздатьОбъект("Справочник.РасчетныеСчета");
Контр.ВыбратьЭлементы();//открываем выборку контрагентов
Пока Контр.ПолучитьЭлемент()=1 цикл
Сообщить("Контрагент "+Контр.Наименование);//сообщаем того по куму будем выводить счета
рсч.ИспользоватьВладельца(контр.ТекущийЭлемент());////ВОТ ОН!
рсч.ВыбратьЭлементы();//теперь открываем выборку
Пока рсч.ПолучитьЭлемент()=1 цикл//получаем из выборки новый элемент
сообщить("_____"+рсч.Наименование+" №"+рсч.Номер);// выводим имя и номер счета
конецЦикла;
конецЦикла;
КонецПроцедуры
Пример 2. Как перебрать элементы подчиненного справочника, «не глядя» на владельца. Номера и названия счетов всех контрагентов.
Процедура Пример2()
Рсч=СоздатьОбъект("Справочник.РасчетныеСчета");
рсч.ВыбратьЭлементы(0);//теперь открываем выборку
//Ноль означает, что выбираем без учета иерархии
//это все-равно, что отключить иерархический список в меню "Действия"
Пока рсч.ПолучитьЭлемент()=1 цикл//получаем из выборки новый элемент
сообщить(+рсч.Наименование+" №"+рсч.Номер);// выводим имя и номер счета
конецЦикла;
КонецПроцедуры
Пример 3. В примере 2 кроме названия и номера счета вывести название контрагента.
Процедура Пример3()
Рсч=СоздатьОбъект("Справочник.РасчетныеСчета");
рсч.ВыбратьЭлементы(0);//теперь открываем выборку
Пока рсч.ПолучитьЭлемент()=1 цикл//получаем из выборки новый элемент
Контрагент=рсч.Владелец;//вот мы и посмотрели на владельца
сообщить(рсч.Наименование+" №"+рсч.Номер+" "+Контрагент);
конецЦикла;
КонецПроцедуры
Обратите внимание! Очень важный момент. Разница между примером 1 и примером 3 – в первом случае перебираем справочник-владелец, а во втором случае – подчиненный справочник. В первом случае все счета оказываются сгруппированы по контрагентам. Во втором случае – один контрагент может встретиться несколько раз в разных местах (у разных счетов).
Пример 4. Для выбранного в форме контрагента – создать новый расчетный счет.
Процедура Пример4()
Рсч=СоздатьОбъект("Справочник.РасчетныеСчета");
Если ПустоеЗначение(выбКонтрагент)=1 тогда//смотрим - есть ли контрагент
предупреждение("Укажите контрагента - хозяина");//если нет - ругаемся
возврат; // и уходим
конецЕсли;
рсч.ИспользоватьВладельца(ВыбКонтрагент);//используем нового контрагента как владельца
рсч.Новый();//делаем новый элемент
рсч.Наименование="Валютный"; //заполняем реквизиты
рсч.Номер=777777777777;
//.
//.
рсч.Записать();//не забываем записать!
КонецПроцедуры
Важно: бывает так, что в диалоге лежит 2 реквизита. При этом один из них подчинен другому. Например, такое есть в любой расходной или приходной накладной: реквизит «Контрагент» и реквизит «Договор» (или основание). Вы точно знаете, что договор надо выбирать из списка договоров конкретного контрагента. Подчиненность можно установить программно: Договор.ИспользоватьВладельца(Контрагент). Программно надо устанавливать в момент выбора контрагента. Но можно подчиненность установить прямо в свойствах подчиненного реквизита – в поле «Связан с» - надо написать имя реквизита-владельца. В этом случае – после выбора владельца в реквизите хозяине, в подчиненном реквизите – автоматически будет устанавливаться выборка элементов по хозяину. Пример можно посмотреть в любой расходной накладной.
Задание для самостоятельной работы.
1. Не часто, но иногда требуется подчиненные элементы перенести (или скопировать) из под одного владельца – другому владельцу. Встроенного механизма – нет. Попробуйте написаться обработку, выполняющую перенос или копирование элементов из одного подчинения в другое.
2. Для тех, кому первое задание показалось легким: попробуйте написать универсальную обработку, которая бы позволяла работать с любыми двумя справочниками – один из которых владелец, а другой подчиненный.
3. Вопрос на засыпку: что будет после выполнения следующего программного кода. Где искать подчиненные элементы? Как система отреагирует на провокацию?
Процедура Засыпка()
пусто=ПолучитьПустоеЗначение("Справочник.Контрагенты");
Рсч=СоздатьОбъект("Справочник.РасчетныеСчета");
рсч.ВыбратьЭлементы(0);//теперь открываем выборку
Пока рсч.ПолучитьЭлемент()=1 цикл//получаем из выборки новый элемент
рсч.Владелец=пусто;// чистим владельца
рсч.Записать(); //и записываем с ПУСТЫМ пладельцем
конецЦикла;
КонецПроцедуры
Читайте также: