1 of 72

Объектно-ориентированное программирование и моделирование

База курса:

  • умение писать код на языке программирования 1С
  • умение решать интеграционные задачи
  • умение решать учетные задачи
  • трудолюбие. Мы дадим предмет подробно, от вас старание.

Цель курса:

  • приобретение профессии 1С-разработчика, готовность пройти собеседование на стажера/junior’a
  • Способность решить учетную задачу
  • Способность сделать интеграцию 1С со сторонней системой

Мы даем вам профессию и готовим к реальной работе

2 of 72

Орг-вопросы

  1. Лекции очно, нужно ходить, будет полезно и интересно
  2. Занятия будут вести:
    1. Антонов Виталий Михайлович, руководитель направления 1С-проектов ИНТЕРВОЛГИ
    2. Коллеги из направления 1С-проектов ИНТЕРВОЛГИ

3 of 72

3. Проверьте чтобы вы были записаны тут, допишите свои почтовые ящики (которые вы читаете):

2022.intervolga.ru/imit_2022

Выбрать лист группы, найти ФИО, проверить почту, получить номер темы ЛР

4. Если вы пропустили лекцию, презентации тут

intervolga.ru/school

5. Все задания на ЛР тут

2022.intervolga.ru/volgu-1с-2022

4 of 72

4. Для сдачи лабораторных работ заведите приватный репозиторий на github:

5 of 72

Добавьте antonov@intervolga.ru как collaborator к вашему репозиторию:

6 of 72

Внесите адрес репозитория напротив своей фамилии в таблицу

Если вы все сделали верно, в колонке “Приватный” автоматически загорится слово приватный

Правила ведения репозитория

  1. каждая лабораторная работа = отдельная папка/каталог.�ЛР1 …… ЛР 8�НЕ ВЕТКА, а именно каталог
  2. архивы запрещены
  3. отчет о выполнении работы (если требуется) загружаете в readme как ссылку на гугл-документ с доступом на antonov@intervolga.ru

Советы

  1. учебная платформа 1С
  2. используйте git для управления репозиторием

ПОД ВОПРОСОМ!!!

7 of 72

Лекция 9: Контекст. Программные модули. Событийность. �Объектная модель работы с данными

8 of 72

Контекст. Программные модули. Событийность

9 of 72

Понятие программного модуля

Программный модуль 1С представляет собой текст на встроенном языке 1С:Предприятия, расположенный в определенном месте конфигурации.

Виды программных модулей:

  1. Общие модули принадлежат всей конфигурации в целом. В отличие от модуля приложения, их может быть несколько. Общие модули не могут содержать объявлений переменных, и в них нет раздела основной программы, таким образом, они состоят только из процедур и функций.
  2. Модуль приложения (обычного и управляемого) - это модуль, который относится ко всей конфигурации в целом и может быть только один. Он отвечает за пользовательскую сессию (сеанс) работы с 1С:Предприятие 8.
  3. Модуль внешнего соединения - используется вместо модуля приложения в том случае, если конфигурация запускается через COM-соединение, а не в режиме клиентской сессии.
  4. Модуль объекта - собственный модуль некоторых прикладных объектов конфигурации (например, модуль документа РасходнаяНакладная, модуль справочника Номенклатура). Не путать с модулями форм этих объектов!

10 of 72

Понятие программного модуля

5. Модуль сеанса.

6. Модули форм - модуль, в котором определяется поведение формы и действия, выполняемые из нее (например, открытие других форм).

7. Модуль менеджера объекта - для переопределения стандартного события выбора, которое возникает в момент ввода по строке и для расширение функционала менеджера.

8. Модули команд.

9. Модули набора записей.

11 of 72

Разделы программного модуля

Любой программный модуль, за исключением общих модулей, состоит из следующих разделов:

  • раздел объявления переменных,
  • раздел процедур и функций,
  • раздел основной программы.

Внимание! У общих модулей есть только раздел процедур и функций.

12 of 72

Виды контекста

Контекст – это определенное окружение доступных свойств и методов в данном конкретном программном модуле, в данной конкретной строке.

Даже в одном модуле в разных процедурах может быть совершенно разный контекст.

