18.07.2025 Дмитрий Сарычев 1194
Базовые понятия 1С. Использование методов Рек...

Содержание:

1. Формы в корпоративной системе 1С

2. Реквизиты и элементы в учетной программе 1С

3. НаКлиенте и НаСервере

   

Методы РеквизитФормыВЗначение и ЗначениеВРеквизитФормы появляются только на управляемых формах и их назначение является не совсем понятным. В документации оно (назначение) определяется как «преобразует реквизит управляемой формы в значение прикладного типа» и обратно, «преобразует объект прикладного типа в реквизит управляемой формы».

Зачем нужны эти преобразования?   


1. Формы в корпоративной системе 1С

 

Что же из себя представляет форма?

Самый простой ответ будет – это окно, в котором пользователь вводит свои данные и получает ответы. Формы бывают простые и управляемые.


Название «управляемые формы» тоже является малоинформативным и даже обманчивым и часто вводит пользователей в заблуждение.


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


Возможно, хотели показать, что управляемая форма – это как вэб-страница в Интернете, которая «управляется» с сервера.


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



«Форма — это программный объект, который создается на сервере согласно настройкам, сделанными в конфигураторе (если формы нет в конфигураторе, то она генерируется автоматически платформой).»



В этом можно убедиться, просто посмотрев список возможных с формой действий, или, говоря иначе, обработчиков у формы. Самый первый и самый основной так и называется «При создании на сервере».



А как же тогда пользователь может вводить свои данные?

Кстати, к вводимым данным относятся и просто нажатия на определенные кнопки.
Ведь очевидно, что пользователь может взаимодействовать только со своим собственным, клиентским, компьютером.



Управляемая форма в 1С 8.3 на клиенте представляет собой лишь изображение интерфейса взаимодействия пользователя с программой. (именно поэтому возможна работа с ней в режиме тонкого клиента, тогда как с простыми формами – только в толстом клиенте).



 
Список основных обработчиков управляемой формы   

  

Таким образом, форма как бы одновременно существует и на сервере и немного на клиенте, и, как следствие, у формы есть и серверный и клиентский контекст выполнения кода. Но при этом «настоящая», «подлинная» форма существует на сервере, а на клиенте – только её копия, изображение, которое служит только для взаимодействия пользователя с программой.


2. Реквизиты и элементы в учетной программе 1С



А еще у Формы есть реквизиты и элементы.

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



Википедия поясняет (в общем смысле): 

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



Из вышенаписанного уже можно догадаться, что же на форме является подлинным, а что искусственным.


На представленных снимках экрана слева написано – «элементы», а справа – «реквизиты» (и внизу – графическое представление формы).

 

При этом легким движением мышки можно перенести реквизиты справа налево, и вот уже реквизит становится элементом. Или не становится?

 

Как видно, можно создать 3 элемента формы, которые будут очень похожи, отличаясь только свойством «ПутьКДанным». Оно и отвечает за взаимосвязь элементов и реквизитов.

 

При этом элемент может быть не связан с реквизитом вообще, может быть связан с реквизитом формы, а может быть связан с реквизитом основного реквизита.

 


Элемент формы (Банк) не связан с реквизитом. Но тоже может использоваться


Элемент формы связан с простым реквизитом формы

 


Элемент формы связан с внутренним реквизитом Основного реквизита (Отчет).

 

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


Он проявляется на форме только через свои внутренние реквизиты, которые при этом, автоматически тоже становятся реквизитами формы (неосновными).

 

Очевидно, что сумма реквизитов объекта вовсе не заменяют весь объект в целом.

 

Эти внутренние реквизиты отличаются от других, тоже неосновных реквизитов тем, что обращение к ним возможно только через Объект.


Сравните реквизиты Отчет.Банк и просто Банк.



Реквизиты Отчет.Банк и Банк

 

То есть действительно, реквизиты, особенно внутренние реквизиты Прикладного Объекта - основного Реквизита, являются «подлинными», записанными в Базу Данных, а элементы – лишь их отражение, с которым можно взаимодействовать на Форме, у клиента.


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


Как это происходит?   

 

3. НаКлиенте и НаСервере



