Конференция

Фильтр
Пометить все
Отобразить только
 
 

КНИГИ БУКЛЕТЫ:
Книга «Разработка интерфейса прикладных решений на платформе «1С:Предприятие 8»»
Книга «1С:Программирование для начинающих. Детям и родителям, менеджерам и руководителям. Разработка в системе "1С:Предприятие 8.3"»
Книга «Облачные технологии «1С:Предприятия»»
Комплексная автоматизация организаций дополнительного образования
Книга «Настольная книга 1С:Эксперта по технологическим вопросам. 2 издание (артикул 4601546118530)»
Книга «Книга "101 совет начинающим разработчикам в системе "1С:Предприятие 8" (артикул 4601546117618)»
Книга «1С:Предприятие 8.3. Версия для обучения программированию (артикул 4601546109996)»
Книга «Hello, 1C. Пример быстрой разработки приложений на платформе "1С:Предприятие 8.3". Мастер-класс (+CD). Версия 3 (артикул 4601546109774)»
Книга «1C:Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы (артикул 4601546108722)»
Книга «Язык запросов "1С:Предприятия 8" (+диск) (артикул 4601546108029)»
Книга «Профессиональная разработка в системе 1С:Предприятие 8" (+DVD-ROM). Издание 2 (артикул 4601546101853)»
Книга «Разработка сложных отчетов в "1С:Предприятии 8.2". Система компоновки данных". Издание 2 (+ CD) (артикул 4601546097569)»
Книга «Решение специальных прикладных задач в "1С:Предприятии 8.2". Серия "1С:Профессиональная разработка" (артикул 4601546092694)»
Книга «Архитектура и работа с данными "1С:Предприятия 8.2". Серия "1С:Профессиональная разработка" (артикул 4601546090690)»
Книга «Инструменты для создания тиражируемых приложений "1С:Предприятия 8.2". Серия "1С:Профессиональная разработка" (артикул 4601546090706)»
Книга «Реализация прикладных задач в системе "1С:Предприятие 8.2" (+CD). Серия "1С:Профессиональная разработка" (артикул 4601546080479)»
Книга «Технологии интеграции 1С:Предприятия (+CD). Серия "1С:Профессиональная разработка" (артикул 4601546087195)»
Книга «Разработка управляемого интерфейса (+CD). Серия "1С:Профессиональная разработка" (артикул 4601546069634)»
Книга «Как настраивать 1С:Предприятие 8.2 при внедрении (+CD) (артикул 4601546069641)»
Книга «1С:Предприятие 8.2. Версия для обучения программированию (артикул 4601546070821)»
Книга «1С:Предприятие 8.2. Практическое пособие разработчика. Примеры и типовые приемы (артикул 4601546069627). Электронная версия»
Книга «1С:Предприятие 8.2. Коротко о главном. Новые возможности версии 8.2 (артикул 4601546069610)»
Книга «Hello, 1C. Пример быстрой разработки приложений на платформе 1С:Предприятие 8.2. Мастер-класс (+CD). Версия 2 (артикул 4601546071576)»
Книга «1С:Предприятие 8.1. Простые примеры разработки (артикул 4601546047045)»
Книга «Разработка сложных отчетов в 1С:Предприятии 8. Система компоновки данных (+CD) (артикул 4601546053091)»
Книга «1C:Enterprise 8.0. A Practical Developer's Guide. Examples and Standard Techniques (с приложением на CD-ROM) (артикул 4601546027368)»
Книга «Комплект вопросов сертификационного экзамена на знание основных механизмов платформы "1С:Предприятие 8" с примерами решений (февраль 2014) (артикул 4601546110077)»
Платформа «1С:Предприятие» как средство разработки бизнес-приложений [С.Нуралиев / "PC Magazine/RE", №11, 2006]



© ЗАО "1С"

 Платформа 8.2  Инструкции препроцессора и директивы компиляции