Виды контекстов в 1С:Предприятии 8

  1. Глобальный контекст, доступный во всех остальных контекстах, состоит из следующих частей:
    • свойства, методы и события глобального контекста (например, свойство РабочаяДата);
    • системные перечисления и системные наборы значений (например, КодВозвратаДиалога и Символы).
  2. Контекст модуля приложения (или модуля внешнего соединения), в котором:
    • доступны экспортируемые процедуры и функции общих модулей.
  3. Контекст общего модуля, в котором:
    • доступны экспортируемые процедуры и функции других общих модулей;
    • недоступны экспортируемые переменные, процедуры и функции модуля приложения.

13 of 72

Виды контекста

4. Контекст модуля объекта, в котором есть доступ к реквизитам и табличным частям объекта, а также его методам и событиям (например, в модуле документа РасходнаяНакладная доступны реквизиты документа и его табличные части, можно вызывать методы документа и обрабатывать события).

5. Контекст модуля формы, в котором доступны реквизиты формы, а также ее свойства, методы и события. Если у формы назначен основной реквизит, то в модуле формы становятся доступны свойства и методы прикладного объекта, используемого в качестве основного реквизита, а также экспортируемые переменные, процедуры и функции модуля этого прикладного объекта.

14 of 72

Правила видимости

Правила видимости экспортируемых переменных, процедур и функций различных модулей:

  1. В общем модуле недоступны экспортируемые переменные, процедуры и функции модуля приложения (модуля внешнего соединения).
  2. В модуле приложения (модуле внешнего соединения) доступны экспортируемые процедуры и функции общих модулей.
  3. В общих модулях доступны экспортируемые процедуры и функции других общих модулей.
  4. В модулях прикладных объектов и модулях форм доступны экспортируемые переменные, процедуры и функции модуля приложения (модуля внешнего соединения), а также экспортируемые процедуры и функции общих модулей.
  5. Если у формы назначен основной реквизит, то контекст модуля формы содержит дополнительные свойства и методы, связанные с основным реквизитом (например, в модуле формы элемента справочника Номенклатура доступны свойства и методы объекта СправочникОбъект.Номенклатура).

15 of 72

Правила видимости

"Экспорт" - необязательное ключевое слово, которое указывает на то, что процедура является доступной из других программных модулей.

Стрелки на схеме обозначают, что модуль предоставляет другим модулям возможность обращаться к своим экспортируемым переменным, процедурам и функциям. Напомним, что в общих модулях не может быть объявления переменных.

16 of 72

Глобальный контекст

Глобальный контекст доступен во всех местах конфигурации.

Глобальный контекст образуется прежде всего процедурами и функциями глобального контекста Платформы.

17 of 72

Свойства глобального контекста

Все объекты конфигурации являются свойствами глобального контекста.

Т.е. создание справочника, документа - это добавление нового свойства в глобальный контекст.

18 of 72

События глобального контекста

Обработчик события - процедура, которая выполняется при наступлении определенного события в системе (пример - нажатие кнопки)

Описывать события приложения нужно в модуле приложения,

события модуля сеанса - в модуле сеанса,

события внешнего соединения - в модуле внешнего соединения,

19 of 72

Модуль приложения 1С

Модуль приложения 1С предназначен для объявления глобальных переменных, а также обработки событий:

  1. запуска приложения и
  2. завершения его работы.

Модуль приложения содержит обработчики, позволяющие перехватить и обработать внешние события от оборудования (например, события от торгового или фискального оборудования).

ВАЖНО! В модуле приложения отслеживается именно интерактивный запуск системы (т.е. когда создается окно программы); он не будет работать, если запуск программы 1С осуществляется, например, в режиме com-соединения, так как в этом случае окно программы не создается.

20 of 72

Модуль приложения 1С

Процедуры, функции и переменные модуля приложения могут быть описаны как экспортные. Все переменные и методы, которые помечены как экспортные будут доступны в любом модуле конфигурации, работающем на стороне клиента. Однако для описания общих алгоритмов рекомендуется использовать "Общие модули", что позволит снизить время компиляции модуля и время запуска приложения.

Расширить контекст модуля приложения можно за счет методов общих модулей, для которых установлено свойство «Вызов сервера».

Виды модуля приложения:

  1. модуль управляемого приложения (события этого модуля обрабатываются при запуске тонкого клиента, толстого клиента и веб-клиента);
  2. модуль обычного приложения (работает при запуске толстого клиента в режиме обычного приложения).

ВАЖНО! Если приложение работает и в режиме управляемого приложения, и в режиме обычного приложения, то необходимо описывать процедуры-обработчики как для модуля управляемого приложения, так и для модуля обычного приложения.

21 of 72

Модуль приложения 1С

В модуле Управляемого приложения не указываются директивы компиляции процедур и функций, так как модуль целиком компилируется на стороне Клиента. Это означает, что в процедурах и функциях модуля мы не сможем непосредственно обратиться, например, к справочникам. Если из модуля Управляемого приложения необходимо сделать Серверный вызов, то для этого нужно будет создавать специальные Общие модули с выставленным флагом "Вызов Сервера".

В модуле Обычного приложения подобных ограничений нет, так как данный модуль будет компилироваться при загрузке Толстого клиента. В Толстом клиенте доступны практически все типы данных.

22 of 72

События приложения. Пример

Напишем несколько событий приложений

23 of 72

События приложения. Пример

ПередНачаломРаботыСистемы

Параметр обработчика событий Отказ = ИСТИНА/ЛОЖЬ. По умолчанию - ЛОЖЬ.

Если Отказ = Истина, тогда программа не запустится.

Перед началом работы системы Сообщить() использовать нельзя. Используем Предупреждение()

ПриЗавершенииРаботыСистемы

Если Отказ = Истина, то работа с программой не будет завершена.

Если Отказ = Ложь, то программа будет завершена в любом случае.

Если Отказ = Истина И ТекстПредупрежедения не пустая строка, то пользователю будет предложен выбор - остаться или выйти без сохранения данных

24 of 72

События приложения. Пример. Результат

Программа еще не запустилась

25 of 72

События приложения. Пример. Результат

Программа запустилась

26 of 72

События приложения. Пример. Результат

Программа запустилась

27 of 72

События приложения. Результат

При закрытии программы

28 of 72

Модуль внешнего соединения

Модуль внешнего соединения срабатывает, когда запуск приложения происходит в режиме com-соединения и предназначен для обработки событий:

  1. запуска приложения и 2. завершения его работы.

Как и в модуле приложения, здесь доступны разделы описания переменных, методов и раздел основной программы. Процедуры, функции и глобальные переменные, определенные в модуле внешнего соединения с ключевым словом "Экспорт" становятся, как и в случае модуля приложения, частью глобального контекста.

Отличие модуля внешнего соединения от модуля приложения:

  • в режиме com-соединения вся работа с информационной базой происходит на стороне сервера;
  • модуль внешнего соединения компилируется исключительно на сервере, поэтому в нем не доступны экспортные переменные и методы общих клиентских модулей.

Сам процесс внешнего соединения – это процесс неинтерактивный. В этом режиме происходит программная работа с информационной базой и не происходит открытия окна приложения, что накладывает определенные ограничения на использование методов, предназначенных для интерактивной работы. В этом режиме нельзя использовать вызовы диалоговых форм, предупреждающих сообщений и т.п. Они просто не сработают.

29 of 72

Модуль внешнего соединения

События:

  • <ПриНачалеРаботыСистемы> - действия, выполняемые при инициализации соединения.
  • <ПриЗавершенииРаботыСистемы> - действия, выполняемые при завершении соединения.

30 of 72

Модуль сеанса

Модуль сеанса - это узкоспециализированный модуль, предназначенный исключительно для инициализации параметров сеанса и выполняющийся в любом режиме запуска приложения.

Особенности модуля сеанса:

  1. Исполнение происходит после начала исполнения модуля приложения (модуля внешнего соединения).
  2. Запускается в привилегированном режиме (не выполняется проверка прав доступа при обращении к базе данных).
  3. Компилируется только на сервере.
  4. Нет раздела описания переменных и раздела основной программы.
  5. Нельзя описывать экспортные методы, процедуры и функции, используется только для установки параметров сеанса.

31 of 72

Модуль сеанса

Событие модуля сеанса

Событие <УстановкаПараметровСеанса>, единственное для этого модуля, выполняется самым первым (даже раньше события модуля приложения <ПередНачаломРаботыСистемы>).

ВАЖНО! Не стоит располагать в модуле сеанса код, не связанный напрямую с инициализацией параметров сеанса:

  1. обработчик УстановкаПараметровСеанса может неоднократно вызываться в процессе работе системы (например, когда мы обращаемся к не инициализированным параметрам);
  2. данный модуль компилируется в привилегированном режиме, т.е. в нем не осуществляется контроль прав доступа;
  3. мы не можем быть полностью уверены, что запуск системы будет произведен, и в случае отказа приложения пытаемся выполнить какие-то действия с базой данных.

32 of 72

Модуль сеанса

ВАЖНО! Не стоит располагать в модуле сеанса код, не связанный напрямую с инициализацией параметров сеанса:

  • обработчик УстановкаПараметровСеанса может неоднократно вызываться в процессе работе системы (например, когда мы обращаемся к не инициализированным параметрам);
  • данный модуль компилируется в привилегированном режиме, т.е. в нем не осуществляется контроль прав доступа;
  • мы не можем быть полностью уверены, что запуск системы будет произведен, и в случае отказа приложения пытаемся выполнить какие-то действия с базой данных.

33 of 72

Общие модули

Объект "Общие модули" содержит программный код (процедуры и функции), вызываемый из других мест конфигурации (используемый в других программных модулях), и может принадлежать всей конфигурации.

Примеры общего модуля 1С:

  • расчет количества разницы рабочих дней;
  • пересчет курсов валют;
  • пересчет количества/цены/суммы в табличной части;
  • обработка проведения по какому-то регистру, и др.

34 of 72

Общие модули

Особенности объекта "Общий модуль":

  1. содержат только раздел процедур и функций;
  2. не могут содержать объявления переменных;
  3. нет раздела основной программы;
  4. экспортируемые переменные, процедуры и функции модуля приложения не доступны в общих модулях;
  5. экспортируемые процедуры и функции общих модулей доступны:
    • в модуле приложения,
    • других общих модулях,
    • остальных программных модулях.
  6. в конфигурации общих модулей может быть несколько (в отличие от модуля приложения, единственного для конфигурации).

35 of 72

Общие модули. Свойства

Палитра свойств объекта "Общие модули"

"Глобальный" — если флаг установлен, функции и процедуры из этого модуля становятся доступны в глобальном контексте (их можно вызвать в любом месте конфигурации, обращаясь без названия общего модуля). При этом названия процедур и функций должны быть уникальны в рамках глобального контекста.

Если флаг не установлен, то экспортируемые методы общего модуля не являются частью глобального контекста и могут иметь одинаковые имена в разных неглобальных общих модулях.

36 of 72

Общие модули. Свойства

"Клиент (управляемое приложение)" — если флаг установлен, методы общего модуля будут доступны для тонкого клиента, веб-клиента, а также для толстого клиента в режиме управляемого приложения.

В контексте неглобального общего модуля с установленным свойством "Клиент (управляемое приложение)" доступны экспортируемые переменные, процедуры и функции модуля управляемого приложения.

"Сервер" — если флаг установлен, процедуры и функции данного общего модуля могут быть выполнены на сервере (в клиент-серверном варианте).

"Внешнее соединение" — если флаг установлен, программные коды данного общего модуля могут быть выполнены при подключении внешним источником (например, COM).

В контексте неглобального общего модуля с установленным свойством "Внешнее соединение" доступны экспортируемые переменные, процедуры и функции модуля внешнего соединения.

37 of 72

Общие модули

"Вызов сервера" — флаг, разрешающий вызов сервера, процедуры и функции доступны на клиенте (само свойство доступно, если установлен флаг компиляции "Сервер", все остальные флаги компиляции стоит снять во избежание различных проблем). Если флаг "Вызов сервера" не установлен, то процедуры и функции модуля доступны только на сервере.

"Привилегированный" — если флаг установлен, то устанавливаются полные права доступа при выполнении действий с базой данных в процедурах и функциях общего модуля. При установленном свойстве выполнение производится только на сервере.

"Повторное использование" — свойство определяет настройки возвращаемых значений и доступно, если общий модуль не является глобальным. Если опция включена, то в ходе выполнения кода система запоминает параметры и результат работы функций после первого вызова функции. При повторном вызове функции с такими же параметрами, происходит возврат запомненного значения (из первого вызова) без выполнения самой функции.

Опция может принимать следующие значения:

  1. Не использовать — отключение;
  2. На время вызова — на время выполнения определенной процедуры;
  3. На время сеанса — пока пользователь не закрыл сеанс (программу).

38 of 72

Общие модули

Рекомендации по выставлению флагов общего модуля 1С:

  • не используйте флаг «Глобальный» повсеместно - это сократит время запуска приложения, а также улучшит читаемость кода (при осмысленном названии модулей);
  • не желательно использовать больше одного флага компиляции, при необходимости выполнять методы в разных контекстах выносите их в отдельный общий модуль;
  • флаг «Вызов сервера» имеет смысл, только если модуль компилируется «На сервере» (все остальные флаги компиляции стоит снять во избежание различных проблем);
  • если в методах модуля происходит массовая обработка данных, чтение и запись в базу данных, то для увеличения скорости работы лучше отключить контроль прав доступа, выставив флаг «Привилегированный» (этот режим доступен только для общих модулей, компилируемых на сервере).

39 of 72

Модуль формы

Модуль формы 1C предназначен для обработки:

  1. событий, связанных непосредственно с самой формой (например, открытие или закрытие), а также
  2. событий, связанных с действиями пользователя (например, вводом данных и обработкой корректности их ввода).

Модуль формы компилируется:

  • обычной - на клиенте;
  • управляемой - четко разграничен по контексту выполнения, поэтому все переменные и методы должны иметь директиву компиляции (если директива в явном виде не указана, тогда эта переменная или метод будут скомпилированы на стороне сервера).

В модуле формы доступны разделы описания переменных и методов, а также раздел основной программы.

40 of 72

Модуль формы

События, процедуры и функции модуля управляемой формы 1С

К стандартным событиям формы можно обратиться:

  • через список процедур и функций (Ctrl+Alt+P) либо
  • в палитре свойств самой формы.

41 of 72

Модуль формы

Особенности управляемых форм:

  1. модуль управляемой формы четко разделяется на контекст: каждая процедура (функция) должна иметь директиву компиляции;
  2. в модуле управляемой формы можно объявлять процедуры и функции, объявлять переменные и описывать раздел основной программы;
  3. в управляемой форме можно обработать событие записи элемента (присутствует только для форм объектов - справочников, документов и некоторых других).

42 of 72

Модуль объекта

Модуль объекта 1С предназначен, для обработки событий объектов (например, события записи и удаления объектов, событие проведения документов и т.д.).

Некоторые события модуля объекта дублируют события модуля формы (например, события связанные с записью). Однако следует понимать:

  • события модуля формы будут выполняться исключительно в конкретной форме объекта (а этих форм может быть несколько);
  • события модуля объекта будут вызываться в любом случае (например, событие записи в модуле объекта будет выполняться при любой записи из любой формы данного объекта), а также в момент программной работы с объектом; поэтому, если необходимо выполнение некоторого кода во всех случаях, то лучше использовать для этого события модуля объекта.

43 of 72

Модуль объекта

Особенности модуля объекта:

  1. компилируется исключительно на сервере;
  2. в нем можно определять экспортные переменные и методы, которые будут доступны в других модулях конфигурации.
  3. отличие модуля объекта от модуля менеджера - по ссылке.

Модуль объекта можно вызывать:

  • через контекстное меню;
  • из Палитры свойств объекта;
  • из окна редактирования объекта.

44 of 72

Модуль менеджера объектов

Модуль менеджера предназначен:

  1. для переопределения стандартного события выбора, которое возникает в момент ввода по строке;
  2. для расширение функционала менеджера.

Отличие модуля менеджера от модуля объекта:

  • Модуль объекта содержит реализацию методов и обработчиков событий, относящихся к конкретному экземпляру объекта (например Печать(), ПриЗаписи() - иные функции и процедуры, которые обрабатывают данные конкретного документа).
  • Модуль менеджера объекта содержит методы, которые должны будут расширять/переопределять методы, относящиеся ко всему набору экземпляров объекта (например, Выбрать(), ПоказатьСписок()...)

Особенности модуля менеджера:

  1. компилируется на стороне сервера;
  2. в нем возможно определение экспортных свойств и методов;
  3. вызов экспортных методов менеджера не требует создания самого объекта.

45 of 72

Модуль менеджера объектов

46 of 72

Обработчик событий команд. Пример

Сделаем вывод текущей даты при нажатии на кнопку

Как обработать нажатие пользователем на кнопку?

Пользователь нажимает на кнопку - кнопка вызывает выполнение команды - команда вызывает выполнение своего обработчика событий

47 of 72

Обработчик событий команд. + Формат()

Происходит вывод даты и времени, а нужно только время

48 of 72

Функция Формат(). Промежуточный результат

Происходит вывод даты и времени, а нужно только время

49 of 72

Функция Формат().

50 of 72

Функция Формат(). Результат

51 of 72

Обработчики событий формы. Пример

Общие формы 1С — формы 1С, не принадлежащие конкретным объектам конфигурации и используемые различными объектами для решения схожих задач.

