Для установки отбора используется свойство "Отбор" у менеджеров списков объектов, например, для открытия списка договоров определенного контрагента можно написать следующий код:
В данном случае мы применили вид сравнения "Равно", но не указывали его т.к. оно стоит по умолчанию. Используя разные значения вида сравнения мы значительно расширяем возможности.
Например, у нас в базе контрагент является и продавцом и покупателем, при этом договоры находятся в соответствующей группе внутри справочника. Поэтому мы сделаем отбор не только на самого контрагента, но и на группу "Группа Покупатели" в которой находится договор:
Если вкратце, то:
Начисление и праздничных и сверхурочных производится на основани приказа. В программе 1С ЗУП 8 расчет осуществляется на закладке "Расчет ЗП" - первичные документы - Оплата работы в праздники или Оплата сверхурочных часов. Открываете документ, заполняете его (расчитываете) и после проведения - заполняете табель (Форма Т-13) все ваши часы и сверхурочные и праздничные будут видны.
подробнее:
Для начисления оплаты сверхурочных часов используется документ «Оплата сверхурочных часов», в котором для каждого работника можно указать дату сверхурочной работы, количество часов, отработанных сверхурочно, и то, по полуторной или по двойной тарифной ставке будут эти сверхурочные часы оплачиваться. В этом документе автоматически рассчитывается сумма за каждый день, в который работник работал сверхурочно.
После того, как все сверхурочные часы работника зарегистрированы документом «Оплата сверхурочных часов», можно создавать для этого работника документ «Табель учета рабочего времени». При автоматическом заполнении табеля в соответствующих колонках документа появятся «двойные» записи, например «Я8, С2», обозначающие восьмичасовую явку и два часа сверхурочной работы.
При выводе формы Т-13 на печать также в графе формы, соответствующей дню переработки, будет выведено значение «Я/С», а на следующей строке «8/2». Документом «Начисление зарплаты работникам организаций» оплата сверхурочных не начисляется.
Важно! При вводе вручную в документ «Табель учета рабочего времени» нескольких видов использования рабочего времени («Я8, С2»), начисления сумм оплаты и фиксации продолжительности сверхурочных часов не происходит. При печати из документа формы Т-13 происходит не «копирование» табличной части документа в соответствующую печатную форму, а заполнение формы Т-13 по данным системы о фактически отработанном времени, и, если в системе нет соответствующего документа «Оплата сверхурочных часов», введенные вручную в табель сверхурочные часы в форме Т-13 отражены не будут.
Таким образом, факт работы сверхурочно должен фиксироваться в конфигурации документом «Оплата сверхурочных часов», после чего данные о переработке автоматически отобразятся в табеле, будь он документом или отчетом.
Обработка Универсальный обмен данными в формате XML (обработка универсальныйобменданнымиxml)
Обработка "Универсальный обмен данными в формате XML" предназначена для загрузки и выгрузки данных в файл из любой конфигурации, реализованной на платформе 1С:Предприятие 8.
Режим работы
При использовании управляемой формы обработка имеет два режим работы:
1. На клиенте. При использовании этого режима файлы правил и загружаемых данных передаются с клиента на сервер, а файл выгружаемых данных передается с сервера на клиент. Пути к этим файлам, находящимся на клиенте, необходимо указывать в диалоговом окне непосредственно перед выполнением действия.
2. На сервере. В этом режиме файлы не передаются на клиентн и пути к ним необходимо указывать на сервере.
Примечание: Файл внешней обработки и файлы протоколов обмена всегда должны находиться на сервере вне зависимости от режима работы.
Выгрузка данных
Для осуществления выгрузки данных необходимо указать имя файла, в который будет осуществляться выгрузка данных и выбрать файл правил обмена. Правила обмена для любых конфигураций могут быть настроены в специализированной конфигурации "Конвертация данных, редакция 2".
Для выгрузки документов и записей независимых периодических регистров сведений необходимо указать период - "Дату начала" и "Дату окончания". Результирующий файл с выгруженными данными может быть сжат.
На закладке "Правила выгрузки данных" можно выбрать те типы объектов, которые должны выгружаться, настроить отборы для выборки объектов, либо указать узел обмена данными, для которого нужно выгружать данные.
На закладке "Параметры выгрузки" можно указать дополнительные параметры выгрузки данных.
На закладке "Комментарий" можно написать произвольный текст-комментарий, включаемый в файл обмена.
Загрузка данных
Для осуществления загрузки данных необходимо указать имя файла, из которого будет осуществляться загрузка данных.
Есть возможность настроить загрузку данных в транзакции. Для этого необходимо взвести флажок "Использовать транзакции" и указать количество элементов в одной транзакции при загрузке.
"Загружать данные в режиме обмена (ОбменДанными.Загрузка = Истина)" – если флаг установлен, то загрузка объектов будет выполнятся с установленным признаком загрузки. Это означает, что при записи объектов в базу данных будут отключены все платформенные и прикладные проверки. Исключение составляют документы, которые записываются в режиме проведения или отмены проведения. Проведение и отмена проведения документа выполняется всегда без установки режима загрузки, т.е. проверки будут выполняться.
Дополнительные настройки
Закладка служит для детальной настройки выгрузки и загрузки данных.
"Режим отладки" – флаг для задания режима отладки обмена. Если этот флаг установлен, то процесс обмена данными не будет остановлен при возникновении какой-либо ошибки. Обмен завершится до конца с выводом отладочных сообщений в файл протокола обмена. Этот режим рекомендуется использовать при отладке правил обмена.
"Вывод информационных сообщений в окно сообщений" – если флаг установлен, то в окно сообщений будет выводиться протокол процесса обмена данными.
"Количество обработанных объектов для обновления статуса" – параметр служит для определения количества обработанных элементов перед изменением строки состояние загрузки/выгрузки
"Настройки выгрузки данных" – позволяют определить количество элементов обрабатываемых в одной транзакции при выгрузке данных, выгружать и обрабатывать только те объекты, на которые есть права доступа, настроить тип изменения регистрации для выгруженных объектов через планы обмена.
"Использовать оптимизированный формат для обмена данными (V8 - V8, версия обработки не ниже 2.0.18)" – оптимизированный формат сообщения обмена предполагает наличие узла "ИнформацияОТипахДанных" в заголовке сообщения, в который выгружается информация о типах данных. Это позволяет ускорить процесс загрузки данных.
"Использовать транзакции при выгрузке для планов обмена" – флаг определяет режим использования транзакций при выгрузке данных при выборке изменений на узлах планов обмена. Если флаг установлен, то выгрузка данных будет выполняться в транзакции.
"Количество элементов в транзакции" – определяет максимальное число элементов данных, которые помещаются в сообщение в рамках одной транзакции базы данных. Если значение параметра равно 0 (значение по умолчанию), то все данные помещаются в рамках одной транзакции. Такой режим является рекомендуемым, так как гарантирует согласованность данных, помещаемых в сообщение. Но при создании сообщения в многопользовательском режиме могут быть конфликты блокировок между транзакцией, в которой данные помещаются в сообщение, и транзакциями, выполняемыми другими пользователями. Для снижения вероятности возникновения таких конфликтов можно задать значение этого параметра, отличное от значения по умолчанию. Чем меньше значение параметра, тем меньше вероятность конфликта блокировок, но выше вероятность помещения в сообщение несогласованных данных.
"Выгружать объекты на которые есть права доступа" – если флаг установлен, то выборка объектов информационной базы будет выполняться с учетом прав доступа текущего пользователя программы. Это предполагает использование литерала "РАЗРЕШЕННЫЕ" в тексте запроса для выборки данных.
"Автоматически удалять недопустимые символы из строк для записи в XML" – если флаг установлен, то при записи данных в сообщение обмена недопустимые символы будут удалены. Символы проверяются на соответствие рекомендации XML 1.0.
"Изменения регистрации для узлов обмена после выгрузки" – поле определяет режим работы с регистрацией изменений данных после завершения выгрузки данных. Возможные значения:
Не удалять регистрацию – после выгрузки данных регистрация изменений на узле удалена не будет.
Полностью удалить регистрацию для узла обмена – после выгрузки данных регистрация изменений на узле будет полностью удалена.
Удалить регистрацию только для выгруженных метаданных – после выгрузки данных регистрация изменений на узле будет удалена только для объектов метаданных, которые были указаны к выгрузке.
"Протокол обмена" – позволяет настроить вывод информационных сообщений в окно сообщений, ведение и запись в отдельный файл протокола обмена.
"Имя файла, протокола обмена" – имя файла для вывода протокола процесса обмена данными.
"Протокол загрузки (для COM - соединения)" – имя файла для вывода протокола процесса обмена данными в базе-приемнике при обмене через COM-соединение. Важно: путь к файлу должен быть доступен с компьютера, на котором установлена база-приемник.
"Дописывать данные в протокол обмена" – если флаг установлен, то содержимое файла протокола обмена сохраняется, если файл протокола уже существует.
"Вывод в протокол информационных сообщений" – если флаг установлен, то в протокол обмена будут выводиться сообщения информативного характера, помимо сообщений об ошибках обмена.
"Открывать файлы протоколов обмена после выполнения операций" – если флаг установлен, то после выполнения обмена данными файлы протоколов обмена будут автоматически открыты для просмотра.
Удаление данных
Закладка нужна только для разработчиков правил обмена. Позволяет удалять из информационной базы произвольные объекты.
Отладка выгрузки и загрузки данных
Обработка позволяет совершать отладку обработчиков событий и генерировать модуль отладки из файла-правил или файла-данных.
Включение режима отладки обработчиков выгрузки производится на закладке "Выгрузка данных" установкой флажка "Режим отладки обработчиков выгрузки". Соответственно, на закладке "Загрузка данных" включение режима отладки загрузки производится установкой флажка "Режим отладки обработчиков загрузки".
После установки режима отладки обработчиков станет доступной кнопка настройки отладки. По нажатию на эту кнопку откроется окно настройки.
Настройка отладки обработчиков выполняется в четыре шага:
Шаг 1: Выбор режима отладки алгоритмов
На первом шаге необходимо определиться с режимом отладки алгоритмов:
Без отладки алгоритмов
Вызывать алгоритмы как процедуры
Подставлять код алгоритмов по месту вызова
Первый режим удобно использовать, когда мы точно знаем, что ошибка в обработчике не связана с кодом какого-либо алгоритма. В этом режиме код алгоритмов не выгружается в модуль отладки. Алгоритмы выполняются в контексте оператора "Выполнить()" и их код недоступен для отладки.
Второй режим необходимо использовать в тех случаях, когда ошибка находится в коде алгоритма. При установке этого режима алгоритмы будут выгружены как отдельные процедуры. В момент вызова алгоритма из какого-либо обработчика происходит обращение к соответствующей процедуре обработки. Этот режим удобно использовать, когда для передачи параметров в алгоритмы используется глобальная переменная "Параметры". Ограничения использования этого режима в том, что при отладке в алгоритме недоступны локальные переменные обработчика, из которого он вызывается.
Третий режим отладки используется, как и во втором случае, при отладке кода алгоритмов и в тех случаях, при которых второй режим отладки не подходит. При установке этого режима алгоритмы будут выгружены как интегрированный код в обработчиках. Т.е. взамен оператора вызова алгоритма вставляется полный код алгоритма с учетом вложенных алгоритмов. В этом режиме нет ограничений на использование локальных переменных обработчика, однако есть ограничение при отладке алгоритмов с рекурсивным вызовом.
Шаг 2: Формирование модуля отладки
На втором шаге необходимо произвести выгрузку обработчиков нажатием на кнопку "Сформировать модуль отладки выгрузки (загрузки)". Сформированные обработчики и алгоритмы будут выведены в отдельное окно для просмотра. Содержимое модуля отладки необходимо скопировать в буфер обмена нажатием на кнопку "Копировать в буфер обмена".
Шаг 3: Создание внешней обработки
На этом шаге необходимо запустить конфигуратор и создать новую внешнюю обработку. В модуль обработки необходимо вставить содержимое буфера обмена (модуль отладки) и сохранить обработку под любым именем.
Шаг 4: Подключение внешней обработки
На четвертом, завершающем шаге, надо указать имя файла внешней обработки в поле ввода. При этом программа выполняет проверку по времени создания (обновления) файла обработки. Если обработка имеет более раннюю версию, чем версия файла модуля отладки, то будет выведено предупреждение и форма настройки закрыта не будет.
Примечание: Возможность отладки глобального обработчика конвертации "После загрузки правил обмена" не поддерживается.
Обработка "Универсальные подбор и обработка объектов" предназначена для поиска объектов в справочниках и документах по произвольному условию и дальнейшей обработки найденных объектов.
Для подбора объектов необходимо в поле выбора "Объект поиска"] выбрать искомый объект, задать необходимые условия поиска в табличном поле на закладке "Отбор по значениям реквизитов" и нажать кнопку "Найти объекты". Кнопка "Найти объекты" так же доступка на закладке "Найденные объекты".
Для поиска по строке во всех строковых полях объекта необходимо ввести искомую строку в поле ввода "Строка поиска" на закладке "Отбор по значениям реквизитов" и нажать кнопку "Найти объекты" (клавиша F9). При этом будут учтены и все условия, заданные в табличном поле.
Результат поиска выводится в табличное поле, расположенное на закладке "Найденные объекты". При двойном щелчке мыши или нажатии Enter в строке табличного поля открывается форма редактирования выбранного объекта. Для включения объекта в обработку необходимо включить флажок в соответствующей строке.
Для подробной настройки выводимой информации (настройка выводимых полей, порядок вывода) можно использовать форму настроек вывода, которая вызывается нажатием на кнопку "Настройки" на закладках "Отбор по значениям реквизитов" или "Найденные объекты".
Для обработки объектов необходимо перейти на закладку "Обработки".
В дереве "Доступные обработки" на первом уровне отображаются все доступные обработки. При двойном щелчке мыши или нажатии Enter на первом уровне дерева доступных обработок открывается форма новой настройки обработки с возможностью сохранения текущей настройки (кнопка "Сохранить настройку") и непосредственного выполнения обработки (кнопка "Выполнить"). Настройки обработок отображаются на втором уровне дерева доступных обработок. При добавлении новой строки создается новая настройка обработки, которую в дальнейшем можно изменять, удалять, копировать и выбирать для выполения. Сохранение и добавление настроек возможно только для обработок, в которых предусмотрена и необходима пользовательская настройка.
В табличном поле "Выбранные обработки" отображаются настройки доступных обработок, участвующие в групповой обработке объектов. Заполнение списка осуществляется выбором настройки в дереве доступных обработок и нажатаем кнопки "Добавить настройку в выбранные обработки". Для добавления обработки, не предусматривающей пользовательских натроек, необходимо при добавлении выбирать непосредственно обработку. При двойном щелчке мыши или нажатии Enter в строке табличного поля выбранных обработок открывается форма редактирования настройки обработки с возможностью сохранения текущей настройки (кнопка "Сохранить настройку") и непосредственного выполнения обработки (кнопка "Выполнить"). Групповая обработка объектов выполняется нажатием кнопки "Выполнить" панели "Выбранные обработки". Для включения настройки в групповую обработку необходимо включить флажок в соответствующей строке.
Сохранении и восстановление настроек обработок осуществляется нажатием кнопок "Сохранить настройки в файл" (Ctrl+S) и "Загрузить настройки из файла" (Ctrl+L) командной панели "Доступные обработки". При этом открывается диалог выбора файла для сохранения или восстановления настройки. Данная возможность позволяет переносить настройки обработок между различными конфигурациями баз данных между различными пользователями.
Доступные обработки:
* Произвольный алгоритм
* Установка реквизитов
* Перенумерация объектов
* Пометить на удаление
* Удалить
* Провести документы
* Отменить проведение документов
Вопросы и ответы по обработке: Как с помощью обработки установить реквизит "НаименованиеПолное" равным реквизиту наименование краткое?
Через произвольный алгоритм.
Общее:
Механизм последовательности документов предназначен для отслеживания правильной последовательности проведения группы взаимосвязанных документов. Основная идея данного механизма заключается в том, что при своем проведении документ может использовать некоторые данные, уже хранящиеся в информационной базе. При этом процесс проведения документа зависит от значения этих данных на момент времени регистрации документа. Если после проведения документа эти данные были изменены, то документ должен быть перепроведен, для того чтобы он был правильно отражен в разных учетных регистрах. Например, документ, который при проведении определяет цену товара по регистру сведений, должен быть перепроведен при изменении цены задним числом, так как выполненные на основании этой информации движения стали неверными.
Схему работы этого механизма можно представить следующим образом. Документ при записи регистрируется в последовательности документов. Данная регистрация сигнализирует системе, что при проведении документ использует определенные данные информационной базы, и от их состояния на заданный момент времени зависит результат проведения документа. В конце процесса проведения документа система определяет, в каких последовательностях документов был зарегистрирован документ. Для каждой последовательности, в которой был зарегистрирован документ, определяется, были ли все документы, зарегистрированные в последовательности ранее данного документа, проведены в правильной последовательности. Если это условие выполняется, то данный документ тоже считается проведенным в правильной последовательности. Если данное условие не выполняется, то считается, что документ не был проведен в правильной последовательности и его надо перепровести.
При изменении данных, которые используются документами для проведения, система определяет, какие последовательности документов зависят от этих данных. Для всех документов, зарегистрированных в соответствующих последовательностях позже момента времени, к которому относятся изменяемые данные, устанавливается, что их нужно перепровести.
Пользователь может получить информацию о том, какие документы были проведены в правильной последовательности, а какие нет. Эта информация выдается в виде момента времени, до которого все документы считаются проведенными в правильной последовательности. Все документы позже данного момента времени считаются проведенными в неправильной последовательности. На основе данной информации пользователь может принять решение о восстановлении правильной последовательности проведения документов. Процесс восстановления заключается в перепроведении всех документов участвующих в последовательности, и являющихся проведенными.
Реализация:
При разработке прикладного решения разработчик должен описать, какие документы могут участвовать в последовательности, и какие данные используются этими документами при своем проведении. Вся эта информация задается в объекте метаданных Последовательность. Разработчик отдельно указывает список документов, которые будут участвовать в последовательности, и список регистров, данные из которых будут использоваться при проведении документа. Важно заметить, что автоматическое отслеживание изменения данных для поддержки последовательностей документов осуществляется платформой только для регистров накопления, расчета, бухгалтерии и сведений.
Последовательность документов может иметь измерения. Измерения позволяют разбить общую последовательность документов на более мелкие последовательности в разрезе измерений. Например, если при проведении документ использует цены товаров, хранящиеся в регистре сведений, то при изменении цены любого товара будут перепроведены все документы, даже если в этом документе не использовался данный товар. Для того чтобы избежать такой ситуации, у последовательности документов можно определить измерение Товар. При регистрации в последовательности документов будет указываться, по каким товарам данный документ использует данные. Тогда при восстановлении последовательности документов, система может определить, по каким товарам было произведено изменение данных, и соответственно, какие документы должны быть перепроведены.
Регистрация документа в последовательности может осуществляться автоматически. Для этого разработчик должен настроить соответствия между реквизитами документа и измерениями последовательности документа. Если в соответствии был указан один или несколько реквизитов табличной части документа, то документ будет зарегистрирован в последовательности ровно столько раз, сколько в данной табличной части строк с уникальной комбинацией значений соответствующих реквизитов. Если в соответствиях с измерениями последовательности были указаны реквизиты разных табличных частей, то документ будет зарегистрирован столько раз, сколько уникальных комбинаций значений можно составить из соответствующих реквизитов этих табличных частей. Если все табличные части имеют во всех строках уникальные сочетания значений соответствующих реквизитов, то количество регистраций будет равно N1*N2...*Ni раз, где Ni количество строк соответствующей табличной части, реквизиты которой участвуют в соответствиях.
Для автоматического отслеживания изменений данных в разрезе измерений последовательности документов, нужно настроить соответствие измерений и реквизитов регистров и измерений последовательностей документов. Нужно помнить, что при создании новой последовательности документов или добавлении нового вида документа автоматическая регистрация документов в последовательности не происходит. Для регистрации документов в последовательности нужно или перезаписать документы, или написать обработку, которая будет регистрировать документы в последовательности документов.
Механизм последовательности документов использует две сущности: регистрация документа в последовательности, граница последовательности. Для каждой из этих сущностей в системе создаются таблицы данных. Регистрация используется для регистрации документа в последовательности. Обе эти таблицы доступны в языке запросов 1С:Предприятия.
Таблица регистрации имеет следующие поля: период, регистратор, измерения последовательности. В таблице регистрации документов хранятся записи уникальные по измерениям в пределах одного регистратора. То есть для определенной комбинации значений измерений по одному регистратору, хранится только одна запись, но может храниться множество записей с одним и тем же набором значений реквизитов для различных регистраторов. Работа с данными этой таблицы происходит через набор записей регистрации документа в последовательности документа. У объекта документа есть коллекция наборов записей регистрации в последовательностях документов. Наборы записей из этой коллекции используются для регистрации документа в последовательностях при записи документа. Важно помнить, что при отмене проведения, отмена регистрации в последовательностях документов не происходит. Но не проведенный документ не участвует в восстановлении последовательности. В остальном, работа с набором записей регистрации документа в последовательности точно такой же, как и с набором записей любого регистра.
Граница последовательности показывает момент времени (границу), по которую документы проводились в правильной последовательности. Структура таблицы границ аналогична структуре таблицы регистрации, но содержание и смысл ее отличается. В отличие от таблицы регистрации, в таблице границ может содержаться только уникальные по набору значений измерений записи. То есть для определенной комбинации значений измерений, хранится только одна запись. Период и регистратор задают момент времени границы по данным измерениям. Изменять содержимое таблицы границ последовательности можно только через объект менеджер последовательности документов.
Процесс записи документа:
Начало транзакции
Автоматическое заполнение наборов записей регистрации документа в последовательности
Вызов предопределенной процедуры ПередЗаписью()
Запись документа
Вызов предопределенной процедуры ПриЗаписи()
Запись измененных и не записанных наборов записей движений документа
Проверка и перенос границ последовательностей на момент времени движений (данное действие производится в наборе записей, не в документе!)
Запись измененных и не записанных наборов записей регистрации документа в последовательностях
Конец транзакции
Процесс записи документа с проведением:
Начало транзакции
Автоматическое заполнение наборов записей регистрации документа в последовательности
Вызов предопределенной процедуры ПередЗаписью()
Запись документа
Вызов предопределенной процедуры ПриЗаписи()
Вызов предопределенной процедуры ОбработкаПроведения()
Запись измененных и не записанных наборов записей движений документа
Проверка и перенос границ последовательностей на момент времени движений (данное действие производится в наборе записей, не в документе!)
Запись измененных и не записанных наборов записей регистрации документа в последовательностях
Проверка и перенос границы последовательности на момент времени регистрации документа
Конец транзакции
Процесс записи документа с отменой проведения
Начало транзакции
Автоматическое заполнение наборов записей регистрации документа в последовательности
Вызов предопределенной процедуры ПередЗаписью()
Вызов предопределенной процедуры ОбработкаУдаленияПроведения()
Удаление движений документа
Проверка и перенос границ последовательностей на момент времени движений (данное действие производится в наборе записей, не в документе!)
Запись документа
Вызов предопределенной процедуры ПриЗаписи()
Запись измененных и не записанных наборов записей регистрации документа в последовательностях
Конец транзакции
Важной особенностью данного процесса является то, что перенос границы последовательности назад (сбивание границы) происходит только при записи наборов записей регистров и при этом соответствующие границы были больше (позже) момента времени движений. Перенос границы последовательности вперед (восстановление границы) происходит, только если был процесс проведения документа, границы последовательностей были меньше (раньше) момента времени документа, и между границей последовательности и документом нет проведенных и участвующих в последовательности документов, то есть нет неправильно проведенных документов, требующих перепроведения. Таким образом, автоматическое сбивание границы последовательности происходит только при изменении регистра, не важно каким набором записей он изменяется - принадлежащим документу или созданным отдельно. Автоматическое восстановление последовательности происходит только при проведении документа. Запись документа, регистрация документа в последовательности, сам факт проведения документа границу последовательности сбить не может. Сбивает границу только изменение самого регистра.
Разработчику доступны методы по установке границы на произвольный момент времени. Кроме установки границы последовательности на произвольный момент, разработчик может получить текущую границу последовательности, проверить, что по заданный момент времени последовательность не нарушена, принадлежит ли данный документ последовательности или нет, восстановить последовательность. Что такое Последовательность Документов(в кратце)
В данной статье рассматривается технология реализации подбора на платформе 1С 8.2. Статья не претендует на академизм, просто столкнувшись с рядом проблем и не нашедшим «правильной» методологии решения (возможно плохо искал), решил пройти этот путь самостоятельно, естественно пользуясь различными источниками. В основном я опираюсь на материалы мастер-групп Базового курса «Профессиональное программирование в 1С» Евгения Гилева и Насипова Фарита, участником которого я являюсь, а также соответствующей литературы (М.Г. Радченко, Е.Ю. Хрусталева Практическое пособие разработчика).
Итак, предметная область: компания занимается оптовой торговлей товарами имеющими срок годности, который относится к серии, а та в свою очередь принадлежит конкретному товару. Товары поступают на разные склады. Задача: реализовать удобное заполнение табличной части расходного документа. Решение: необходимо реализовать форму подбора, обеспечивающею просмотр остатков товара по срокам годности, возможность выбора соответствующих позиций и последующий перенос в табличную часть документа. Задачи такого плана встречаются в 5 части сборника задач к подготовке экзамена по Специалисту.
Реализация. Создаем форму произвольного типа для документа Продажа товаров. Можно конечно создать общую форму, но в данной ситуации выбираем то, что поближе. На форме создаем реквизиты: Склад - тип СправочникиСсылка.Склады Товары - Динамический список, в свойствах ставим галочку произвольный запрос. Выбор - таблица значений (колонки Товар, Серия - тип ссылки на соответствующие справочники, срок годности, количество - дата, число).
Настраиваем запрос для реквизита Товары. Здесь по идее все просто с помощью конструктора берем два справочника и виртуальную таблицу Остатков регистра Остатки товара. Если нужно видеть весь товар, то используем левое соединение Товаров с остальными источниками, если только с остатками, то полное соединение с регистром:
Для виртуальной таблицы в параметрах указываем отбор по складу. После этого я 3 часа топтался на одном месте. Когда я запустил данную форму в процессе отладки, то я увидел только одну строчку с товаром, хотя их должно было быть больше. Честно говоря и растерялся, так как по идее все должно быть просто но ... И вот около 3 часов я пытался понять почему не выводятся все записи. Конечно, может это и не является серьезной проблемой и большинство практикующих специалистов 1С про нее знают, но только после долгого серфинга по Интернету я нашел, что надо очистить свойство основная таблица в окне настройки запроса динамического списка, и тогда появились все записи. При этом становится неактивным свойство динамическое считывание данных. В книге «Разработка управляемого интерфейса» мне не удалось найти назначение параметра основная таблица и описание это ситуации. Сразу хочу отметить, что в типовой конфигурации управление небольшой фирмой используется не динамический список, а дерево значений.
И так, возвращаемся в нормальное русло решение задачи.
В разработанной форме я добавил параметр Склад с целью отбора остатков.
Для того чтобы открыть созданную форму подбора, в управляемой форме документы Продажа товара создаем команду подбор, размещаем на форме о генерируем обработчик, в котором нам необходимо открыть форму. Так как форма должна обеспечивать множественный выбор и отбор по складу, то создаем структуру параметров формы. И открываем форму соответствующей командой.
Соответственно в форме подбора при создании заполняем параметр запроса склад из параметров формы:
Теперь необходимо реализовать функционал формы подбора. При выборе соответствующей строки она должна переносится в таблицу значений, так же должен работать механизм перетаскивания. Для решения первой задачи необходимо создать обработчик события Выбор нашего динамического списка.
В нем имеется параметр ВыбраннаяСтрока представляющий собой массив, элементами которого являются номера строк списка Товары. В цикле проверяем не дублируются ли выбранные строки и запрашивается количество.
Для реализации перетаскивания необходимо проверить настройку следующих параметров: Для таблицы Товары - РазрешитьНачалоПеретаскивания, для Выбранные товары - РазрешитьПеретаскивание.
Так же необходимо создать обработчик события Перетаскивание для элемента формы ВыбранныеТовары.
Так как код обработчика похож на предыдущий, то для оптимизации можно создать процедуры и вызывать ее из обоих обработчиков.
На рисунке приведен внешний вид формы подбора:
Для завершения подбора создана команда формы, с обработчиком, выполняющим оповещение о выборе:
Соответственно, в форме документа реализован обработчик события ОбработкаВыбора:
Кроме того, есть еще несколько тюнинговых настороек, про которые писать особого смысла нет, но для формы подбора желательно не забыть настроить свойство РежимОткрытияОкна - Блокировать окно владельца, чтобы пользователь не смого ее случайно вернутся в документ не закрыв окно подбора, при этом доступ к основному окну будет.
В целом хочется еще раз подчеркнуть, что целью данной статьи не является проповедование истины, а просто поделится полученной информацией. Буду благодарен за конструктивные советы и рекомендации, так как тема управляемых форм достаточно новая, но похоже надолго, и ряд вопросов (особенности работы с произвольными запросами) требует дополнительной информации.
Автор: User67
В основе работы с XML-файлами лежит технология доступа SAX, которая осуществляет считывание по одному тегу. Для этого существует два типа данных – ЗаписьXML и ЧтениеXML. Запись данных справочника в XML-файл:
Чтение данных из XML-файла в справочник:
Создадим обработку в типовой конфигурации для экспорта плана счетов. Структура xml-файла должна быть такой. Корневой элемент xml-документа соответствует плану счетов в целом. В нем располагаются подчиненные элементы с именем Счет, содержащие информацию о счетах. В качестве содержимого элементов указывается наименование счета. Остальные данные записываются в качестве атрибутов (код, признаки валютного, количественного учета и пр.). В качестве подчиненных элементов для элемента Счет задаются элементы, обозначающие его субсчета с теми же атрибутами. Приведем код процедуры экспорта плана счетов.
В результате будет получен файл, вот его фрагмент:
А теперь приведем код для импорта плана счетов из xml-файла в новую конфигурацию. Код модуля соответствующей обработки должен содержать процедуру Выполнить(), которая имеет такой вид.
Запуск исполняемого файла системы 1С:Предприятие 8.x
Помимо запуска путем выбора соответствующей пиктограммы из меню «Пуск —Программы» операционной системы MS Windows, запуск системы 1С:Предприятие 8.x может быть выполнен путем запуска исполняемого файла 1CV8.EXE. Такой запуск может быть произведен, например, при помощи пункта «Выполнить» меню «Пуск» операционной системы MS Windows, или двойным щелчком мыши на имени файла 1CV8.EXE в программе Проводник (Explorer).
В командной строке запуска файла 1CV8.EXE можно указать все необходимые параметры: режим запуска, имя каталога с информационной базой, имя пользовательского каталога, и другие. Если параметры командной строки указаны верно, файл 1CV8.EXE будет запущен в одном из режимов запуска: «1С:Предприятие» или «Конфигуратор» — в зависимости от указанных параметров.
Если при запуске файла 1CV8.EXE обнаружена ошибка в параметрах командной строки, или параметры отсутствуют, то после запуска на экран будет выдан диалог «Запуск 1С:Предприятия». В этом диалоге пользователь может выбрать режим запуска файла 1CV8.EXE, имя информационной базы и другие параметры запуска.
Примеры:
Файловый вариант: "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F"Путь к базе данных" /N"Имя пользователя" /P"Пароль"
Клиент-серверный вариант: "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /S"НазвСервер\База" /N" Имя пользователя " /P"Пароль"
Если на одном сервере стоит 8.1 и 8.2 (как ставить- тут), то при подключении к базам 8.2 нужно указывать порт сервера(например 1641): "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /S"server-1C:1641\ZUP" /N"EMigachev" /P"12345" "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /S"НазвСервер:1641\База" /N" Имя пользователя" /P"Пароль "
Запуск программы под пользователем и выпопление обработки при открытии: "C:\Program Files\1cv82\8.2.17.235\bin\1cv8s.exe" ENTERPRISE /F "D:\1C\HRM" /N user /P password /Execute "D:\1C\Внешние_обработки_1С\РаботающиеОбработки\РабочийСтол.epf" "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /F "ПУТЬ К ПАПКЕ С БД" /N ПОЛЬЗОВАТЕЛЬ /P ПАРОЛЬ /Execute "C:\\обработка.epf"
Архивация информационной базы 1С "C:\Program Files\1cv82\common\1cestart.exe" DESIGNER /S Server-1C\1C-Work82 /N"Администратор" /P"12345" /DumpIB \\bdc\BackUp\Base.dt
"C:\Program Files\1cv82\common\1cestart.exe» config /S server:1641\82_zup /N Администратор /P zzzz /WA- /Out"c:\Backup\backup.log» -NoT_runcate /DumpIB H:\1S_VIGR\82_zup.dt
Для 8.1:
Для файлового варианта: "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"D:\1C_base\ZUPRAZR" /N"EMigachev" /P"12345"
Для клиент-серверного варианта: "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /S"server-1C\ZUP" /N"EMigachev" /P"12345"
Если на одном сервере стоит 8.1 и 8.2 (как ставить- тут), то при подключении к базам 8.2 нужно указывать порт сервера(например 1641): "C:\Program Files\1cv82\common\1cestart.exe" ENTERPRISE /S"server-1C:1641\ZUP" /N"EMigachev" /P"12345"
Параметры командной строки
При запуске файла 1CV8.EXE в командной строке могут быть указаны следующие параметры:
Параметры командной строки выбора режима:
CONFIG - запуск системы 1С:Предприятие 8.x в режиме «Конфигуратор»;
ENTERPRISE - запуск системы 1С:Предприятие 8.x в режиме «1С:Предприятие»;
CREATEINFOBASE <connect string> [/AddInList [<имя ИБ>]] - создание информационной базы ( <connect string>
строка, задающая параметры информационной базы, каждый из которых представляет собой фрагмент вида <Имя параметра=><Значение>, где Имя параметра — имя параметра, а Значение — его значение.
Фрагменты отделяются друг от друга символами ';'.
Если значение содержит пробельные символы, то оно должно быть заключено в двойные кавычки (").
Для файлового варианта определен параметр:
File — каталог информационной базы;
Locale — язык (страна), которые будут использованы при создании информационной базы. Допустимые значения такие же как у параметра <Форматная строка> метода Формат. Параметр Locale задавать не обязательно. Если не задан, то будут использованы региональные установки текущей информационной базы.
Для клиент-серверного варианта определены параметры:
Srvr — имя сервера 1С:Предприятия;
Ref — имя информационной базы на сервере;
SQLSrvr — имя SQL сервера;
SQLDB — имя SQL базы данных;
SQLUID — имя пользователя SQL;
SQLPwd — пароль пользователя SQL. Если пароль для пользователя SQL не задан, то данный параметр можно не указывать
SQLYOffs - смещение дат, используемое для хранения дат в SQL Server. Может принимать значения 0 или 2000. Данный параметр задавать не обязательно. Если не задан принимается значение 0.
Locale - язык (страна), (аналогично файловому варианту).
Для всех вариантов определены параметры:
Usr — имя пользователя;
Pwd — пароль
/AddInList - параметр, показывающий, под каким именем добавлять базу в список, если не указан, база не будет добавлена в список. Если не указано имя, используется умолчание, аналогичное интерактивному созданию информационной базы.
Одновременное использование ключей не допускается.
Параметры командной строки для указания параметров запуска:
/@<имя файла> - параметры командной строки записаны в указанном файле
/F<Путь> - путь к информационной базе, если она хранится в файле (имя файла указывать не надо)
/S<Адрес> - адрес информационной базы, хранящейся на сервере 1С:Предприятия 8.x, складывается следующим образом:
<Имя компьютера, работающего сервером приложений>\ <Ссылочное имя информационной базы, известное в рамках сервера 1С:Предприятия 8.x>
/N<Имя> -имя пользователя. Должно быть указано так же, как в списке пользователей, создаваемом в Конфигураторе
/P<Пароль> -пароль пользователя, имя которого указано в параметре /N. Если у пользователя нет пароля, этот параметр можно опустить
/WA- запрет применения Windows-аутентификации при старте Предприятия или Конфигуратора
/WA+ установка обязательного применения Windows-аутентификации при старте 1С:Предприятия или Конфигуратора. Если ключ /WA не указывается, то подразумевается, что используется параметр командной строки /WA+
/AU- запрет вывода вопроса об обновлении текущей версии 1С:Предприятия с административной установки
/AU+ установка вывода вопроса об обновлении текущей версии 1С:Предприятия с административной установки. Если ключ /AU не указывается, то подразумевается, что используется параметр командной строки /AU+
/Out<Имя файла> [-NoT_runcate] - установка файла для вывода служебных сообщений. Если задан ключ –NoT_runcate (через пробел), файл не очищается
/L<Каталог> - указывается каталог локализованных ресурсов интерфейса (например, «RU»)
/DisableStartupMessages -Подавляет стартовые сообщения: «Конфигурация базы данных не соответствует сохраненной конфигурации. Продолжить?»; «Возможностей Вашего компьютера недостаточно для редактирования справки по конфигурации. Для редактирования справки необходимо установить Microsoft Internet Explorer версии 6.0 или выше.»; «Возможностей Вашего компьютера недостаточно для редактирования html-документов, в том числе разделов справки. Для редактирования html-документов необходимо установить Microsoft Internet Explorer версии 6.0 или выше. В данном запуске редактирование html-документов будет недоступно.»
/C<Строка текста> - передача параметра в конфигурацию Параметры командной строки пакетного режима конфигуратора:
/DumpIB<Имя файла> -выгрузка информационной базы в командном режиме
/RestoreIB<Имя файла> - загрузка информационной базы в командном режиме
/DumpCfg<имя cf файла> - сохранение конфигурации в файл
/LoadCfg<имя cf файла> - загрузка конфигурации из файла
/UpdateDBCfg [-WarningsAsErrors] - обновление конфигурации базы данных. Если ключ WarningsAsErrors указан (через пробел), то все предупредительные сообщения будут трактоваться как ошибки
/DumpDBCfg<имя cf файла> - сохранение конфигурации базы данных в файл
/RollbackCfg - возврат к конфигурации базы данных
/CheckModules - выполнить синтаксический контроль
/UpdateCfg<имя cf | cfu файла> - обновление конфигурации, находящейся на поддержке
/IBCheckAndRepair [-ReIndex] [-LogIntergrity] [-RecalcTotals] [-IBCompression] [-TestOnly | [-BadRefCreate | -BadRefClear | -BadRefNone]
[-BadDataCreate | -BadDataDelete] ] - выполнить тестирование и исправление информационной базы
ReIndex - реиндексация таблиц
LogIntergrity - проверка логической целостности
RecalcTotals - пересчет итогов
IBCompression - сжатие таблиц
TestOnly - только тестирование
При наличии ссылок на несуществующие объекты:
BadRefCreate - создавать объекты
BadRefClear - очищать объекты
BadRefNone -не изменять
при частичной потере объектов:
BadDataCreate - создавать объекты
BadDataDelete - удалять объекты
Одновременное использование ключей внутри подгруппы параметров не допускается.
Если команда прошла успешно, возвращает код возврата 0, в противном случае — 1 (101, если в данных имеются ошибки).
После выполнения закрывает систему 1С:Предприятие 8.x.
Параметры командной строки пакетного режима создания файлов поставки и обновления:
/CreateDistributionFiles [-cffile<имя cf файла>] [-cfufile <имя cfu файла> [-f<имя cf файла>|-v<версия дистрибутива>]+] - Создание файлов поставки и обновления
-cffile<имя cf файла> - указание создать дистрибутив
-cfufile<имя cfu файла> - указание создать обновление
-f<имя cf файла> - дистрибутив, включаемый в обновление, задан именем
-v<версия дистрибутива>] - дистрибутив, включаемый в обновление, задан версией
Примечание: группа параметров -f<имя cf файла>|-v<версия дистрибутива> повторяется столько раз, сколько файлов дистрибутивов включается в обновление.
Параметры командной строки режима работы с хранилищем конфигурации:
/DepotF - каталог хранилища
/DepotN - имя пользователя хранилища
/DepotP - пароль пользователя хранилища
/DepotDumpCfg<имя cf файла> [-v<номер версии хранилища>] - сохранить конфигурацию из хранилища в файл (пакетный режим)
-v<номер версии хранилища>
v - номер версии, если номер версии не указан, или равен -1, будет сохранена последняя версия.
/DepotUpdateCfg [-v<номер версии хранилища>] [-revised] - Обновить конфигурацию хранилища из файла (пакетный режим)
-v<номер версии хранилища> - номер версии, если номер версии не указан, или равен -1, будет сохранена последняя версия, если конфигурация подключена к хранилищу, то параметр игнорируется
-revised - получать захваченные объекты, если потребуется. Если конфигурация не подключена к хранилищу, то параметр игнорируется.
Параметры командной строки пакетного режима регистрации 1С:Предприятия 8.x в качестве Automation сервера:
/RegServer - регистрация приложения
/UnregServer - удаление регистрации приложения
После выполнения закрывает систему 1С:Предприятие 8.x.
Если значения параметров включают пробелы (например, путь или имя файла), значения должны быть заключены в кавычки.
Ниже приведены примеры командной строки для запуска системы 1С:Предприятие 8.x: С:\1CV8\BIN\1CV8.EXE ENTERPRISE /FDB
Приведенная командная строка означает, что система 1С:Предприятие 8.x будет запущена в режиме «1С:Предприятие», а информационная база находится в подкаталоге «\DB» каталога «С:\1CV8\BIN».
С:\1cv81bin\1cv8.exe enterprise /s Serv06\ZUP /L RU
А эта приведенная командная строка означает, что система 1С:Предприятие 8.x будет запущена в режиме «1С:Предприятие», адрес информационной базы ZUP, хранящейся на сервере 1С:Предприятия Serv06 и интерфейс Русский
Для снятия блокировки установки соединений с информационной базой нужно:
Войти в информационную базу, используя параметр запуска "/UC" с тем же кодом разрешения доступа, который был указан при установке блокировки. Запустить данную обработку, указав в качестве действия блокировки "Снять блокировку соединений". Нажать кнопку "Выполнить".
в cmd start C:\Progra~1\1cv81\bin\1cv8.exe /UC <код доступа>
в ярлыке "C:\Program Files\1cv81\bin\1cv8.exe" ENTERPRISE /F"D:\Конфигурации\Типовые\УпрТорг" /N"ИмяПользователя" /P"Пароль" /UC 456743
Режим предназначен для выполнения конфигуратором административных функций без участия пользователя. Данный режим применяется в специальных случаях. Например, с его помощью можно организовать специальный ярлык на рабочем столе Windows для создания резервной копии информационной базы 1С:Предприятия. При этом пользователю не нужно будет выполнять никаких действий по выбору необходимой функции в конфигураторе и указанию параметров необходимых для сохранения информационной базы. Данный режим может использоваться для организации автоматического выполнения административных функций в определенный момент времени. Для этого используется любое программное обеспечение, имеющее возможность планирования и запуска задач в определенное время. Например, может быть организовано автоматическое создание резервной копии в ночное время суток
Пакетный режим предназначен для выполнения следующих действий:
-тестирование и исправление информационной базы;
-выгрузка данных;
-сохранение данных;
-автообмен распределенной информационной базы (режим доступен, если установлена компонента «Управление распределенными информационными базами»).
Запуск Конфигуратора в пакетном режиме
Для работы Конфигуратора в пакетном режиме следует в командной строке запуска 1С:Предприятия, кроме параметра CONFIG, указывающего на то, что система 1С:Предприятие запускается в режиме «Конфигуратор», указать параметр /@ФайлПакетногоРежима. ФайлПакетногоРежима - это имя файла, содержащего параметры пакетного запуска. Все необходимые функции, которые должны быть выполнены Конфигуратором в пакетном режиме, описываются в этом файле.
Имя файла может задаваться как абсолютным путем, так и относительным.
В случае задания относительным путем файл ищется программой сначала в рабочем каталоге пользователя, затем в каталоге информационной базы, а затем в том каталоге, из которого запускается 1С:Предприятие.Для того, чтобы при пакетном режиме не выдавался диалог запуска 1С:Предприятия и диалог авторизации, в строке запуска должны быть указаны все необходимые параметры:
-параметр CONFIG;
-каталог информационной базы (параметр /D);
-имя пользователя, если для данной информационной базы ведется список пользователей (параметр /N);
-пароль пользователя, если для пользователя задан пароль (параметр /Р).
Файл пакетного режима имеет по умолчанию расширение .prm, если используется другое расширение, то оно должно явно указываться в имени файла.
Ниже приведен пример строки запуска Конфигуратора в пакетном режиме:
c:\1cv7\bin\1cv7.exe CONFIG /Dc:\1cv7\db /NПопов /PSekret /@C:\lCV7\CMD\Backup
Структура файла пакетного режима.
Файл пакетного режима является текстовым файлом и может создаваться и модифицироваться любым текстовым редактором. Структура файла включает секции и параметры, определенные для каждой секции. Секция задается отдельной строкой с именем секции в прямоугольных скобках. Параметры задаются отдельными строками после строки соответствующей секции с указанием имени параметра и значением, отделенным знаком «=». Основная секция General, описывает общие параметры пакетного режима и необходимость выполнения отдельных функций пакетного режима. Остальные секции содержат параметры, описывающие особенности выполнения конкретных функций.
Секция General [General]
Данная секция предназначена для описания общих параметров пакетного режима и необходимости выполнения отдельных функций.
Output=Имя_файла
Указывает файл, в который будет дополнительно направляться вывод записей о выполняемых действиях в пакетном режиме. Имя файла может указываться как абсолютным путем, так и относительно каталога, в котором расположен файл параметров. Формат файла дополнительного вывода совпадает с форматом вывода в журнал регистрации. Если параметр не указан, то дополнительный вывод производиться не будет. В любом случае вывод производится в журнал регистрации
Quit=Значение
Указывает, нужно ли завершать выполнение Конфигуратора после выполнения действий пакетного режима.
Если задано Y или 1, после выполнения действий пакетного режима, программа будет завершена, а если 0 или N, то нет.
Если параметр не задан, то программа будет завершена.
CheckAndRepair=Значение
Указывает, нужно ли выполнять тестирование и исправление информационной базы.
Если задано Y или 1, тестирование и исправление будет выполняться, а если 0 или N, то нет.
Если параметр не задан, то тестирование и исправление выполняться не будет.
UnloadData =3начение
Указывает, нужно ли выполнять выгрузку информационной базы.
Если задано Y или 1, выгрузка будет выполняться, а если 0 или N, то нет.
Если параметр не задан, то выгрузка выполняться не будет.
SaveData=Значение
Указывает, нужно ли выполнять сохранение информационной базы.
Если задано Y или 1, сохранение будет выполняться, а если 0 или N, то нет.
Если параметр не задан, то сохранение выполняться не будет.
AutoExchange=Значение
Указывает, нужно ли выполнять автообмен в распределенной информационной базе.
Если задано Y или 1, автообмен будет выполняться, а если 0 или N, то нет.
Если параметр не задан, то автообмен выполняться не будет.
Подробное описание работы с распределенными информационными базами приведено в книге «Управление распределенными информационными базами».
Секция CheckAndRepair [CheckAndRepair]
Данная секция предназначена для описания выполнения тестирования и исправления информационной базы.
Repair=Значение
Параметр указывает, должно ли выполняться исправление информационной базы.
Если задано значение Y или 1, то будет выполняться тестирование и исправление обнаруженных ошибок в информационной базе.
Если задано значение N или 0, то будет производиться только тестирование.
Если параметр не задан, то будет производиться тестирование и исправление.
PhysicalIntegrity=Значение
Параметр указывает, следует ли производить проверку физической целостности таблиц информационной базы.
Если задано Y или 1, проверка будет производиться, если N или 0, то нет.
Если параметр не задан, проверка будет производиться.
Reindex=Значение
Параметр указывает, следует ли производить реиндексацию таблиц информационной базы.
Если задано Y или 1, реиндексация будет производиться, если N или 0, то нет.
Если параметр не задан, реиндексация будет производиться.
Если установлен режим исправления, то рекомендуется установить и режим реиндексации.
LogicalIntegrity=Значение
Параметр указывает, следует ли производить проверку логической целостности таблиц информационной базы.
Если задано Y или 1, проверка будет производиться, если N или 0, то нет.
Если параметр не задан, проверка будет производиться.
RecalcSecondaries=Значение
Параметр указывает, следует ли производить обновление (пересчет) вторичных данных информационной базы, то есть служебных данных, которые могут быть рассчитаны на основании другой информации, хранящейся в информационной базе.
Если задано Y или 1, обновление будет производиться, если N или 0 - то нет.
Если параметр не задан, обновление будет производиться.
RecalcTotals=Значение
Параметр указывает, следует ли производить пересчет итогов бухгалтерского и оперативного учета.
Если задано Y или 1, пересчет будет производиться, если N или 0 - то нет.
Если параметр не задан, пересчет будет производиться.
Pack=3начение
Параметр указывает, следует ли производить упаковку таблиц информационной базы, то есть освобождать место занятое удаленными записями.
Если задано Y или 1, упаковка будет производиться, если N или 0, то нет.
Если параметр не задан, упаковка не будет производиться.
Данный параметр имеет смысл, только если данные хранятся в формате DBF/CDX.
SkipUnresolved=Значение
Параметр указывает, следует ли пропускать неразрешенные ссылки, или их следует исправлять.
Если задано Y или 1, неразрешенные ссылки будет только диагностироваться, если N или 0, то ссылки будут разрешаться способом, задаваемым параметром CreateForUnresolved (см. ниже).
Если параметр не задан, ссылки будут исправляться.
Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.
CreateForUnresolved=Значение
Параметр указывает способ разрешения неразрешенных ссылок.
Если задано Y или 1, для неразрешенной ссылки будет создан объект соответствующего типа, если N или 0, то ссылка будет очищена.
Если параметр не задан, будет создан объект.
Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.
Reconstruct=Значение
Параметр указывает способ исправления информационной базы в случае, когда данные объекта частично потеряны. Если задано Y или 1, будет создан объект, заполненный имеющимися данными, если N или 0, то данные объекта будут удалены.
Если параметр не задан, будет создан объект.
Параметр имеет смысл только, если проводится тестирование и исправление информационной базы.
Секция UnloadData [UnloadData]
Данная секция предназначена для описания выполнения выгрузки данных информационной базы.
UnloadToFile=Имя_Файла
Параметр указывает имя файла переноса данных, в который будет производиться выгрузка. Может задаваться как абсолютно, так и относительно того каталога, в котором размещается файл параметров.
Параметр должен быть задан обязательно.
IncludeUserDef=Значение
Параметр указывает должен ли в файл переноса данных включаться список пользователей.
Если задано Y или 1, то список пользователей будет включен в файл переноса, если 0 или N, то нет.
Если параметр не задан, то список будет включен в файл переноса.
Password=Пароль
Параметр задает пароль, которым будет закрыт файл переноса данных.
Если параметр не задан, то файл переноса не будет закрыт паролем.
Секция SaveData [SaveData]
Данная секция предназначена для описания выполнения сохранения данных информационной базы.
SaveToFile=Имя_Файла
Параметр указывает имя файла, в который будет производиться сохранение данных. Может задаваться как абсолютно, так и относительно того каталога, в котором размещается файл параметров.
Параметр должен быть задан обязательно.
FileList=Список сохраняемых файлов
Задается как перечисление имен файлов, разделенных пробелами или запятыми. Длинные имена файлов, содержащие пробелы должны заключаться в кавычки "". В именах файлов могут использоваться символы «*» для обозначения групп файлов.
Если параметр не задан, то список сохраняемых файлов будет взят из файла 1CV7FILE.LST, так же как и в случае выполнения сохранения из пункта меню «Администрирование».
Работа в пакетном режиме
Выполнение указанных действий в пакетном режиме производится всегда в строго определенной последовательности, вне зависимости от порядка следования секций и параметров в файле пакетного режима:
1. тестирование и исправление информационной базы;
2. выгрузка данных;
3. сохранение данных;
4. автообмен распределенной информационной базы.
При работе Конфигуратора в пакетном режиме не выполняется выдача предупреждений и запросов, требующих подтверждения пользователя. При возникновении критических ошибок выполнение пакетного режима прекращается. Результаты выполнения пакетного режима можно просмотреть в журнале регистрации и в файле дополнительного вывода, если он был определен в файле параметров пакетного режима.
Комментарий к файлу:
Во время работы будет сформирован лог-файл (Output="D:\Типовые конфигурации\1SBBDemo\log.txt"). Он будет здесь D:\Типовые конфигурации\1SBBDemo\log.tx.
Будет выполнено сохранение данных (SaveData=1) в файл arch.zip (SaveToFile="D:\Типовые конфигурации\1SBBDemo\arch.zip"). После выполения работы - конфигуратор будет закрыт (Quit=1). Информационная база хранится в D:\Типовые конфигурации\1SBBDemo\. Файл пакетного режима харанится в папке базы и называется paket.txt.
Пакетный режим является мощным инструментом. Чаще всего используется для создания архивных копий. Проблема только в том, что он архив делается всегда под одним именем. И чтобы не затирать старые архивы, требуется некоторая изворотливость с конфигурационным файлом пакетного режима. Но здесь огромное поле для фантазии, по этому предоставляю Вам возможность фантазировать.
Метод работает аналогично процедуре Остатки, однако здесь могут быть заданы не все значения измерений, а только несколько,
но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе.
Измерения могут задаваться с пропусками (неуказанное значение — просто запятая), фиксируются только указанные измерения.
Данный метод работает аналогично методу Остаток, однако здесь могут быть заданы не все значения измерений, а только несколько,
но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе.
Измерения могут задаваться с пропусками (неуказанное значение — просто запятая), фиксируются только указанные измерения.
Отзывы об казино 888старс от реальных игроков с опытом игры в данном игровом заведении.
Метод работает аналогично процедуре Итоги, однако здесь могут быть заданы не все значения измерений, а только несколько, но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе.
Измерения могут задаваться с пропусками (неуказанное значение -просто запятая), фиксируются только указанные измерения.
Данный метод работает аналогично методу Итог, однако здесь могут быть заданы не все значения измерений, а только несколько, но обязательно в правильной последовательности, соответствующей структуре измерений данного регистра, как она задана в конфигураторе.
Измерения могут задаваться с пропусками (неуказанное значение — просто запятая), фиксируются только указанные измерения.
NULL – отсутствующие значения.
Не путать с нулевым значением! NULL – это не число, не равно пробелу, пустой ссылке, Неопределено.
NULL – типообразующее значение, т.е. есть тип NULL и единственное значение этого типа.
NULL значения появляются в запросе в следующих ситуациях:
а) Внешнее соединение, при котором не было найдено соответствующей записи в другой таблице (при левом – во второй, при правом – в первой, при полном – в обоих)
б) Обращение к реквизитам элементов для группы и наоборот.
в) NULL в списке полей выборки (ВЫБРАТЬ)
г) Обращение к реквизитам для битой ссылки
ЕСТЬ NULL используется в операторе ВЫБРАТЬ (как бы проверя, что значение это есть пустое ( Значение ЕСТЬ NULL )):
еще пример:
Функция ЕСТЬNULL (значение, РезультатЕслиNULL) возвращает значение своего первого параметра, в случае если он не равен NULL, и значение второго параметра в противном случае
Является свернутым ВЫБОР…КОНЕЦ, но ЕСТЬNULL предпочтительнее.
еще пример:
В данном примере получаются все элементы справочника номенклатуры, после чего, для каждой номенклатуры из регистра накопления получаются текущие остатки. Т.к. для номенклатуры, по которой отсутствуют остатки, виртуальная таблица остатков не запись вернет, то в результате соединения в поле "УчетНоменклатурыОстатки.КоличествоОстаток" будут значения NULL для номенклатуры, по которой не было остатков. Для того чтобы вместо значения NULL в результате запроса присутствовало значение 0, мы использовали функцию ЕСТЬNULL(), которая осуществит желаемую замену.
ЕСТЬNULL отличается от ВЫБОР по следующим причинам:
а) При ЕСТЬNULL лучше читается запрос (проще)
б) При ЕСТЬNULL, если проверяется сложное выражение, то работает быстрее, поскольку вычисляется один раз
в) При ЕСТЬNULL выражение замены приводится к типу проверяемого выражения, если оно имеет тип Строка (длина) или Число (разрядность).
Нельзя проверять значения на NULL обычным равенством, потому что в SQL действует трехзначная логика – Истина, Ложь, NULL, и результатом такого сравнения будет UNKNOWN, что в 1С 8.0 аналогично ЛОЖЬ.
NULL <> 0, поэтому при левых внешних соединениях спр. Номенклатура с таблицами остатков, цен, Контрагентов со взаиморасчетами при отсутствии таких записей там будет NULL, который не равен 0. Лучшее решение – ЕСТЬNULL