«« Практ. пособие: Неправильный формат... Практ. пособие: Занятие 4. Программа... »»
Сортировка: Более поздние сообщения отображаются ниже  /  выше
Инструкции препроцессора и директивы компиляции
29.09.2018 22:25
Вадим
655374

Здравствуйте!

Хочется до конца разобраться с инструкциями препроцессора и директивами компиляции.

На сайте ИТС: https://its.1c.ru/db/v8313doc#bookmark:dev:TI000000162 - довольно подробно написано про инструкции препроцессора и директивы компиляции, но у меня остались несколько вопросов.

 

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

На ИТС подробно рассмотрен вопрос с управляемой формой - там сказано, что формируется четыре экземпляра формы (подробнее, см. в статье на ИТС) и я разобрался и все понял.

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

 

Если в таком модуле не будет процедур и функций с директивой "НаКлиенте" будет ли вообще создан экземпляр этого модуля в контексте клиента? (просто полностью пустой)

 

Если я добавлю влаг "Внешнее соединение" будет создан третий экземплят этого модуля в контексте внешнего соединения? Для внешнего соединения так же определены процедуры и функции "НаКлиенте" и "НаСервере"? Если да, то означает ли это, что для внешнего соединения будет создан не один, а два экземпляра этого модуля - для клиента во внешнем соединении и для сервера во внешнем соединении? Или как вообще в этом случае будет скомпилирован общий модуль? (с указанными тремя флагами)

 

В модуле команды могут располагаться процедуры и функции с директивой "НаСервере", но предопределенная процедура "ОбработкаКоманды" всегда имеет директиву "НаКлиенте" - правильно ли я понимаю, что в этом случае будет скомпилировано так же, два экземпляра модуля? И если в модуле не будет процедур и функций "НаСервере" - то, как и в предыдущем вопросе, будет ли скомпилирован экземпляр в контексте сервера? (просто пустой)

 

Модуль объекта и модуль менеджера компилируются только в контексте сервера? Экземпляр модуля объекта (менеджера) для внешнего соединения компилируется отдельно?

 

Зачем в типовых решениях в самом начале и в самом конце модуля объекта пишутся инструкции препроцессора "#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда" и "#КонецЕсли" соответственно? (если в контексте клиента этого модуля не существует)

Если я не включу в условие инструкции препроцессора "ВнешнееСоединение" экземпляр модуля объекта при внешнем соединении не будет создан вообще?

Но, если я не напишу инструкцию препроцессора "#Если Сервер Тогда" то модуль объекта так же скомпилируется и будет работать, соответственно вопрос, зачем эти инструкции в модуле объекта вообще?

 

У меня есть мысль, что это как-то связано с файловым режимом работы, но все что я нашел на ИТС - это разницу между инструкцией "Сервер" и "НаСервере" ("Клиент" и "НаКлиенте"), но там сказано что это для модуля управляемой формы в файловом варианте в толстом клиенте, т.е. отношения к модулю объекта нет никакого...

 

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

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

 

Большое спасибо всем, кто сможет хоть как-то прояснить эту тему!

Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
01.10.2018 16:19
fisher
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
01.10.2018 20:40
Вадим
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
02.10.2018 14:49
fisher
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
03.10.2018 13:36
Вадим
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
03.10.2018 14:54
fisher
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
04.10.2018 21:27
Вадим
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
05.10.2018 15:06
fisher
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
09.10.2018 12:05
Вадим
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
09.10.2018 12:50
fisher
Re: Инструкции препроцессора и директивы компиляции
10.10.2018 16:35
Вадим
Свернуть ответы Re: Инструкции препроцессора и директивы компиляции
09.10.2018 12:37
Полетаев Александр
Re: Инструкции препроцессора и директивы компиляции
10.10.2018 16:36
Вадим
Re: Инструкции препроцессора и директивы компиляции
05.10.2018 09:59
fisher
Re: Инструкции препроцессора и директивы компиляции
02.10.2018 13:00
fisher

«« Практ. пособие: Неправильный формат... Практ. пособие: Занятие 4. Программа... »»