Обычно общие формы используются для форм настроек программы и других сервисных функций, например:

  1. прикрепление файла к документу;
  2. установка ЭЦП;
  3. установка прав доступа;
  4. печать документов и т.д.

52 of 72

Обработчики событий формы. Пример

Добавим поле “НазваниеТовара”. Перетащить на форму не можем, т.к. нет связанного с полем реквизита.

Добавим реквизит

53 of 72

Обработчики событий формы. Пример

54 of 72

Обработчики событий формы. Пример

55 of 72

Обработчики событий формы. Пример

Результат:

56 of 72

Обработчики событий. Задачи

57 of 72

Обработчики событий. Задачи

Переключение представления свойств:

58 of 72

Обработчики событий. Задачи

Результат:

59 of 72

Объектная модель работы с данными

60 of 72

Объекты - свойства глобального контекста

Все объекты конфигурации являются свойствами глобального контекста.

Это основая структура объектной модели

Еще раз рассмотрим этот слайд…

61 of 72

Уровни объектной модели

Объектная модель разделяется на несколько уровней

1-й уровень - уровень “Менеджер” управляет всеми объектами (справочник, документ, обработка и т.д)

2-й уровень - это конкретный менеджер. Через точку указывается имя объекта, которым управляет данный уровень. Например, СправочникМенеджер.Товар, ДокументМенеджер.ПоступлениеТоваров

3-й уровень - конкретные объекты конкретного справочника или документа, Например, элементы справочника

4-й уровень - ссылочный уровень, который ссылается на конкретный объект

62 of 72

Уровни объектной модели

Объектная модель разделяется на несколько уровней

1-й уровень - уровень “Менеджер” управляет всеми объектами (справочник, документ, обработка и т.д)

2-й уровень - это конкретный менеджер. Через точку указывается имя объекта, которым управляет данный уровень. Например, СправочникМенеджер.Товар, ДокументМенеджер.ПоступлениеТоваров

3-й уровень - конкретные объекты конкретного справочника или документа, Например, элементы справочника

4-й уровень - ссылочный уровень, который ссылается на конкретный объект

63 of 72

Уровни объектной модели. 1-й уровень

Рассмотрим какие есть методы на каждом уровне объектов, на примере справочника.

64 of 72

Уровни объектной модели. 2-й уровень

Визуально уровень справочника можно представить как окно с формой списка.

65 of 72

Уровни объектной модели. 3-й уровень

Когда мы добавляем новый реквизит справочника, мы добавляем новое свойство на этот уровень объекта

Предназначен для чтения, изменения, добавления и удаления элементов справочника.

Важно! У всех событий этого объекта назначены предопределенные процедуры-обработчики. Имена процедур соответствует именам событий. Процедуры должны располагаться в модуле справочника.

Визуально уровень элемента справочника можно представить как окно с формой элемента справочника

66 of 72

Уровни объектной модели. 4-й уровень

Используется для указания ссылки на элемент справочника в реквизитах других объектов и переменных встроенного языка. Данный объект не содержит средств для чтения, изменения, добавления и удаления элемента справочника, однако позволяет обращаться к его реквизитам и другой информации об элементе. При обращении к свойствам объекта будет выполняться считывание всех данных элемента справочника из базы данных

67 of 72

Программное создание элемента

Создадим новый элемент программно.

  1. Создадим общую команду.

2. Создадим серверную процедуру

Результат

68 of 72

Программное создание элемента

Сейчас у нас создание элемента справочника произошло в модуле команды. Это некорректно

Вся работа с элементами справочника должна быть разработана в отдельном модуле.�Для работы с СправочникМенеджер (2-й уровень на котором происходит создание элемента) используется модуль менеджера.

А работы с конкретным объектом (3-й уровень) должна вестись в модуле объекта

В модуле менеджера не надо обращаться к уровню Справочники. Пишем сразу метод СоздатьЭлемент()

69 of 72

Программное поиск элемента

Реализуем программный поиск товара

70 of 72

Программное поиск элемента

Реализуем программный поиск товара

НайтиПоРеквизиту - поиск по индексируемому реквизиту

71 of 72

Синтаксическая проверка кода

72 of 72

Задавайте вопросы.

Антонов Виталий Михайлович,

руководитель направления 1С-проектов

ИА ИНТЕРВОЛГА

вертикальная оцифровка бизнеса