Общие модули. Общие модули Данные проекта можно ввести в систему несколькими способами

Модуль предназначен для интеграции с решениями, содержащими конфигурацию "ERP Управление предприятием 2". Незаменим для проектно-ориентированных предприятий и организаций!

Функциональные возможности системы:
  • Управление проектами
  • Планирование содержания и сроков проекта
  • Планирование объемов и поставок проекта
  • Планирование субподрядов и материальных затрат проекта
  • Планирование персонала и трудозатрат проекта
  • Управление загрузкой и рабочим временем по проектам
  • Регистрация фактических данных и событий проекта
  • Управление финансами проектов
  • Диспетчирование проектных работ
  • Версионирование проекта
  • План-фактный анализ проекта
  • Управление коммуникациями проекта
  • Управление знаниями
  • Оценка проекта и расчет цены контракта
  • Управление проектными договорами
  • Управление документами проекта
  • Управление рисками проекта
  • Управление портфелями и программами проектов
  • Управление ресурсами проектной организации

Данные проекта можно ввести в систему несколькими способами:

  1. вручную через панель управления проектом;
  2. загрузить/выгрузить данные из/в MS Project;
  3. загрузить данные из шаблона, хранящегося в системе;
  4. комбинированным способом: часть вручную, часть из MS Project.

Вы можете планировать работы разными способами:

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

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

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

Возможности решения:
  • ведение расчетов с арендаторами на основании выставленных счетов (планируемая задолженность), контроль оплаты счетов с аналитикой по объектам, услугам и периодам;
  • раздельное назначение и контроль сроков оплаты для постоянной и переменной части арендной платы;
  • возможность расчета пеней за задержку оплаты на основании как фактической (по актам), так и планируемой (по счетам) задолженности;
  • использование произвольных формул для расчета стоимости услуг переменной части (например, начисление процента с торгового оборота арендатора по различным алгоритмам);
  • использование нескольких счетчиков объемов потребления для одной услуги переменной части;
  • возможность назначения как индивидуальных, так и единых тарифов на услуги переменной части;
  • управление осмотрами объектов недвижимости;
  • возможность совместного использования с готовящимися к выпуску решениями "ERP Управление строительной организацией 2.0" и "Модуль 1С:Риэлтор. Управление продажами недвижимости для 1С:ERP" в рамках единой конфигурации.
Возможности решения «Модуль 1C:Управление автотранспортом для 1С:ERP»:
  • Учет заказов на автотранспорт;
  • Выписка и обработка путевых листов;
  • Расчет нормативного и фактического расхода топлива. Все алгоритмы расчета нормативного расхода топлива реализованы в соответствии с распоряжением министерства транспорта от 14 июля2015 г. N НА-80-р. Решение позволяет вести учета расхода топлива для автомобилей с неограниченным количеством оборудования и прицепов.
  • Учет поступления, расхода и списания ГСМ;
  • Учет номерных шин и аккумуляторов;
  • Интеграция с системами спутникового мониторинга.
  • Расчет выработки в путевых листах по различным параметрам. Основные параметры (пробег, вес груза, грузооборот, время в наряде, простой и т.д.) предопределены в системе. Используя справочники можно настраивать любые произвольные параметры выработки и в дальнейшем анализировать эту информацию;

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

Согласно теории объектно-ориентированного программирования, методы объектов делятся на две группы: статические и простые. Простые методы имеют доступ только к конкретному экземпляру класса. Статические методы не имеют доступа к данным объектов, а работают с классом в целом.

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

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

Функция НоваяФункция () Экспорт

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



Пер= Объект. НоваяФункция() ;

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

Перем НоваяПеременная Экспорт

ЭлементСправочника= Справочники. Номенклатура. НайтиПоКоду("000000001" ) ;
Объект= ЭлементСправочника. ПолучитьОбъект() ;
Объект. НоваяПеременная= ) ;

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

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

Процедура НоваяПроцедура () Экспорт

ЭлементСправочника= Справочники. Номенклатура. НоваяПроцедура() ;

Или для переменной:

Перем НоваяПеременная Экспорт

ЭлементСправочника= Справочники. Номенклатура. НоваяПеременная;

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

При использовании модуля объекта код будет выглядеть следующим образом:

Функция ПечатьДокумента (Ссылка) Экспорт
//В эту функцию необходимо передать ссылку на конкретный документ
Возврат ТабДок;
КонецФункции

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

&НаКлиенте
Процедура Печать(Команда)
ТабДок = ПечатьНаСервере() ;
ТабДок. Показать() ;
КонецПроцедуры
&НаСервере
Функция ПечатьНаСервере()
Док = РеквизитФормыВЗначение("Объект" ) ;
Возврат Док. ПечатьДокумента(Объект. Ссылка) ;
КонецФункции

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

С точки зрения производительности гораздо лучше использовать модуль менеджера, когда это возможно. В нашем примере решение задачи будет выглядеть следующим образом.
Функция ПечатьНаСервере()
Возврат Документы. НашДокумент. ПечатьДокумента(МассивСсылок) ;
КонецФункции

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

Так когда же использовать модуль объекта, а когда модуль менеджера?

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

Любая программа состоит из программного кода, то есть собственно из написанных на каком-либо языке последовательности действий, которые должны быть выполнены.