В управляемых формах происходит четкое разделение действий, которые происходят на НаСервере и НаКлиенте. То есть все процедуры (или модули в целом) имеют специальные директивы для компилятора, определяющую среду исполнения процедур.


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


Для этих целей есть уточнения директив (безКонтекста), которые еще более обрезают данные, но в данной статье эти уточнения не рассматриваем.


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

   

Отсюда возникает необходимость метода «ЗначениеВРеквизитФормы()».


Как вы уже поняли, «значение» – это Прикладной объект в целом, то есть не каждый отдельный реквизит, и даже не все реквизиты в целом, а именно цельное его представление, которое является полной копией Объекта, и содержит все взаимосвязи и свойства.


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


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


Для обратной записи нужен метод «РеквизитФормыВЗначение», то есть с «экрана в прикладной объект сервера».


Последовательность взаимодействия сервера и клиента примерно такая:

на сервере создается форма, связанная с прикладным объектом.

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

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

Свойства Формы передаются с сервера клиенту и рисуются на клиентском мониторе.
Элементы формы выводятся на экран в полях ввода.

Оператор заполняет/меняет на клиенте поля ввода, связанные с элементом.


А далее неявно, а иногда и явно, с помощью метода Записать(), данные поступают на сервер и заносятся в базу данных.



Итак, назначение методов ЗначениеВРеквизитФормы() и РеквизитФормыВЗначение – в получении с Пользовательского компьютера полного доступа к Объекту, расположенному на сервере, а не только к его реквизитам в интерфейсе конкретной формы.


Специалист компании ООО "Кодерлайн"

Дмитрий Сарычев

Наши проекты

СТС-Медиа
СТС-Медиа

Отрасль:
Медиаиндустрия

Внедренное типовое решение:
1С:Управление холдингом

- Бухгалтерский учет;
- Налоговый учет;
- МСФО (GAAP/управленческий учет);
- ...

Автоматизации бизнес-процессов учета и планирования на базе «1С:ERP Управление предприятием 2.0»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Создание полноценной управленческой системы взамен существующих
- Внедр...

ООО «ЛИГА-ТРАНС»
ООО «ЛИГА-ТРАНС»

Отрасль:
Профессиональные услуги, бытовое обслуживание

Внедренное типовое решение:
«1С:ERP Управление предприятием 2.1».

- Сделано ТЗ по автоматизации учета МСФО: - Разработана карта бюджета доходо...

ООО "ТК "Сытый Дом-НН"
ООО "ТК "Сытый Дом-НН"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Управление торговлей 8

Взаиморасчеты с покупателями
Оптовая торговля
Управление складскими за...

ООО «ПЛЮСПЭЙ»
ООО «ПЛЮСПЭЙ»

Отрасль:
Организацией расчетов посредством электронных средств платежа

Внедренное типовое решение:
1С:Комплексная автоматизация

- Разработка подсистемы оперативного учета транзакций...

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

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

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский уче...

ООО «ТейблТок»
ООО «ТейблТок»

Отрасль:
Общественное питание и рестораны

Внедренное типовое решение:
1С:ТОИР Управление ремонтами и обслуживанием оборудования

Мониторинг и анализ ключевых показателей деятельности предприятия Управле...

Автоматизация контроля исполнительской дисциплины на базе ПП «1С:Документооборот 8 ПРОФ»
ООО «ФСК Лидер»

Отрасль:
Строительство и девелопмент

Внедренное типовое решение:
1С:Документооборот 8 ПРОФ

- Делопроизводство;
- Учет и хранение документов;
- Учет и контроль исполне...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Расчет зарплаты
Подбор кадров
Кадровый учет
Анализ кадрового состава...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в ООО «Шокостайл»
ООО «Шокостайл»

Отрасль:
Производство

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Управление продажами, логистикой и транспортом (SFM, WMS, TMS):
- Планирование п...

ЗАО «Ламбумиз»
ЗАО «Ламбумиз»

Отрасль:
Производство картонной упаковки

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

- Маркетинг;
- Продажи;
- Планирование закупок;
- Закупки;
- Регламенти...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение