Подскажите пожалуйста, формирую отчет по остаткам сумм на бух счетах.
В запросе необходимо выбрать конкретные счета для вывода остатков.Но план счетов нетиповой, имеются счета, с маской ******** в которых присутствуют пробелы, т.е формат 1110 21, 1030 25 итд.Пробел чем то заменить нельзя. По законодательству только так.
Как в запросе этот пробел проставить? Пробовала и @ и нижнее подчеркивание, но при выводе отчета вылезает ошибка что такого счета нет (с нижним пробелом) или что задано неверное имя атрибута структуры.
Устанавливаем на сервер лицензию на 20 раб. мест, проходит все этапы и пишет что лицензия получена.
Но в программу 1С не заходит, выдает что как-будто изменилась конфигурация компьютера: Ошибка программного лицензирования. Ошибка привязки программной лицензии к компьютеру
Точно ни кто и ничего не менял в компьютере, пробовал удалять лицензию и делать восстановление - опять просит лицензию
Подробное описание ошибки:
Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!
по причине:
Поиск лицензии на клиенте:
локальный ключ недоступен: Status=-10, ORGL8 Локальный, не установлен
Ошибка программного лицензирования. Файл программной лицензии не предусматривает возможность запуска клиентских приложений 1С:Предприятия или внешних соединений: file://C:/ProgramData/1C/licenses/20170928112353.lic
Ошибка программного лицензирования. Ошибка привязки программной лицензии к компьютеру: file://C:/ProgramData/1C/licenses/20180305020153.lic
DISK_2: HP LOGICAL VOLUME SCSI Disk Device, SCSI\DISK&VEN_HP&PROD_LOGICAL_VOLUME\5&13B98741&0&000400, 512, 63, 26107, 255, 6657285, 419408955, 214737384960
DISK_1: HP LOGICAL VOLUME SCSI Disk Device, SCSI\DISK&VEN_HP&PROD_LOGICAL_VOLUME\5&13B98741&0&000500, 512, 63, 95489, 255, 24349695, 1534030785, 785423761920
NET_10: [00000011] HP Ethernet 1Gb 2-port 332i Adapter, 94:18:82:33:49:00
NET_9: [00000010] HP Ethernet 1Gb 2-port 332i Adapter, 94:18:82:33:49:01
BIOS_0: HP, 20170117000000.000000+000, U23, 2, 8
локальный ключ недоступен: Status=-10, ORG8A Локальный, не установлен
локальный ключ недоступен: Status=-10, ORG8B Локальный, не установлен
nethasp.ini: C:/Program Files/1cv8/conf/nethasp.ini, прочитан успешно, ошибка соединения с менеджером лицензий: Net Status=0, System Error=0, Warning=15, ORGL8 Сетевой, не установлен
nethasp.ini: C:/Program Files/1cv8/conf/nethasp.ini, прочитан успешно, ошибка соединения с менеджером лицензий: Net Status=0, System Error=0, Warning=15, ORG8A Сетевой, не установлен
nethasp.ini: C:/Program Files/1cv8/conf/nethasp.ini, прочитан успешно, ошибка соединения с менеджером лицензий: Net Status=0, System Error=0, Warning=15, ORG8B Сетевой, не установлен
Поиск лицензии на сервере:
локальный ключ недоступен: Status=-100, ORGL8 Локальный, не установлен
Решение:
Удалите на компьютере все файлы 1cv8conn.pfl
Если после этого лицензия не найдена - восстановите ее по активному пин-коду.
После удачного входа, увидеть лицензию можно здесь:
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос. Создается этот объект вызовом конструкции Новый Запрос. Запрос удобно использовать, когда требуется получить сложную выборку данных, сгруппированную и отсортированную необходимым образом. Классический пример применения запроса - получение сводки по состоянию регистра накопления на определенный момент времени. Так же, механизм запросов позволяет легко получать информацию в различных временных разрезах.
Текст запроса – это инструкция, в соответствии с которой должен быть выполнен запрос. В тексте запроса описывается:
таблицы информационной базы, используемые в качестве источников данных запроса;
поля таблиц, которые требуется обрабатывать в запросе;
правила группировки;
сортировки результатов;
и т. д.
Инструкция составляется на специальном языке – языке запросов и состоит из отдельных частей – секций, предложений, ключевых слов, функций, арифметических и логических операторов, комментариев, констант и параметров.
Язык запросов платформы 1С очень похож на синтаксис других SQL-языков, но имеются отличия. Основными преимуществами встроенного языка запросов являются: разыменование полей, наличие виртуальных таблиц, удобная работа с итогами, нетипизированные поля в запросах.
Рекомендации по написанию запросов к базе данных на языке запросов платформы 1С:
1) Текст запроса может содержать предопределенные данные конфигурации, такие как:
значения перечислений;
предопределенные данные:
справочников;
планов видов характеристик;
планов счетов;
планов видов расчетов;
пустые ссылки;
значения точек маршрута бизнес-процессов.
Также текст запроса может содержать значения системных перечислений, которые могут быть присвоены полям в таблицах базы данных: ВидДвиженияНакопления, ВидСчета и ВидДвиженияБухгалтерии. Обращение в запросах к предопределенным данным конфигурации и значениям системных перечислений осуществляется с помощью литерала функционального типа ЗНАЧЕНИЕ. Данный литерал позволяет повысить удобочитаемость запроса и уменьшить количество параметров запроса.
Пример использования литерала ЗНАЧЕНИЕ:
ГДЕ Город = ЗНАЧЕНИЕ(Справочник.Города.Москва)
ГДЕ Город = ЗНАЧЕНИЕ(Справочник.Города.ПустаяСсылка)
ГДЕ ТипТовара = ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Услуга)
ГДЕ ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход)
ГДЕ ТочкаМаршрута = ЗНАЧЕНИЕ(БизнесПроцесс.БизнесПроцесс1.ТочкаМаршрута.Действие1
2) Использование инструкции АВТОУПОРЯДОЧИВАНИЕ в запросе может сильно время выполнения запроса, поэтому, если сортировка не требуется, то лучше вообще ее не использовать. Во большинстве случаях лучше всего применять сортировку с помощью инструкции УПОРЯДОЧИТЬ ПО.
Автоупорядочивание работает по следующим принципам:
Если в запросе было указано предложение УПОРЯДОЧИТЬ ПО, то каждая ссылка на таблицу, находящаяся в этом предложении, будет заменена полями, по которым по умолчанию сортируется таблица (для справочников это код или наименование, для документов – дата документа). Если поле для упорядочивания ссылается на иерархический справочник, то будет применена иерархическая сортировка по этому справочнику.
Если в запросе отсутствует предложение УПОРЯДОЧИТЬ ПО, но есть предложение ИТОГИ, тогда результат запроса будет упорядочен по полям, присутствующим в предложении ИТОГИ после ключевого слова ПО, в той же последовательности и, в случае если итоги рассчитывались по полям – ссылкам, то по полям сортировки по умолчанию таблиц, на которые были ссылки.
Если в запросе отсутствуют предложения УПОРЯДОЧИТЬ ПО и ИТОГИ, но есть предложение СГРУППИРОВАТЬ ПО, тогда результат запроса будет упорядочен по полям, присутствующим в предложении, в той же последовательности и, в случае если группировка велась по полям – ссылкам, то по полям сортировки по умолчанию таблиц, на которые были ссылки.
В случае же, если в запросе отсутствуют предложения и УПОРЯДОЧИТЬ ПО, ИТОГИ и СГРУППИРОВАТЬ ПО, результат будет упорядочен по полям сортировки по умолчанию для таблиц, из которых выбираются данные, в порядке их появления в запросе.
В случае, если запрос содержит предложение ИТОГИ, каждый уровень итогов упорядочивается отдельно.
3) Что бы избежать повторного запроса к базе данных при выводе результата запроса пользователю (например, построение запроса или отображение результата запроса с помощью табличного документа) полезно использовать инструкцию ПРЕДСТАВЛЕНИЕССЫЛКИ, которая позволяет получать представление ссылочного значения. Пример:
Так же возможно использование инструкции ПРЕДСТАВЛЕНИЕ - предназначена для получения строкового представления значения произвольного типа. Отличие этих инструкций в том, что в первом случае, если инструкции передать ссылку, результатом будет строка, В остальных случаях результатом будет значение переданного параметра. Во втором случае, результатом инструкции всегда будет строка!
4) Если в запросе имеется поле с составным типом, то для таких полей возникает необходимость привести значения поля к какому-либо определенному типу с помощью инструкции ВЫРАЗИТЬ, что позволит убрать лишние таблицы из левого соединения с полем составного типа данных и ускорить выполнение запроса. Пример:
Имеется регистра накопления ОстаткиТоваров, у которого поле Регистратор имеет составной тип. В запросе выбираются Дата и Номер документов ПоступлениеТоваров, при этом при обращении к реквизитам документа через поле Регистратор не происходит множество левых соединений таблицы регистра накопления с таблицами документов-регистраторов.
Если приведение типа считается не осуществимым, то результатом приведения типа будет значение NULL.
5) Не стоит забывать про инструкцию РАЗРЕШЕННЫЕ, которая означает, что запрос выберет только те записи, на которые у текущего пользователя есть права. Если данное слово не указать, то в случае, когда запрос выберет записи, на которые у пользователя нет прав, запрос отработает с ошибкой.
6) В случае, если в запросе используется объединение, и в некоторых частях объединения присутствуют вложенные таблицы (документ с табличной частью), а в некоторых нет, возникает необходимость дополнения списка выборки полями – пустыми вложенными таблицами. Делается это при помощи ключевого слова ПУСТАЯТАБЛИЦА, после которого в скобках указываются псевдонимы полей, из которых будет состоять вложенная таблица. Пример:
7) Что бы в результат запроса не попали повторяющиеся строки, следует использовать инструкцию РАЗЛИЧНЫЕ, потому что так нагляднее и понятнее, а инструкция СГРУППИРОВАТЬ ПО применяется для группировки с помощью агрегатных функций. Ксати, при использовании агрегатных функций предложение СГРУППИРОВАТЬ ПО может быть и не указано совсем, при этом все результаты запроса будут сгруппированы в одну единственную строку. Пример:
8) Инструкция СГРУППИРОВАТЬ ПО позволяет обращаться к полям верхнего уровня, без группировки результатов по этим полям, если агрегатные функции применены к полям вложенной таблицы. Хотя в справке 1С написано, при группировке результатов запроса в списке полей выборки обязательно должны быть указаны агрегатные функции, а помимо агрегатных функций в списке полей выборки допускается указывать только поля, по которым осуществляется группировка. Пример:
9) Инструкция ЕСТЬNULL предназначена для замены значения NULL на другое значение, но не забываем, что второй параметр будет преобразован к типу первого в случае, если тип первого параметра является строкой или числом.
10) При обращении к главной таблице можно в условии обратиться к данным подчиненной таблицы. Такая возможность называется разыменование полей подчиненной таблицы.
Пример (поиск документов, содержащих в табличной части определенный товар):
Преимущество этого запроса перед запросом к подчиненной таблице Приходная.Товары в том, что если есть дубли в документах, результат запроса вернет только уникальные документы без использования ключевого слова РАЗЛИЧНЫЕ.
11) Интересный вариант оператора В - это проверка вхождения упорядоченного набора в множество таких наборов (Поле1, Поле2, ... , ПолеN) В (Поле1, Поле2, ... , ПолеN).
Пример:
12) При любой возможности используйте виртуальные таблицы запросов. При создании запроса система предоставляет в качестве источников данных некоторое количество виртуальных таблиц - это таблицы, которые так же являются результатом запроса, который система формирует в момент выполнения соответствующего участка кода.
Разработчик может самостоятельно получить те же самые данные, которые система предоставляет ему в качестве виртуальных таблиц, однако алгоритм получения этих данных не будет оптимизирован, так как:
Все виртуальные таблицы параметризованы, т. е. разработчику предоставляется возможность задать некоторые параметры, которые система будет использовать при формировании запроса создания виртуальной таблицы. В зависимости от того, какие параметры виртуальной таблицы указаны разработчиком, система может формировать РАЗЛИЧНЫЕ запросы для получения одной и той же виртуальной таблицы, причем они будут оптимизированы с точки зрения переданных параметров.
Не всегда разработчик имеет возможность получить доступ к тем данным, к которым имеет доступ система.
13) В клиент-серверном варианте работы функция ПОДСТРОКА() реализуется при помощи функции SUBSTRING() соответствующего оператора SQL, передаваемого серверу баз данных SQL Server, который вычисляет тип результата функции SUBSTRING() по сложным правилам в зависимости от типа и значений ее параметров, а так же в зависимости от контекста, в котором она используется. В большинстве случаев эти правила не оказывают влияния на выполнение запроса, но бывают случаи, когда для выполнения запроса существенна максимальная длина строки результата, вычисленная SQL Server. Важно иметь в виду, что в некоторых контекстах использования функции ПОДСТРОКА() максимальная длина ее результата может оказаться равной максимальной длине строки ограниченной длины, которая в SQL Server равна 4000 символам. Это может привести к неожиданному аварийному завершению выполнения запроса:
Microsoft OLE DB Provider for SQL Server: Warning: The query processor could not produce a query plan from the optimizer because the total length of all the columns in the GROUP BY or ORDER BY clause exceeds 8000 bytes.
HRESULT=80040E14, SQLSTATE=42000, native=8618
Чтобы избежать такой ошибки, не рекомендуют использовать функцию ПОДСТРОКА() с целью приведения строк неограниченной длины к строкам ограниченной длины. Вместо нее лучше использовать операцию приведения типа ВЫРАЗИТЬ().
14) С осторожностью используйте ИЛИ в конструкции ГДЕ, так как использование условия с ИЛИ может значительно "утяжелить" запрос. Решить проблему можно конструкцией ОБЪЕДИНИТЬ ВСЕ. Пример:
15) Условие НЕ В в конструкции ГДЕ увеличивает время исполнения запроса, так как это своего рода НЕ (ИЛИ1 ИЛИ2 ... ИЛИn), поэтому для больших таблиц старайтесь использовать ЛЕВОЕ СОЕДИНЕНИЕ с условием ЕСТЬ NULL. Пример:
16) При использовании Временных таблиц нужно индексировать поля условий и соединений в этих таблицах, НО, при использовании индексов запрос может выполняться еще медленнее. Поэтому необходимо анализировать каждый запрос с применением индекса и без, замерять скорость выполнения запроса и принимать окончательное решение.
Если вы помещаете во временную таблицу данные, которые изначально индексированы по некоторым полям, то во временной таблице индекса по этим полям уже не будет.
17) Если вы не используете Менеджер временных таблиц, то явно удалять временную таблицу не требуется, она будет удалена после завершения выполнения пакетного запроса, иначе следует удалить временную таблицу одним из способов: командой УНИЧТОЖИТЬ в запросе, вызвать метод МенеджерВременныхТаблиц.Закрыть().
Очень часто менеджеры дублируют информацию в справочниках и время от времени их приходится чистить.
Но как удалить только те элементы справочника, которые не используются в документах?
Следующий пример кода поможет это сделать(в примере обрабатывается 4 справочника: Сотрудники, ФизЛица, Договора и Контрагенты) Скачать: Обработка для УТ 10:
Связка сервера 1С:Предприятие и PostgreSQL вторая по популярности среди установок 1С и самое используемое решение на платформе Linux. В отличии внедрений на базе Windows и MSSQL, где трудно сделать так, чтобы не заработало, внедрения на базе Linux таят множество подводных камней для неопытного администратора. Часто бывает так, что вроде бы все сделано правильно, но ошибка следует за ошибкой. Сегодня мы рассмотрим самые типовые из них.
Общая информация
Перед тем, как начинать искать ошибки установки и, вообще, приступать к внедрению серверной версии 1С:Предприятия было бы неплохо освежить представление как это работает:
Сервер 1С Предприятия. Часть 1 - Общие вопросы.
В небольших внедрениях сервер 1С и сервер СУБД обычно совмещают на одном физическом сервере, что немного сужает круг возможных ошибок. В нашем случае будет рассматриваться ситуация, когда сервера разнесены по разным машинам. В нашей тестовой лаборатории мы развернули следующую схему:
В нашем распоряжении имеются два сервера под управлением Ubuntu 12.04 x64, на одном из них установлен сервер 1С:Предприятие версии 8.3, на другом PostgreSQL 9.04 от Ethersoft, а также клиент под управлением Windows. Напоминаем, что клиент работает только с сервером 1С, который, в свою очередь, формирует необходимые запросы к серверу СУДБ. Никаких запросов от клиента к серверу управления базами данных не происходит.
Сервер баз данных не обнаруженВАЖНО: пользователь "postgres" не прошёл проверку подлинности (Ident)
Данная ошибка возникает при разнесении серверов по разным ПК из-за неправильно настроеной проверки подлинности в локальной сети. Для устранения откройте /var/lib/pgsql/data/pg_hba.conf, найдите строку:
host all all 192.168.31.0/24 ident[/pre]
и приведите ее к виду:
host all all 192.168.31.0/24 md5[/pre]
где 192.168.31.0/24 - диапазон вашей локальной сети. Если такой строки нет, ее следует создать в секции IPv4 local connections.
Сервер баз данных не обнаруженcould not translate host name "NAME" to address: Temporary failure in name resolution
На первый взгляд ошибка понятна: клиент не может разрешить имя сервера СУБД, типичная ошибка для небольших сетей, где отсутствует локальный DNS-сервер. В качестве решения добавляют запись в файлhosts на клиенте, что не дает никакого результата...
А теперь вспоминаем, о чем было сказано несколько раньше. Клиентом сервера СУБД является сервер 1С, но никак не клиентский ПК, следовательно запись нужно добавлять на сервере 1С:Предприятие в файл/etc/hosts на платформе Linux или в C:\Windows\System32\drivers\etc\hosts на платформе Windows.
Аналогичная ошибка будет возникать, если вы забыли добавить запись типа A для сервера СУБД на локальном DNS-сервере.
Ошибка при выполнении операции с информационной базойserver_addr=NAME descr=11001(0x00002AF9): Этот хост неизвестен.
Как и прошлая, эта ошибка связана с неправильным разрешением клиентом имени сервера. На этот раз именно клиентским ПК. В качестве решения добавляем в файл /etc/hosts на платформе Linux или в C:\Windows\System32\drivers\etc\hosts на платформе Windows запись вида:
192.168.31.83SRV-1C-1204[/pre]
где указываете адрес и имя вашего сервера 1С:Предприятия. В случае использования локального DNS следует добавить A-запись для сервера 1С.
Ошибка СУБД: DATABASE не пригоден для использования
Гораздо более серьезная ошибка, которая говорит о том, что вы установили несовместимую с 1С:Предприятие версию PostgreSQL или допустили грубые ошибки при установке, например не установили все необходимые зависимости, в частности библиотеку libICU.
Если вы имеете достаточный опыт администрирования Linux систем, то можете попробовать доустановить необходимые библиотеки и заново инициализировать кластер СУБД. В противном случае PostgreSQL лучше переустановить, не забыв удалить содержимое папки /var/lib/pgsql.
Также данная ошибка может возникать при использовании сборок 9.1.x и 9.2.x Postgre@Etersoft, подробности смотрите ниже.
Ошибка СУБД: ERROR: could not load library "/usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so"
Довольно специфичная ошибка, характерная для сборок 9.1.x и 9.2.x Postgre@Etersoft, также может приводить предыдущей ошибке. Причина кроется в неисправленной ошибке в библиотеке fasttrun.so. Решение - откатиться на сборку 9.0.x Postgre@Etersoft.
Ошибка СУБДERROR: type "mvarchar" does not exist at character 31
Возникает если база данных была создана без помощи системы 1С:Предприятия. Помните, для работы с 1С базы данных следует создавать только с использованием инструментов платформы 1С: через консоль Администрирование серверов 1С Предприятия
или через средство запуска 1С.
Сервер баз данных не обнаруженВАЖНО: пользователь "postgres" не прошёл проверку подлинности (по паролю)
Очень простая ошибка. Неправильно указан пароль суперпользователя СУБД postgres. Вариантов решения два: вспомнить пароль или изменить его. Во втором случае вам нужно будет изменить пароль в свойствах всех существующих информационных баз через оснастку Администрирование серверов 1С Предприятия.
Сервер баз данных не обнаруженFATAL: database "NAME" does not exist
Еще одна очень простая ошибка. Смысл ее сводится к тому, что указанная БД не существует. Чаще всего возникает из-за ошибки в указании имени базы. Следует помнить, что информационная база 1С в кластере и база данных СУБД - две разные сущности и могут иметь различные имена. Также следует помнить, что Linux системы чувствительны к регистру и для них unf83 и UNF83 два разных имени.
Бывают ситуации, когда в запросе требуется получить остатки не на фиксированную дату (параметр - один на весь отчет), а на произвольную, (когда дата остатков в каждой строке своя).
Существует несколько способов получить нужные данные.
1.Непосредственно в запросе (через реальную таблицу регистра)
Способ подходит практически для любой ситуации, и поэтому наиболее универсален. Единственный, пожалуй, минус этого способа - если в отчете пользователю не требуется курс, то запрос быдет выбирать избыточные данные.
Вызов СрезПоследних() можно использовать только с передачей в него заранее готового значения даты, на которую требуется получить значения. Поэтому сабж делается через стыковку нескольких запросов - основной, к нему стыкуется запрос по регистру сведений с условием по дате и поиском записи с максимальной датой (периодом).
Для общего развития: Что есть срез последних в платформе?
В зависимости от периодичности регистра (по времени, по позизии регистратора) ВТ разворачивается в следующий запрос:
1. По времени (год, месяц, ... секунда)
2. По позиции регистратора
В данном случае нужно еще раз обернуть выборку
Все это можно увидеть посмотрев технологический журнал с включенным режимом протоколирования запросов
2.Система компоновки данных (передача набора значений одной таблицы в параметр виртуальной таблицы)
Данный способ подходит для отчетов. Из очевидных плюсов - если курс (или другие данные) не нужны для построения отчета, то СКД не будет их получать. Однако быстродействие такого отчета может оказаться и несколько ниже, чем в первом способе.
Для примера сделаем отчет - список заказов покупателей.
Для этого создадим набор данных "Документы" - запрос:
Для того, чтобы потом успешно свзать наборы данных, в запрос необходимо включить поля "Дата" и "ВалютаДокумента". Чтобы они не появлялись в списке доступных полей, если это необходимо, их можно убрать, установив флажки ограничений в таблице "Поля" схемы компоновки. В остальном запрос вряд ли требует комментариев.
Для того, чтобы получить информацию о курсах валют, добавим второй набор данных-запрос, "Курсы валют":
В этом запросе имеются 2 параметра: "Дата" и "Валюта". Эти параметры будут установлены СКД при соединении наборов. Кроме того, параметр "Дата" указан в выбранных полях - это нужно для соединения таблиц.
Для ненужный полей "Дата" и "Валюта" также устанавливаем флажки ограничений, чтобы они не появлялись в доступных полях.
Перейдем к соединению наборов. На странице "Связи наборов данных" добавим 2 связи:
1. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "Дата", выражение приемник - "Дата", Параметр - "Дата"
2. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "ВалютаДокумента", выражение приемник - "Валюта", Параметр - "Валюта"
Главное здесь - параметры связи. При соединении наборов данных, если указан параметр, СКД передает в подчиненный набор (в нашем случае - запрос "Курсы валют") параметры, указанные в соединении. Значениями параметров будут значения соответствующих полей набора-источника.
Перейдем к вычисляемым полям. Добавим вычисляемое поле "СуммаВВалютеУпрУчета". Выражение поля - "СуммаДокумента * Курс / Кратность".
Также укажем поля "СуммаДокумента" и "СуммаВВалютеУпрУчета" как ресурсы
Настроим отчет.
Добавим одну группировку "Детальные записи", в выбранных полях укажем "ЗаказПолкупателя", "Курс" и "Кратность". Добавим ресурсы "СуммаДокумента" и "СуммаВВалютеУпрУчета"
Хранилище конфигурации предназначено для коллективной разработки конфигурации. В хранилище сохраняется история разрабатываемой конфигурации, а также информация о том, когда и кто вносил изменения в конфигурацию. Разработка конфигурации с использованием хранилища может вестись неограниченным числом пользователей.
Принцип работы
Хранилище конфигурации представляет собой базу данных, в которой сохраняются все изменения конфигурации, сделанные в процессе её разработки. После подключения информационной базы к хранилищу из него в информационную базу загружается последняя версия конфигурации, и все объекты метаданных конфигурации становятся недоступными для редактирования.
Гранулой редактирования - объектами разработки - являются все основные объекты метаданных (такие как справочники, документы, регистры сведений), а также формы и макеты. Объекты разработки могут редактироваться независимо друг от друга разными пользователями. Реквизиты, табличные часть и т.д. не являются отдельными объектами с логической точки зрения, поэтому они не были включены в состав объектов разработки. Данные объекты метаданных редактируются в составе своих родительских объектов, являющихся объектами разработки.
Для получения возможности редактирования объекта необходимо произвести его захват в хранилище. При выполнении захвата из хранилища будет получена (в случае наличия) новая версия объекта разработки. После внесения изменений объект необходимо поместить в хранилище, после этого обновленная версия объекта становится доступной для других пользователей, участвующих в процессе разработки конфигурации. Если же изменения не должны быть помещены в хранилище, то предусмотрена процедура отмены захвата, при которой из хранилища получается старая версия объекта разработки. Таким образом, можно выделить четыре простейшие операции работы с хранилищем: захват объекта в хранилище;
помещение объекта в хранилище;
получение объекта из хранилища;
отмена захвата в хранилище.
Для параллельной разработки конфигурации в хранилище используется стратегия пессимистической блокировки: в то время, пока объект разработки редактируется одним пользователем, другие пользователи не имеют возможности его редактировать.
Стоит обратить внимание на тот факт, что при подключении информационной базы к хранилищу конфигурации происходит полная замена текущей редактируемой конфигурации конфигурацией хранилища . Это необходимо для обеспечения полного соответствия идентификаторов объектов метаданных. Если все же имеется информационная база, часть объектов метаданных конфигурации которой необходимо перенести в конфигурацию хранилища, то необходимо: выгрузить конфигурацию из информационной базы в файл,
подключить информационную базу к хранилищу конфигурации,
выполнить захват объектов, которые необходимо заместить,
произвести объединение с требуемой конфигурацией.
Важно понимать, что предметом разработки является конфигурация, а не отдельные объекты. Хранилище ведет историю развития конфигурации. При помещении объектов разработки в хранилище создается новая версия конфигурации, для которой записываются: дата создания версии, пользователь, создавший версию, а также списки объектов разработки, которые были добавлены, изменены, удалены в процессе получения данной версии конфигурации. История объектов разработки не ведется. Несмотря на то, что имеется возможность просмотра истории объекта разработки, отдельно загрузить из хранилища объект разработки какой-либо версии конфигурации невозможно, возможна лишь загрузка из хранилища версии конфигурации целиком. Однако все же имеется возможность получения объекта определенной версии конфигурации: необходимо захватить объект и выполнить объединение с версией конфигурации, в которой данный объект имеет требуемое состояние.
При создании новой версии конфигурации хранилища имеется возможность записать комментарий к этой версии. Рекомендуется комментировать версии конфигурации, для того чтобы впоследствии можно было понять, что именно было изменено в данной версии конфигурации. Для наиболее значимых версий (например: выпуск релиза) рекомендуется также устанавливать метку - строку, кратко описывающую версию конфигурации хранилища.
В процессе разработки конфигурации с использованием хранилища рекомендуется периодически получать актуальное состояние объектов разработки. Это позволяет избежать возможных трудностей при помещении объектов в хранилище (например при удалении объектов метаданных из конфигурации).
Средства работы с хранилищем конфигурации позволяют просматривать историю версий конфигурации хранилища, сохранять конфигурацию определенной версии в файл, сравнивать с другими версиями конфигурации данного хранилища или же сравнивать с другой конфигурацией из файла.
Если по каким-либо причинам хранилище конфигурации недоступно, то имеется возможность продолжать работу с объектами разработки, захваченными ранее в хранилище. Таким образом, можно вести разработку, не имея постоянной непосредственной связи с хранилищем конфигурации.
Режимы использования
Для работы с хранилищем конфигурации предусмотрено несколько способов: с подключением информационной базы к хранилищу;
без подключения информационной базы к хранилищу.
Данные режимы отличаются друг от друга как набором функциональности, предоставляемой платформой 1С:Предприятия, так и своим предназначением.
Работа с подключением информационной базы к хранилищу
Этот режим является основным режимом работы с хранилищем. Он используется для групповой разработки конфигурации несколькими пользователями.
Работа в данном режиме начинается с процедуры подключения информационной базы к хранилищу. К одному хранилищу может быть одновременно подключена одна информационная база от имени одного пользователя. Если пользователь, у которого уже имеется информационная база, подключенная к данному хранилищу, произведет попытку подключения другой информационной базы, то ему будет выдано соответствующее предупреждение. Если же подключение все же будет осуществлено, то прежняя информационная база уже не сможет работать с данным хранилищем конфигурации без предварительного отключения от него. Аутентификация в хранилище от имени пользователя, не подключавшего данную информационную базу к хранилищу, невозможна.
При подключении информационной базы к хранилищу в нем регистрируется строка соединения с информационной базой. Если при последующих соединениях с хранилищем данная строка будет изменена (по каким-либо причинам информационная база была перемещена на другой ресурс), то платформой будет выдано соответствующе предупреждение, и, в случае подтверждения соединения, строка соединения будет обновлена. Если соединение происходило копией информационной базы, то работа оригинала с данным хранилищем будет невозможна без предварительного отключения от него.
Работа без подключения информационной базы к хранилищу
Режим обеспечивает возможность просмотра и администрирования хранилища без подключения к нему, т.е. без замены редактируемой конфигурации конфигурацией хранилища. В данном режиме пользователь может получить конфигурацию определенной версии хранилища, посмотреть историю конфигурации или отдельных объектов разработки, произвести действия по редактированию прав пользователей или изменению их состава.
Работа в данном режиме начинается с открытия хранилища конфигурации, данная процедура заключается в аутентификации пользователя в хранилище, которая будет автоматически предложена при выполнении любого первого действия с хранилищем в данной сессии работы Конфигуратора. Для открытия другого хранилища в данной сессии Конфигуратора необходимо закрыть текущее хранилище конфигурации, выполнив соответствующий пункт меню.
Предполагается, что данный режим будет использоваться для подготовки дистрибутивов конфигураций на основе файлов выгрузки информационных баз. Данная процедура может выглядеть следующим образом:
Создать новую информационную базу.
Открыть хранилище конфигурации.
Из хранилища конфигурации загрузить конфигурацию нужной версии.
Произвести заполнение информационной базы необходимыми данными.
Произвести подготовку дистрибутива конфигурации.
В процессе модернизации конфигурации хранилища для выпуска новых дистрибутивов необходимо повторить процедуру, начиная с пункта 2, и, если новых данных вводить не требуется, сразу выполнить подготовку дистрибутива.
Контроль ссылочной целостности
Стандартные механизмы контроля ссылочной целостности конфигурации обеспечивают контроль на уровне объектов метаданных: нельзя, например, удалить из конфигурации справочник, если на него ссылается реквизит документа и т.д. На уровне интерфейсов, форм и макетов такой контроль не ведется.
Пример: удаление справочника Склады из демонстрационной конфигурации ":
происходит проверка имеющихся на этот объект ссылок в других объектах:
"Справочник.Склады" использован в: Документ.ПриходнаяНакладная.Реквизит.Склад.Тип
Документ.РасходнаяНакладная.Реквизит.Склад.Тип
РегистрНакопления.УчетНоменклатуры.Измерение.Склад.Тип
после удаления обнаруженных ссылок справочник Склады успешно удаляется из конфигурации, хотя ссылка не него по-прежнему имеется в интерфейсе Основной (кнопка Склады из подменю Справочники содержит действие "Склады: Открыть справочник") и формах документов ПриходнаяНакладная, РасходнаяНакладная (поля ввода, предназначенные для редактирования реквизитов Склад по-прежнему имеют тип СправочникСсылка.Склады).
При разработке конфигурации без использования хранилища этого вполне хватает. Однако для параллельной разработки конфигурации такой контроль ссылочной целостности недостаточен.
Хранилище конфигурации обеспечивает более строгий контроль ссылочной целостности конфигурации. Производится полный контроль ссылок между объектами метаданных как на уровне самих объектов, так и на уровне содержимого их форм и макетов, а также содержимого интерфейсов.
Следствием этого факта является необходимость получения из хранилища (помещения в хранилище) объектов, так или иначе связанных с объектом, над которым непосредственно производится действие. Однако хранилище конфигурации производит анализ ссылок объекта и требует получения (помещения) дополнительных объектов только в случае необходимости.
Анализ ссылок производится рекурсивно: сначала производится анализ объекта, с которым производится действие в хранилище; затем при обнаружении необходимости выполнения операции над дополнительными объектами аналогичный анализ производится для них, и так до тех пор, пока ссылки всех требуемых объектов не будут проанализированы.
Особенности конфигурирования
Разработка конфигурации в информационной базе, подключенной к хранилищу конфигурации, имеет некоторые особенности.
Как уже говорилось ранее, для получения возможности редактирования объекта необходимо произвести его захват в хранилище конфигурации. Если необходимо внести изменения в объект метаданных, не являющийся объектом разработки (реквизиты, табличные части), то необходимо произвести захват того объекта разработки, который содержит данные объекты метаданных.
Для добавления нового объекта метаданных или же для изменения порядка следования существующих объектов необходимо произвести захват родительского объекта разработки.
Удаление объектов конфигурации
Особое внимание стоит уделить процедуре удаления объектов метаданных из конфигурации. Для удаления объекта метаданных из конфигурации необходимо захватить в хранилище сам удаляемый объект, его родительский объект, а также все подчиненные объекты удаляемого. После чего появится возможность удалить объект из конфигурации.
Однако при помещении в хранилище, если на удаленный объект имеются ссылки в других объектах, средства работы с хранилищем потребуют помещение этих объектов в хранилище с очищенными ссылками на удаленный объект.
Рекомендуется перед удалением объекта из конфигурации производить поиск ссылок на данный объект. Произвести захват в хранилище всех обнаруженных объектов и вычистить из них все ссылки на удаляемый объект. После этого необходимо удалить все ссылки на удаляемый объект из форм, интерфейсов и макетов. После чего удалить объект из конфигурации и произвести попытку помещения изменений в хранилище. Если помещение в хранилище завершится неудачей из-за обнаружения ссылок на удаленный объект, то необходимо захватить указанные объекты и произвести повторную попытку помещения изменений в хранилище.
Пример: удаление справочника Склады из демонстрационной конфигурации:
Производим поиск ссылок на удаляемый объект:
"Справочник.Склады" использован в: Документ.ПриходнаяНакладная.Реквизит.Склад.Тип
Документ.РасходнаяНакладная.Реквизит.Склад.Тип
РегистрНакопления.УчетНоменклатуры.Измерение.Склад.Тип
Захватываем данные объекты и удаляем из них реквизиты, ссылающиеся на справочник Склады.
Захватываем интерфейс "Основной" и удаляем из него кнопку Склады из подменю Справочники с действием "Склады: Открыть справочник".
Захватываем корневой объект конфигурации и справочник Склады.
Удаляем справочник Склады из конфигурации.
Производим попытку помещения корневого объекта конфигурации в хранилище
Параметры командной строки для работы с хранилищем конфигурации
Параметры командной строки режима работы с хранилищем конфигурации
/ConfigurationRepositoryF <каталог хранилища> — указание имени каталога хранилища.
/ConfigurationRepositoryN <имя> — указание имени пользователя хранилища.
/ConfigurationRepositoryDumpCfg <имя cf файла> [-v <номер версии хранилища>] — сохранить конфигурацию из хранилища в файл (пакетный режим запуска).
-v <номер версии хранилища> v — номер версии, если номер версии не указан, или равен -1, будет сохранена последняя версия.
/ConfigurationRepositoryUpdateCfg [-v <номер версии хранилища>] [-revised] — обновить конфигурацию хранилища из хранилища (пакетный режим запуска).
-v<номер версии хранилища> — номер версии, если номер версии не указан, или равен -1, будет сохранена последняя версия, если конфигурация не подключена к хранилищу, то параметр игнорируется;
-revised — получать захваченные объекты, если потребуется. Если конфигурация не подключена к хранилищу, то параметр игнорируется;
-force — если при пакетном обновлении конфигурации из хранилища должны быть получены новые объекты конфигурации или удалиться существующие, указание этого параметра свидетельствует о подтверждении пользователем описанных выше операций. Если параметр не указан — действмия выполнены не будут.
/ConfigurationRepositoryUnbindCfg [-force] — отключение конфигурации от хранилища конфигурации (у пользователя должны быть административные права в данной информационной базе). Если пользователь аутентифицируется в хранилище (интерактивно или через параметры командной строки), то отключение конфигурации от хранилища также отражается в самом хранилище конфигурации (информация о подключении удаляется), если же пользователь не аутентифицировался в хранилище, то производится только локальное отключение конфигурации от хранилища.
В случае, если в конфигурации имеются захваченные объекты, которые были изменены относительно хранилища, то будет выдано соответствующее сообщение и отключения не выполнится.
–force — ключ для форсирования отключения от хранилища (пропуск диалога аутентификации, если не указаны параметры пользователя хранилища, игнорирование наличия захваченных и измененных объектов).
/ConfigurationRepositoryReport <имя файла> [-NBegin <номер версии>] [-NEnd <номер версии>] [-GroupByObject] [-GroupByComment] — построение отчета по истории хранилища. Если параметры группировки не указаны и режим совместимости указан "Не используется", то отчет формируется с группировкой по версиям. В режимах совместимости "Версия 8.1" и "Версия 8.2.13" отчет формируется с группировкой по объектам. Если конфигурация базы данных отличается от редактируемой по свойству совместимости, при обработке командной строки учитывается значение режима совместимости конфигурации базы данных.
<имя файла> — имя файла, в который выводится отчет;
NBegin — номер сохраненной версии, от которой начинается строиться отчет;
NEnd — номер сохраненной версии, по которую строится отчет;
GroupByObject — признак формирования отчета по версиям с группировкой по объектам;
GroupByComment — признак формирования отчета по версиям с группировкой по комментарию.
Примеры: для конфигурации, не присоединенной к текущему хранилищу:
для присоединенной к хранилищу конфигурации, информация для отчетов берется из текущего хранилища:
Восстановление документов 1С из архива в рабочую базу (XML обмен)
Не редко требуется восстановить данные испорченного документа 1С из архива базы после не умышленных, а зачастую ошибочных, действий удачливого пользователя. Самым простым способом является выгрузка данных из базы архива 1с в XML, а затем загрузка этого XML файла в рабочую базу. Данное решение целиком и полностью опирается на внутренние XML алгоритмы работы конфигурации 1С. При помощи предлагаемой обработки в рабочую базу загружаются все реквизиты документа и его табличные части в том виде, в котором они существовали в архиве.
Исключение составляют движения документа. Данные о движениях не сохраняются при XML сериализации. Хотя документ и восстанавливается проведенным, но все регистры учета и накопления не трогаются. По этому, после восстановления документа следует его провести, либо воспользоваться обработкой, которая позволяет восстановить утерянный или испорченный документ со всеми его движениями.
Импорт - экспорт данных через XML. Обработка обмена данными.
Начало работы с обработкой по экспорту данных документа 1С в XML начинается с выбора имени XML файла и документа, данные которого необходимо сохранить. Первый этап следует выполнять на архивной копии базы, из которой требуется получить достоверные данные. После указания требуемых данных следует нажать кнопку "Выгрузить". Экспорт данных выбранного документа будет осуществлен в указанный пользователем XML файл.
Импорт данных из XML файла следует осуществлять уже в рабочей базе в режиме "1С Предприятие". Для этого откройте обработку, выберите файл данных и нажмите кнопку восстановить. Документ выбирать не обязательно, так как все его данные уже известны и содержаться в XML файле. Важное замечание - движения документа не изменяются, по этому если нужно их тоже восстановить документ следует провести. Скачать обработку:Скачивать файлы может только зарегистрированный пользователь!
Импорт данных из 1С в XML
Обеспечение возможности импорта данных из 1С в XML осуществляет процедура XML_Импорт. Процедура импорта проверяет пользовательский ввод - имя файла и ссылку на документ, данные которого нужно сохранить в XML файл. Далее создается новый текстовый файл, в который средствами 1С осуществляется выгрузка значений всех реквизитов документа и табличных частей. Исходный код процедуры:
Экспорт данных из XML в 1С
Обратная операция - экспорт данных из XML в 1С реализована в процедуре XML_Экспорт. Данные, сохраненные на предыдущем этапе, читаются из XML файл при помощи механизма XML Reader. Для восстановления данных документа достаточно указать только имя XML файла, так все необходимые данные о том, какой именно документ нужно восстанавливать уже имеются в файле. После успешного чтения данных 1С средствами платформы изменит требуем документ и откроет его в новом окне для проверки. Для восстановления движений документа его необходимо провести. Исходный код процедуры:
Данный способ подходит для отчетов. Из очевидных плюсов - если курс (или другие данные) не нужны для построения отчета, то СКД не будет их получать. Однако быстродействие такого отчета может оказаться и несколько ниже, чем в первом способе.
Для примера сделаем отчет - список заказов покупателей.
Для этого создадим набор данных "Документы" - запрос:
Для того, чтобы потом успешно свзать наборы данных, в запрос необходимо включить поля "Дата" и "ВалютаДокумента". Чтобы они не появлялись в списке доступных полей, если это необходимо, их можно убрать, установив флажки ограничений в таблице "Поля" схемы компоновки. В остальном запрос вряд ли требует комментариев.
Для того, чтобы получить информацию о курсах валют, добавим второй набор данных-запрос, "Курсы валют":
В этом запросе имеются 2 параметра: "Дата" и "Валюта". Эти параметры будут установлены СКД при соединении наборов. Кроме того, параметр "Дата" указан в выбранных полях - это нужно для соединения таблиц.
Для ненужный полей "Дата" и "Валюта" также устанавливаем флажки ограничений, чтобы они не появлялись в доступных полях.
Перейдем к соединению наборов. На странице "Связи наборов данных" добавим 2 связи:
1. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "Дата", выражение приемник - "Дата", Параметр - "Дата"
2. Источник связи - набор "Документы", приемник - набор "Курсы валют". Выражение источник - "ВалютаДокумента", выражение приемник - "Валюта", Параметр - "Валюта"
Главное здесь - параметры связи. При соединении наборов данных, если указан параметр, СКД передает в подчиненный набор (в нашем случае - запрос "Курсы валют") параметры, указанные в соединении. Значениями параметров будут значения соответствующих полей набора-источника.
Перейдем к вычисляемым полям. Добавим вычисляемое поле "СуммаВВалютеУпрУчета". Выражение поля - "СуммаДокумента * Курс / Кратность".
Также укажем поля "СуммаДокумента" и "СуммаВВалютеУпрУчета" как ресурсы
Настроим отчет.
Добавим одну группировку "Детальные записи", в выбранных полях укажем "ЗаказПолкупателя", "Курс" и "Кратность". Добавим ресурсы "СуммаДокумента" и "СуммаВВалютеУпрУчета"
Механизм распределенных информационных баз предназначен для создания территориально распределенных систем на основе идентичных конфигураций 1С:Предприятия 8. Этот механизм позволяет переносить как данные 1С: Предприятия, так и изменения конфигурации информационной базы.
В тех случаях, когда предприятие представляет собой территориально распределенную структуру, зачастую сохраняется потребность в ведении единой системы учета. То есть необходимо иметь возможность работать в едином пространстве документов, получать отчеты, отражающие состояние дел как в территориально удаленных подразделениях предприятия, так и на предприятии в целом и т.п. При этом не всегда имеется возможность организовать работу всех подразделений с единой информационной базой в режиме он-лайн.
Для решения подобных задач и предназначен встроенный механизм. Распределенная система в этом случае должна иметь древовидную структуру, в которой существует корневой узел и определено отношение "главный - подчиненный" для каждой пары связанных узлов. При этом система будет стремиться поддерживать одинаковое состояние объектов данных во всех узлах распределенной ИБ.
Обмен измененных объектов данных между каждым связанным узлом выполняется в формате ХML файлов. Перенос данных непосредственно между периферийными ИБ невозможен. Поэтому изменения данных, произведенные в одном из периферийных узлов распределенной ИБ попадают в другие периферийные узлы только через центральную ИБ.
В простейшем случае (по умолчанию) областью распространения изменений для всех объектов является вся распределенная ИБ. Таким образом, в случае если в течение какого-то времени изменения данных системы не будут производиться, и, в то же время, будут произведены все необходимые действия по обмену изменениями между узлами распределенной ИБ, то все узлы будут содержать абсолютно одинаковые данные.
Внесение изменений в конфигурацию возможно только в одном (корневом) узле распределенной системы. Изменения конфигурации передаются от главного узла к подчиненным.
Механизмы распространения изменений объектов работают полностью автоматически. Разработчик конфигурации лишен возможности вмешиваться в функционирование этих механизмов. Для того, чтобы механизмы распределенной ИБ начали работать, не нужно производить никаких специальных действий по конфигурированию системы.
Для того, чтобы документы, элементы справочников и другие объекты, созданные в разных узлах распределенной ИБ можно было различать, если это необходимо, в настройках программы можно указать префикс узла распределенной базы. В этом случае в при создании нового объекта (к примеру документа) будет автоматически добавляться указанный префикс.
В основе механизма распределенных информационных баз лежат универсальные механизмы обмена данными, такие как служба регистрации изменений, инфраструктура сообщений, XML-сериализация и чтение/запись XML-документов. Однако механизм распределенных информационных баз содержит ряд специфических возможностей, недоступных через универсальные механизмы обмена данными.
К таким возможностям относится интерактивное создание начального образа информационной базы, а также интерактивное чтение и запись изменений, которые могут быть выполнены сразу же, после указания того, что данный план обмена будет использовать механизм распределенных информационных баз. Таким образом, распределенная информационная база может быть создана без какого-либо дополнительного программирования, исключительно средствами визуального конструирования. При этом обмен в распределенной информационной базе будет осуществляться на основе некоторых алгоритмов, изначально заложенных в платформе.
Все действия, выполняемые при интерактивном обмене, могут быть продублированы программно, и кроме этого разработчик имеет возможность программно управлять принятием и отправкой изменений, а также выполнять реструктуризацию распределенной информационной базы, добавляя новые и удаляя существующие узлы.
Служба регистрации изменений
Суть регистрации изменений состоит в том, чтобы иметь перечень измененных элементов данных которые должны быть переданы в очередном сообщении тому или иному узлу, с которым производится обмен данными. При каждом изменении данных регистрируется, что имеются изменения, которые предстоит передать во все узлы, с которыми поддерживается обмен этими данными. При получении подтверждения приема сообщения, в котором были отправлены изменения, записи регистрации изменений должны быть удалены.
Состав данных, которыми осуществляется обмен, описывается в Плане обмена и представляет собой перечень элементов данных.
Для каждого элемента данных, указанного в плане обмена, ведется своя таблица регистрации изменений. Таблицы имеют разную структуру, в зависимости от того, для каких элементов данных регистрируются изменения, но все-таки структуры таблиц подобны. Каждая запись указывает на некоторый элемент данных, некоторый узел и содержит номер сообщения, в котором это изменение передано в первый раз.
При описании состава данных в плане обмена, для каждого элемента данных есть возможность указать признак Авторегистрации. Авторегистрацию можно «Разрешить» или «Запретить». Если авторегистрация разрешена, то при изменении данных регистрация изменений будет выполнена автоматически. Если запрещена, то регистрацию изменения можно выполнить «вручную», средствами встроенного языка.
Инфраструктура сообщений
С точки зрения плана обмена, между узлами происходит обмен сообщениями. Каждое сообщение содержит изменения данных, изменения конфигурации (если это распределенная информационная база) и ряд служебной информации. Каждое сообщение точно ассоциировано с планом обмена, имеет уникальный номер и имеет одного отправителя и одного получателя.
Сообщение оформляется как документ XML, имеющий определенную структуру. Инфраструктура сообщений позволяет формировать нужную структуру сообщения, и контролировать ее корректность. В частности, инфраструктура сообщений поддерживает нумерацию сообщений, и позволяет получать подтверждения от узла-получателя о приеме сообщений. Такое подтверждение содержится в каждом сообщении, приходящем от узла-получателя в виде номера последнего принятого сообщения.
Коллизии
При работе в реальных распределенных ИБ один и тот же объект может изменяться одновременно в различных узлах распределенной ИБ. И при переносе измененных объектов из одной ИБ в другую может случиться так, что в какую-либо ИБ будет загружаться объект, зарегистрированный в самой этой ИБ как измененный. Такая ситуация носит название коллизии.
Приведем описание действий системы в наиболее типовых вариантах коллизий: Один и тот же объект изменен более чем в одной ИБ.
Общий принцип здесь состоит в том, что "главным" считается изменение, произведенное в центральной ИБ. Отработка ситуации различается в зависимости от того, на какой ИБ - центральной или периферийной коллизия обнаружена. Если коллизия обнаружена на центральной ИБ, то есть при загрузке файла переноса из периферийной ИБ обнаружено, что один из измененных объектов также изменен и в центральной ИБ, то изменения объекта в центральную ИБ не загружаются. При этом гарантируется, что при очередной выгрузке в адрес периферийной ИБ будет передано состояние объекта как оно есть в центральной ИБ. Если же коллизия обнаружена на периферийной ИБ, то изменения объекта, прибывшие из центральной ИБ загружаются. Объект, измененный в одной ИБ, удален в другой.
В данном случае принцип заключается в том, что изменение всегда "главнее" удаления. В случае, если на центральную ИБ прибывает файл переноса, в котором содержится информация, что некоторый объект удален на периферийной ИБ, то в центральной ИБ объект не удаляется, а в записи таблицы регистрации изменений данный объект помечается как измененный. То есть при очередном обмене объект будет восстановлен в той ИБ, в которой он был удален, причем само содержание объекта будет соответствовать той ИБ, которая "отвергла" удаление.
Аналогичные действия производятся, если коллизия обнаружена на периферийной ИБ. Объект, удаленный в одной ИБ, не может быть удален в другой по причине наличия ссылок на него.
При загрузке изменений, если загружается информация об удалении объектов, автоматически включается механизм контроля ссылочной целостности и выполняется проверка наличия ссылок в данной ИБ на объекты, которые переданы как удаленные.
В случае обнаружения коллизии такого рода, вне зависимости от того на какой из ИБ она была обнаружена, выполняется следующее: удаление не выполняется, а в таблицу регистрации изменений заносится запись о том, что объект должен быть перенесен в адрес той ИБ, из которой была прислана информация о его удалении.
При очередном обмене объект восстанавливается в той ИБ, в которой он был удален, однако само содержание объекта будет соответствовать той ИБ, которая "отвергла" удаление.
Таким образом на сегодняшний день платформа 1С:Предприятие предоставляет очень удобный механизм, использование которого относительно просто и не требуется никаких навыков в программировании, а благодаря механизму автоматического обмена от пользователя даже не требуется думать об актуальности его распределенной информационной базы.
Запуск исполняемого файла системы 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
Технологический Журнал (далее ТЖ) позволяет протоколировать все события 1С:Предприятия (или часть, используя фильтр).
ТЖ настраивается с помощью файла logcfg.xml в папку программы C:\Program Files\1cv81\bin\conf, пример структуры файла (включить запись событий DBMSSQL):
1. Для успешного создания логов, нужно создать каталоги для логов (например C:\Program Files\1cv81\bin\logs) и дапмов (например C:\Program Files\1cv81\bin\dumps),
где в случае аварийного завершения ТЖ создаст дамп памяти и копию экрана для передачи разработчикам.
Важно иметь в виду, что в каталог ТЖ при некоторых его настройках могут выводится данные очень большого объема. Поэтому, либо на диске С: должно быть достаточно места, либо каталог ТЖ необходимо изменить.
Для работы ТЖ необходимо, чтобы пользователи, от имени которых запускаются приложения 1С:Предприятия (как клиентские, так и серверные), имели полные права на каталог ТЖ (C:\Program FiIes\1cv81\bin\logs), и право на чтение выше лежащего каталога (C:\Program Files\lcv81).
Примечание. Если все равно не пишется ТЖ, то дать права всем на эту папку (временно, чтобы убедиться что дела в правах).
В каталоге технологического журнала не должно быть посторонних файлов. Каталог, в котором имеются посторонние файлы не позволит создавать журнал (логи).
Место хранения dumps и logs не хранить вместе, потому что через указанный интервал (по умолчанию 1 час) содержимое польностью перетирается и вы потеряете дампы
2. ТЖ лучше настраивать (с помощью фильтров - тэгов logcfg.xml) только на исследуемые события, остальное не собирать, иначе словите "отсутствие места на диске" и тормоза в быстродействии сервера.
Легче выполнять настройку фильтров с помощью обработки с ИТС НастройкаТехнологическогоЖурнала.epf, но при этом помнить, что новые фичи последних релизов в обратке могут отстутствавать (каждая новая версия добавляет новые возможности, в обработки они не отражены). В этом случаи корректировать файл logcfg.xml руками.
Структура конфигурационного файла
Корневым элементом конфигурационного файла является элемент < config>, который определяет настройки ТЖ. он может содержать несколько элементов < log> и один < dump>
< log> определяет каталог ТЖ:
history = количество часов, через которое инфа будет удалятся из ТЖ.
location = Каталог в котором сохраняются логи
Элемент < dump> определяет каталог в который будут записываться дампы аварийного завершения
< event> - этим элементом определяется условие, при выполнении которого событие будет записано в ТЖ. Условия записываются элементами:
eq = равно
ne = не равно
gt = больше
ge = больше или равно
lt = меньше
le = меньше или равно
like = соответсвие маске
property - атрибут задает название события
value - атрибут задает значение события, ниже пример в котором в ТЖ будут регистрироваться события относящиеся к группе с именем "dbmssql"
Доступны следующие имена групп, с выходом новых версий платформы возможны добавления новых групп:
PROC - события, относящиеся к процессу целиком и влияющие на дальнейшую работоспособность процесса(старт, завершение, аварийное завершение и т.д.);
SCOM - события создания или удаления серверного контекста, обычно связанного с информационной базой;
ЕХСР - исключительные ситуации приложений системы Предприятие 8.1, которые штатно не обрабатываются и могут послужить причиной аварийного завершения серверного процесса или подсоединенного к нему клиентского процесса;
EXCPCNTX - события, которые начались, но не закончились в момент возникновения нештатной ситуации;
SDBL - события, связанные с исполнением запросов к модели базы данных системы 1С:Предприятие 8.1;
QERR - события, связанные с обнаружением ошибок компиляции запроса или ограничения на уровне записей и полей базы данных.
PERR - события, связанные с обнаружением ошибок работы с настройками пользователя;
CONN - установка или разрыв клиентского соединения с сервером;
ADMIN - управляющие воздействия администратора кластера серверов;
DBV8DBErg - исполнение операторов SQL файловой СУБД;
DBMSSQL - исполнение операторов SQL СУБД Microsoft SQL Server;
DBPOSTGRS - исполнение операторов SQL СУБД PostgreSQL;
DB2 - исполнение операторов SQL СУБД DB2,
CALL - удаленный вызов.
TLOCK - управление транзакционными блокировками в управляемом режиме.
Следует заметить, что на клиентском компьютере могут возникать только те события, которые отсносятся к группам PROC, ЕХСР, SDBL Также на клиентском компьютере могут возникать события из группы DBVBDBEng, если используется файловый вариант работы системы 1С:Предприятие 8.1.
Также следует заметить, что события из групп PROC, SCOW, ЕХСP, CONN и ADMIN возникают относительно и содержат малое количестово информации, в то время как регистрация событий из групп SDBL, DBVPCBE v и DBMSSQL может привозить к значительному росту ТЖ.
3. Чтобы логи перестали собираться достаточно переименовать файл, перезапускать сервер не надо, настройки пересчитываются каждую минуту "на лету"
7. Понятно, что собрать логи мало, их еще нужно обработать для решения конкретной задачи.
Файлы ТЖ могут быть просмотрены с помощью любого текстового редактора, но через блокнот ТЖ сложно читаем, так как:
- Требует хорошего понимания архитектуры работы системы
- Тексты запросов регистрируются на внутреннем языке 1С:Предприятия и на языке DBMS
Файлы технологического журнала хранятся в подкаталогах. Имя каждого подкаталога технологического журнала одного процесса будет иметь вид: < ИмяПроцесса>_< ИдентификаторПроцесса>, например: rphost_4076. Имя файла журнала задается шаблоном ГГММДДЧЧ.log. Например, в журнале 07051819.log имя файла образовано от 2007 мая 18, 19 часов)
Журнал для анализа можно выгрузить в эксель, используя разделителем запятую например
1С:ЦУП использует для своих аналитических показалей логи технологического журнала. При использовании ЦУП другие данные собираться не должны, удалите logcfg.xml вручную, ЦУП сам создаст файл с нужными настройками.
Других парсеров логов от 1С нет, есть ObrabotkaTehnologiceskogoGurnala.epf
8. Возможные ошибки и доп. информация:
- ищем логи в каталоге на сервере хотя для 64 разрядного сервера другой каталог программы
- отследить не завершившийся запрос; событие технологического журнала DBMSSQL выводится только в момент окончания выполнения запроса. Если запрос долго не может выполниться, то его выполнение можно прервать, после чего будут выведены в технологический журнал связанные с ним события.
Состав информационной базы В данном разделе приводится перечень и описание наиболее важных для системы 1С:Предприятие файлов, размещаемых в каталоге информационной базы. Указанная информация приводится для того, чтобы дать специалистам осуществляющим конфигурирование и администрирование 1С:Предприятия лучшее представление о внутренней организации информационных массивов. Например, она может быть использована для оценки использования ресурсов теми или иными объектами информационной базы или механизмами системы.
Создавать решения построенные на манипулирование данными, хранящимися в файлах информационной базы системы 1С:Предприятия средствами не штатными для 1С:Предприятия категорически не рекомендуется . Это объясняется сложностью поддержания логической целостности объектов информационной базы и возможностью изменения структур данных в последующих версиях. А также особенностями организации таких механизмов 1С:Предприятия, как "Управление распределенными информационными базами", возможностью хранения таблиц базы данных как в файлах DBF/CDX так и в среде сервера баз данных MS SQL Server и другими подобными причинами.
Итак в каталоге информационной базы размещаются:
Файл конфигурации (1 CV7.MD) Файл словаря данных (1С V7.DD или 1 CV7.DDS в зависимости от формата хранения таблиц базы данных)
Файл списка пользователей ( USRDEF\USERS.USR)
Файлы таблиц и индексов базы данных
В файле конфигурации (1 CV7.MD ) находится конфигурация системы: метаданные, интерфейсы и права.
Имя файла словаря данных зависит от формата хранения таблиц базы данных. В случае, если для хранения таблиц базы данных используются файлы DBF/CDX , словарем данных является файл 1 CV7.DD . Если же таблицы базы данных размещаются в среде MS SQL Server , то имя файла словаря данных - 1 CV7.DDS . Словарь данных содержит описание структуры таблиц и индексов базы данных системы 1С:Предприятие. Для MS SQL Server словарь данных содержит также описание хранимых процедур.
Файл списка пользователей - USERS.USR размещается в подкаталоге USRDEF каталога информационной базы. Данный файл содержит список пользователей с указанием для каждого пользователя набора прав, интерфейса и другой информации, связанной с пользователем. В случае, если для хранения таблиц и индексов базы данных используются файлы DBF/CDX , то указанные файлы также размещаются в каталоге информационной базы. Каждой из таблиц соответствует файл . DBF . Если у таблицы имеются индексы, то к ней также относится соответствующий файл CDX . Файлы . DBF и . CDX , относящиеся к одной таблице имеют одинаковые имена. Например, таблице 1 SJOURN соответствуют файлы 1 SJOURN.DBF и 1 SJOURN.CDX.
Ниже приведен перечень таблиц, которые могут входить в базу данных системы 1С:Предприятие(Файлы Назначение):
1SUSERS Системная таблица: отслеживание числа соединений с базой данных, счетчик изменений данных пользователями.
1SSYSTEM Системная таблица: содержит общие параметры информационной базы (точку актуальности, рассчитанный период бухгалтерских итогов, периодичность оперативных итогов и т. п.).
1SCONST Содержит значения констант, периодических реквизитов справочников и бухгалтерских счетов.
1SJOURN Содержит заголовки всех документов (внутренний идентификатор, номер, дату, время, общие реквизиты, по которым установлен отбор)
1SCRDOC Содержит вхождения документов в графы отбора, списки подчиненных документов, вхождения документов в общие журналы, для которых определен состав документов.
1SDNLOCK Содержит временный список номеров документов, которые в данный момент вводятся, для автоматической нумерации документов с учетом вводимых.
1SUIDCTL Используется для дополнительного контроля уникальности внутренней идентификации объектов (документов, справочников, бухгалтерских счетов).
1SBLOB Содержит значения реквизитов справочников, документов, счетов имеющих тип "Строка неограниченной длины". Также содержит описания шаблонов типовых операций.
SC* Содержит данные справочника конкретного вида. Каждый справочник хранится в отдельном файле.
DH* Содержит данные реквизитов шапки и общих реквизитов без признака "Отбор" документа конкретного вида. Создается при наличии у документа соответствующих реквизитов.
DT* Содержит данные реквизитов табличной части документа конкретного вида. Создается при наличии у документа соответствующих реквизитов.
1SACCS Содержит список бухгалтерских счетов всех планов счетов .
1SOPER Содержит данные бухгалтерских операций (сумму, содержание, дополнительные реквизиты). Содержит одну строку на документ, по которому создана операция.
1SENTRY Содержит бухгалтерские проводки.
1SBKTTLC Содержит рассчитанные бухгалтерские итоги оборотов между синтетическими счетами.
1SBKTTL Содержит рассчитанные бухгалтерские итоги остатков и оборотов по синтетическим счетам и объектам аналитики.
1SCORENT Содержит список корректных проводок.
1SACCSEL Содержит вхождения проводок в отборы по бухгалтерским счетам.
1SSBSEL Содержит список вхождений проводок в отборы по субконто.
1STOPER Содержит список типовых операций.
RA* Содержит движения регистра конкретного вида.
RG* Содержит итоги регистра конкретного вида (остатки для регистров остатков, обороты для оборотных регистров).
CJ* Содержит данные журнала расчетов конкретного вида.
CJPROP Содержит свойства журналов расчетов (расчетный период, глубина просмотра и т.п.)
CL Содержит данные календарей всех видов.
1SUPDTS Системная таблица компоненты "Управление распределенными ИБ". Содержит таблицу регистрации изменений. Создается только для распределенных ИБ.
1SDWNLDS Системная таблица компоненты "Управление распределенными ИБ". Содержит таблицу регистрации произведенных выгрузок изменений. Создается только для распределенных ИБ.
1SDBSET Системная таблица компоненты "Управление распределенными ИБ". Содержит список информационных баз, входящих в распределенную ИБ. Создается только для распределенных ИБ.
В случае, если таблицы базы данных системы 1С:Предприятие размещаются в среде MS SQL Server , то в каталоге информационной базы появляется файл 1 CV7.DBA , содержащий ссылку на соответствующую базу данных, находящуюся на сервере баз данных. Состав таблиц, хранимых в среде сервера баз данных практически идентичен приведенному выше составу файлов в формате DBF/CDX . Исключение составляет хранение строк неограниченной длины, которое в формате MS SQL Server не выделяется в отдельную таблицу.