Однако эта самая программа должна быть где-то написана, то есть где-то находиться. В большинстве случаев код программы пишется в обычных текстовых файлов. Разница только в том, что расширение в них не.txt, а.cpp или.php.

Где пишется программа 1С?

Что такое Модуль 1С?

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

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

Каждый объект 1С, включая некоторые вложенные, имеет свой Модуль – некий текстовый файл, который содержит программный код.

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

Таким образом в 1С нет «единой» программы. Есть набор модулей для написания программного кода для каждого объекта конфигурации 1С.

Как используются Модули 1С?

Всю программу можно грубо поделить на два вида:

  • Метод объекта
  • Реакция на события.

Методы . Как мы уже говорили ранее – объект 1С является цельной структурой, которая включает в себя как данные, так и способы их обработки. Эти способы – это набор действий (методов), которые можно вызывать для обработки данных. Пример такого действия СправочникОбъект.Записать() – записывает элемент справочника в базу данных.

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

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

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

Системные события – мы записали объект 1С в базу данных. Возникло системное событие «Запись объекта». Возможно настроить реакцию, которая возникнет на события, вызванные не пользователем (которые нажал на кнопку или что-то еще сделал), а самой системой. Яркий пример такого события – при запуске программы.

Порядок выполнения модулей 1С

Во многих языках есть такое понятие как «точка входа». Это та самая первая строчка или функция которая будет выполнена при запуске программы.

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

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

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

Работа с модулями 1С

Производится в конфигураторе. Открыть модуль можно с помощью окна Конфигурация.

Структуру программного модуля можно подразделить на следующие разделы:

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

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

Раздел определения переменных размещается от начала текста модуля до первого оператора Процедура или оператора Функция или любого исполняемого оператора. В этом разделе могут находиться только операторы объявления переменных Перем.

Раздел процедур и функций размещается от первого оператора Процедура или оператора Функция до любого исполняемого оператора вне тела описания процедур или функций.

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

Специальные символы, используемые в исходном тексте

// Двумя знаками "косая черта" начинается комментарий. Комментарием считается весь текст от знака "//" до конца текущей строки.
| Вертикальная черта в начале строки используется только в строковых константах и означает, что данная строка является продолжением предыдущей (перенос строки), (см. "Строковые константы").
~ Знаком тильда начинается метка оператора.
: Двоеточием заканчивается метка оператора.
; Точка с запятой является символом разделения операторов.
() В круглые скобки заключается список параметров методов, процедур и функций.
В квадратные скобки заключается размерность массивов.
, Запятая разделяет параметры в списке параметров методов, процедур и функций.
" " В двойные кавычки заключаются строковые константы.
" " В одинарные кавычки заключаются константы даты.
. Десятичная точка в числовых константах. Разделитель, используемый в описаниях агрегатных типов данных.
+ Символ "плюс" обозначает операцию сложения.
Символ "минус" обозначает операцию вычитания.
* Символ "звездочка" обозначает операцию умножения.
/ Символ "косая черта" обозначает операцию деления.
> Правая угловая скобка обозначает логическую операцию "больше".
>= Логическая операция "больше или равно".
< Левая угловая скобка обозначает логическую операцию "меньше".
<= Логическая операция "меньше или равно".
= Знак равенства обозначает присвоение или логическую операцию "равно".
<> Две угловые скобки обозначают логическую операцию "не равно".

Общие модули 1С — объект метаданных конфигурации 1С 8.3 и 8.2, который хранит в себе программный код, который часто вызывается в конфигурации. Функцию/процедуру можно вызвать из любого места конфигурации (если она экспортная).

Как использовать общий модуль

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

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

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

Одно из основных особенностей общих модулей от других модулей — нельзя объявлять общие переменные.

Получите 267 видеоуроков по 1С бесплатно:

Рассмотрим подробнее палитру свойств общего модуля:

  • Глобальный — если флаг установлен, функции и процедуры из этого модуля становятся доступны в глобальном контексте. Т.е. их можно вызвать в любом месте конфигурации, обращаясь без названия общего модуля. Однако добавляется условие — название процедур и функций в этом общем модуле должны быть уникальны в рамках глобального контекста.
  • Сервер — процедуры и функции данного общего модуля могут быть выполнены на сервере.
  • Внешнее соединение — программные коды данного общего модуля могут быть выполнены при подключении внешним источником (например, COM).
  • Клиент (управляемое приложение) — процедуры и функции данного общего модуля могут быть использованы в толстом клиенте в режиме управляемого приложения.
  • Клиент (обычное приложение) — программные коды данного общего модуля могут быть использованы в толстом клиенте в режиме обычного приложения.
  • Вызов сервера — флаг, разрешающий на клиенте использовать процедуры и функции из этого общего модуля.
  • — если установлена Истина, в этом общем модуле будет отключена проверка прав доступа.
  • Повторное использование — определяет настройки возвращаемых значений, если опция включена, то после первого выполнения система запомнит значение для данных входных параметров и будет возвращать уже готовое значение. Может принимать следующие значения: не используется — отключение, на время вызова — на время выполнения определенной процедуры, на время сеанса — пока пользователь не закрыл сеанс (программу).

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте