Интернет Windows Android

Структура программного модуля в 1c состоит из. Общие модули

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

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

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

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

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

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

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

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

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

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

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

В каждом документе написан один и тот же код для расчёта суммы.

Процедура МатериалыЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры

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

Создаём общий модуль для расчета суммы

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

Так же обязательно поставьте в окне свойств галочки напротив Клиент(Управляемое приложение) и Сервер.

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

Эта процедура работает при изменение Количества в табличной части документа Приход товара и подсчитывает сумму.

&НаКлиенте



КонецПроцедуры

А это процедура начинает работать при изменении Цены в табличной части документа Приход товара и рассчитывает сумму.

&НаКлиенте

СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
СтрокаТабличнойЧасти.Сумма = СтрокаТабличнойЧасти.Количество * СтрокаТабличнойЧасти.Цена;
КонецПроцедуры

Заменяем его на этот

&НаКлиенте
Процедура МатериалыКоличествоПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;

КонецПроцедуры
&НаКлиенте
Процедура МатериалыЦенаПриИзменении(Элемент)
СтрокаТабличнойЧасти = Элементы.Материалы.ТекущиеДанные;
РаботаСДокументами.РассчитатьСумму(СтрокаТабличнойЧасти);
КонецПроцедуры

Как вы заметили меняется только одна строчка на первый взгляд может показаться что одну строчку заменили на другую. Но не забывайте, что это пример. На самом деле количество кода может быть намного больше если вы, например, производили расчёты по сложной формуле в этом случае код заметно сократиться.

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

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

Однако эта самая программа должна быть где-то написана, то есть где-то находиться. В большинстве случаев код программы пишется в обычных текстовых файлов. Разница только в том, что расширение в них не.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С:Предприятие 8.3, 8.2

Общие модули

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

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

Выполнение общих модулей зависит от выставленных параметров в их свойствах:

Флаг "Глобальный"

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

Флаг "Сервер"

Функции такого модуля могут выполняться на сервере.

Флаг "Клиент (обычное приложение)"

Функции такого модуля могут выполняться на клиенте в режиме обычного приложения.

Флаг "Клиент (управляемое приложение)"

Функции такого модуля могут выполняться на клиенте в режиме управляемого приложения.

Флаг "Вызов сервера"

Флаг доступен для модулей с установленным флагом "Сервер". Разрешает вызов на клиенте экспортных функций этого модуля (которые будут выполняться на сервере).

Флаг "Внешнее соединение"

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

Флаг "Привилегированный"

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

Параметр "Повторное использование"

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

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

Предназначен для обработки событий запуска и завершения приложения. Бывает двух видов: для обычного и управляемого приложений.

Не следует его перегружать, так как это влияет на время запуска приложения.

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

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

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

С уважением, (преподаватель и разработчик ).