В платформе 1С:Предприятие 8.х реализовано два механизма обмена данными: универсальный механизм обмена данными и механизм распределенной информационной базы. Оба эти механизма базируются на одних тех же технологиях. Одной из этих технологий является служба регистрации изменений данных. Изменения данных могут регистрироваться в автоматическом режиме. Для этого необходимо при включении объекта метаданных в состав плана обмена разрешить автоматическую регистрацию: установить признак Авторегистрация в значение Разрешить.
Однако часто требуется регистрация не каждого изменения данных, или регистрация изменений смежных объектов, или зависящих от изменяемых данных. Это можно выполнить различными способами.
Регистрация изменений всех данных для указанного узла
Для регистрации изменений всех данных для конкретного узла плана обмена необходимо вызвать метод ЗарегистрироватьИзменения() менеджера планов обмена, передав ему в качестве параметра Данные значение Неопределено.
Пример. Регистрация изменения всех данных для узла Узел:
Регистрация изменений всех данных одного типа
Для регистрации изменений данных одного типа необходимо вызвать метод ЗарегистрироватьИзменения() менеджера планов обмена, передав ему в качестве параметра Данные объект описания метаданных, соответствующий данным.
Пример: регистрация изменения всех элементов справочника Номенклатура для узла Узел:
Регистрация изменений конкретных данных различных типов
Для регистрации конкретных данных различных типов необходимо вызвать метод ЗарегистрироватьИзменения() менеджера планов обмена, передав ему в качестве параметра Данные либо сами данные, либо ссылку на них.
Регистрация изменений данных объектных типов
К объектным типам относятся справочники, документы, планы счетов, планы видов характеристик, планы расчета, бизнес-процессы, задачи. Для их регистрации необходимо вызвать метод ЗарегистрироватьИзменения() менеджера планов обмена, передав ему в качестве параметра Данные либо сам объект, либо ссылку на него.
Регистрация изменений наборов записей
Регистрация изменений наборов записей зависит от типа регистра, которому принадлежит набор записей. В общем случае в наборе записей должен быть установлен отбор, определяющий содержимое набора записей с точки зрения логики конфигурации. Чтение данных набора необязательно.
Регистрация изменений наборов записей регистров, подчиненных регистратору
К таким регистрам относятся регистры накопления, регистры бухгалтерии, регистры расчета и регистры сведений со свойством РежимЗаписи, установленным в значение ПодчинениеРегистратору. Для регистрации изменений наборов записей указанных регистров необходимо вызвать метод ЗарегистрироватьИзменения() менеджера планов обмена, передав ему в качестве параметра Данные набор записей с установленным отбором, в котором в элемент отбора Регистратор установлено значение регистратора данного набора записей. При этом чтение данных набора записей перед его регистрацией не обязательно.
Регистрация изменений наборов записей независимых регистров
К таким регистрам относятся регистры сведений со свойством РежимЗаписи, установленным в значение Независимый. Для регистрации изменений наборов записей данного регистра необходимо вызвать метод ЗарегистрироватьИзменения() менеджера планов обмена, передав ему в качестве параметра Данные набор записей. Состав элементов отбора, при этом, должен строго соответствовать основному отбору регистра. Выбирать поля, входящие в основной отбор регистра необходимо в соответствии с логикой работы конфигурации (см. Подготовка конфигурации к работе в распределенной информационной базе).
Для регистрации данных регистра сведений, отбираемых по некоторому критерию, необходимо:
выбрать уникальные значения измерений регистра, входящих в основной отбор (если регистр сведений является периодическим и Период включен в основной отбор, то Период также должен участвовать в отборе)
выполнить регистрацию наборов записей с установленными значениями отбора, соответствующими каждой выбранной комбинации значений измерений (входящих в основной отбор).
Пример. Регистрация всех данных регистра сведений КомплектующиеНоменклатуры, имеющего измерения Номенклатура и ХарактеристикаНоменклатуры (входящие в основной отбор), а также измерения Комплектующая и ХарактеристикаКомплектующей (не входящие в основной отбор) и являющегося непериодическим:
Если вкратце, то:
Начисление и праздничных и сверхурочных производится на основани приказа. В программе 1С ЗУП 8 расчет осуществляется на закладке "Расчет ЗП" - первичные документы - Оплата работы в праздники или Оплата сверхурочных часов. Открываете документ, заполняете его (расчитываете) и после проведения - заполняете табель (Форма Т-13) все ваши часы и сверхурочные и праздничные будут видны.
подробнее:
Для начисления оплаты сверхурочных часов используется документ «Оплата сверхурочных часов», в котором для каждого работника можно указать дату сверхурочной работы, количество часов, отработанных сверхурочно, и то, по полуторной или по двойной тарифной ставке будут эти сверхурочные часы оплачиваться. В этом документе автоматически рассчитывается сумма за каждый день, в который работник работал сверхурочно.
После того, как все сверхурочные часы работника зарегистрированы документом «Оплата сверхурочных часов», можно создавать для этого работника документ «Табель учета рабочего времени». При автоматическом заполнении табеля в соответствующих колонках документа появятся «двойные» записи, например «Я8, С2», обозначающие восьмичасовую явку и два часа сверхурочной работы.
При выводе формы Т-13 на печать также в графе формы, соответствующей дню переработки, будет выведено значение «Я/С», а на следующей строке «8/2». Документом «Начисление зарплаты работникам организаций» оплата сверхурочных не начисляется.
Важно! При вводе вручную в документ «Табель учета рабочего времени» нескольких видов использования рабочего времени («Я8, С2»), начисления сумм оплаты и фиксации продолжительности сверхурочных часов не происходит. При печати из документа формы Т-13 происходит не «копирование» табличной части документа в соответствующую печатную форму, а заполнение формы Т-13 по данным системы о фактически отработанном времени, и, если в системе нет соответствующего документа «Оплата сверхурочных часов», введенные вручную в табель сверхурочные часы в форме Т-13 отражены не будут.
Таким образом, факт работы сверхурочно должен фиксироваться в конфигурации документом «Оплата сверхурочных часов», после чего данные о переработке автоматически отобразятся в табеле, будь он документом или отчетом.
Параметр запроса
В языке запросов имеется возможность указать значение параметра виртуальной функции . При этом для большинства параметров в качестве значения параметра может использоваться выражение . В качестве выражения может выступать и параметр .
Пример : РегистрНакопления.Продажи.Обороты(& Начало )
В данном примере в качестве значения первого параметра виртуальной таблицы будет использовано значение параметра &Начало .
Параметр компоновки данных
При помощи специальных инструкций в тексте запроса можно указать, какой параметр компоновки данных будет использоваться в качестве значения параметра виртуальной таблицы .
Пример : РегистрНакопления.Продажи.Обороты({& НачалоПериода })
В данном примере в качестве значения первого параметра виртуальной таблицы будет использовано значение параметра &НачалоПериода , если его значение установлено в настройках компоновки данных .
Совместное использование параметра запроса и параметра компоновки данных
Если в запросе указано и выражение параметра и параметр компоновки данных, то значение параметра компоновки данных используется в случае, если значение данного параметра установлено в настройках компоновки . В противном случае в качестве значения параметра используется результат выражения , указанного в параметре виртуальной функции .
Пример : РегистрНакопления.Продажи.Обороты(& Начало {& НачалоПериода })
В этом примере, если в настройках установлено значение параметра НачалоПериода , то будет использоваться его значение . В противном случае в сгенерированном тексте запроса останется исходное выражение, т. е . &Начало, и в качестве значения параметра виртуальной таблицы будет использоваться значение этого параметра .
Параметры при автоматическом заполнении полей набора данных
При автоматическом заполнении доступных полей набора данных схемы компоновки данных, система автоматически добавляет в схему параметры виртуальных таблиц с именами , соответствующих именам параметров виртуальной таблицы , в случае если у параметра виртуальной таблицы отсутствует описание параметра компоновки данных .
Таким образом , запись: РегистрНакопления.Продажи.Обороты(& Начало )
соответствует следующей : РегистрНакопления.Продажи.Обороты(& Начало {& НачалоПериода }, {& КонецПериода})
И значение параметра &Начало используется только в случае если в настройках не установлено значение параметра &НачалоПериода .
В этом материале подробная инструкция по настройке обмена РИБ для 1С:Предприятие 8 и проблемы, с которыми столкнулся автор.
1. Создание узлов
Создаем новые узлы (главный и подчиненный): в пользовательском режиме "Операции / Планы обмена/Полный"
Выберем план обмена "Полный"
Создаем две записи:
- первую запись назовем "ЦБ" (главный узел), код укажем "ЦБ",
- вторую запись назовем "Подчиненный узел", код укажем "ПУ".
Значек с зеленным кружком - "ЦБ" (главный узел)
Для подчиненного узла нажимаем на иконку "Создать начальный образ". (Потребуется монопольный доступ)
Создать начальный образ
Далее в открывшемся окне заполняем параметры новой базы. По окончании нажимаем кнопку "Готово"
Создание начального образа ИБ
Начнется создание начального образа подчиненного узла распределенной информационной базы, по окончании появится сообщение "Создание начального образа успешно завершено". Жмем кнопку "ОК".
Добавляем базу подчиненного узла в список баз, запускаем ее.
В этой подчиненной базе открываем полный план обмена - значок "ЦБ красный, это значит, что этот узел является главным для информационно базы, в которой мы находимся.
2. Настройка префиксов
Для каждой базы, в настройках параметров учета (в УПП "Сервис / Параметры учета") на закладке "Обмен данными", устанавливаем префиксы. Это делается для того чтобы не возникало конфликтов в номерах и кодах документов и справочников, созданных в двух базах.
Для автообмена, устанавливаем галочку "Использовать механизм автоматического обмена..."
Закладка "Обмен данными"
3. Добавляем настройку обмена данными между узлами
Открываем: "Сервис \Распределенная информационная база (РИБ)\Настроить узлы РИБ"
Нажимаем "Добавить", откроется окно "Настройка обмена данными"
Настройка обмена данными
Нажимаем на значок "Выполнить обмен по текущей настройке"
Выполнить обмен по текущей настройке
Теперь о "подводных камнях"
1. Обмен данными может выполняться в автоматическом режиме и может быть инициализирован в следующих случаях:
* При запуске программы. Обмен будет выполняться при запуске программы,
* При завершении работы с программой. Обмен будет выполняться перед завершением пользователем работы с программой,
* При появлении каталога. Обмен будет выполнен только в том случае, если каталог указанный пользователем был невиден, а в настоящий момент стал виден. Настройка может быть использована для выполнения автоматического обмена при подключении к локальной сети или flash карты. Программа периодически будет проверять видимость указанного в настройках каталога и отмечать его текущее состояние,
* При появлении файла. Рекомендуется использовать данные режим, когда нужно выполнить обмен, если появляется входящий файл обмена данными. В этом случае, достаточно указать полный путь к входящему файлу обмена данными. Программа периодически анализирует наличие файла, и как только он появится, будет выполнен обмен, а после обмена этот файл будет принудительно УДАЛЕН (это делается для того, что бы процедура обмена не выполнялась постоянно),
* Периодический обмен данными. Обмен будет выполняться согласно настройкам периодического обмена данными. Если информационная база работает в файл-серверном режиме, то периодический обмен выполняется только у пользователя, который указан в параметрах учетной политики как "Пользователь для регламентных заданий в файловом режиме". В Клиент-серверном варианте обмен выполняется на сервере 1C:Предприятия.
У меня Клиент-серверный вариант - для работы регламентного автообмена пришлось перегружать сервер
2. Кодировка Windows.
Обмен прерывался ошибкой - так как не происходит сжатие файла. Это из-за ошибки кириллицы в командной строке при сжатии.
Лечится исправлением кодировок в реестре.
Например, для Windows Server 2008 -
3. Создавая копию базы (например, для доработки) в клиент-серверном варианте, НЕОБХОДИМО, чтобы РЕГЛАМЕНТНЫЕ ЗАДАНИЯ КОПИИ базы были ВЫКЛЮЧЕНЫ.
Блокировка регламентных заданий для копии ВКЛ
Если их не заблокировать, то копия будет делать обмены по тому же расписанию, что и основная база. Значит, часть сообщений в удаленные узлы будет формироваться из рабочей базы, а часть из копии, что приведет рассинхронизации конфигураций. Источник
У набора данных - запрос в схеме компоновки данных есть свойство АвтоЗаполнение. В данной статье мы рассмотрим, что происходит, если данное свойство установлено.
Свойство АвтоЗаполнение указывает, что система должна самостоятельно сделать доступными поля, описанные в запросе.
При автоматическом заполнении:
* Поля списка выборки запроса верхнего уровня становятся доступными для отбора, порядка, выбора, группировки. Заметим, что доступность поля будет определяться по его типу. Например, поле неограниченной длины не может быть использовано в качестве поля группировки.
* Поля виртуальных таблиц, на которые можно наложить условия в параметрах этих таблиц становятся доступными для отбора.
* Параметры виртуальных таблиц становятся доступными параметрами.
Разберем пример, будем рассматривать на регистре РегистрНакопления.УчетНоменклатуры у которого есть два измерения: Номенклатура и Склад и один ресурс: Количество.
Рассмотрим, какие поля и параметры будут доступны при автоматическом заполнении для следующего запроса:
Поля Номенклатура, КоличествоОборот, КоличествоПриход, КоличествоРасход будут доступны для отбора, порядка, группировки, выбора.
Поле Склад, хотя явно не присутствует в запросе, будет доступно для отбора, т.к. на него можно наложить отбор в параметрах виртуальной таблицы.
В доступные параметры из данного запроса попадут параметры НачалоПериода и КонецПериода, т.к. их можно указывать в виртуальной таблице.
В случае если в запросе в виртуальной таблице указаны имена параметров, то доступны будут параметры именно с указанными именами. Например, в следующем запросе, доступными будут параметры Начало и Конец вместо НачалоПериода и КонецПериода:
У метода системы НачатьТранзакцию() есть параметр, с помощью которого можно указать режим управления.
Следует помнить, что «вложенных» транзакций в системе 1С:Предприятие 8 нет. Также надо иметь в виду, что параметр «действует» только в том случае, если в свойстве конфигурации Режим управления блокировкой данных выбрано значение Автоматический и управляемый. Если для конфигурации установлен режим Автоматический, то все транзакции будут исполняться в автоматическом режиме; если Управляемый, то в управляемом режиме.
Используется режим управляемых транзакционных блокировок (в автоматическом режиме для этой цели используется конструкция ДЛЯ ИЗМЕНЕНИЯ). Для того чтобы запретить чтение данных другими управляемыми транзакциями, следует устанавливать исключительный режим блокировки данных.
Используется режим управляемых транзакционных блокировок (в автоматическом режиме ничего делать не нужно, система сама блокирует все считываемые данные). Для того чтобы запретить изменение данных другими транзакциями, следует устанавливать разделяемый режим блокировки данных.
Следует отметить, что блокировка устанавливается только в транзакции и действует до окончания транзакции.
Операции, проводки, корреспонденции
Для отражения данных о хозяйственной деятельности предприятия в бухгалтерском учете используются операции. Каждая операция содержит одну или несколько проводок. Проводка всегда принадлежит одной и только одной операции. Каждая из проводок, в свою очередь, может состоять из одной или нескольких корреспонденций. Проводки, содержащие несколько корреспонденций, называются сложными. В сложных проводках дебет одного счета корреспондирует с кредитом нескольких счетов или наоборот.
Свойства операции и проводки
Операция имеет следующие свойства: содержание операции, ее общая сумма, дата, номер, а также другие реквизиты, определяемые конфигурацией.
Проводка имеет следующие свойства: счет дебета, субконто счета дебета, счет кредита, субконто счета кредита, сумма проводки, валюта, количество, валютная сумма, а также другие реквизиты, определяемые конфигурацией.
Журнал операций и журнал проводок
Журнал операций служит для просмотра списка введенных бухгалтерских операций. Каждая операция отображается в нем одной строчкой, содержащей наиболее важную информацию об операции: дату, вид документа, содержание, сумму операции и т. д. В журнале операций существует возможность просмотра проводок текущей операции. В журнале операций можно просматривать как все операции, так и выборочно, руководствуясь при этом различными условиями. Так, например, можно сделать “видимыми” только те операции, которые попали в заданный временной интервал.
Журнал проводок является средством просмотра введенных проводок. Каждая операция содержит в себе одну или несколько проводок. Проводка всегда принадлежит одной и только одной операции. В журнале проводок отражаются проводки, относящиеся к разным операциям.
Режимы ввода операций
При ручном вводе операции все данные заносятся непосредственно пользователем.
Использование типовых операций автоматизирует ввод стандартных или часто используемых операций. Типовая операция представляет собой шаблон хозяйственной операции, т.е. некоторые данные уже введены, например, счет дебета и счет кредита. В типовой операции есть некоторые возможности по автоматическому расчету сумм проводок и других данных. В отличие от документов, которые полностью настраиваются в конфигурации, типовые операции вводятся пользователем.
Использование документов еще больше облегчает ввод хозяйственной операции. При таком вводе операции пользователю не надо заполнять все данные об операции: как правило, в документ вводится необходимая информация о хозяйственной операции, а проводки формируются автоматически при проведении документа