Разделить базу 1с по годам
В программе 1С:Предприятие 8 можно работать в двух режимах:
- клиент-серверный (для базы данных используется отдельный сервер);
- файловый (база данных размещена расположена на ПК пользователя или в локальной сети предприятия).
Информация, предоставленная ниже, актуальна только для файлового режима.
Для начала стоит знать, что в случае файлового размещения программа имеет существенные ограничения по размерам файлов. Это значит, что размер одной таблицы не должен быть больше 4 Гб, иначе программа просто перестанет запускаться, а при приближении к указанному порогу начнет заметно "тормозить". Таким образом свертка позволит существенно уменьшить размер таблиц и повысить производительность базы данных. В первую очередь это касается регистра бухгалтерии, как наиболее "тяжелой" из всех таблиц.
В чем заключается операция свертки базы данных:
- Определение даты, на которую необходимо свернуть базу. Обычно это начало периода (квартала, чаще-года).
- Определение остатков по каждому счету.
- Внесение остатков путем создания документов.
- Удаление всех документов, созданных ранее указанной даты (за исключением тех. которые были отобраны при настройке свертки).
Такая операция позволит существенно уменьшить размер регистра бухгалтерии и таким образом повысить быстродействие и эффективность программы.
Как делать свертку базы в 1С
В программе в разделе Администрирование открываем раздел Обработка свертки:
Далее нажимаем на Создать резервную копию, указывая при этом данные пользователя, под которым необходимо сделать копию, а также каталог, куда ее сохранить. Нажимаем кнопу Далее и появившемся окне подтверждаем операцию (нажимаем Да):
Здесь выскакивает ошибка. Не пугаемся и делаем перезапуск программы.
Ситуация снова повторяется, но это так и надо. Теперь делаем копию вручную и переходим в конфигуратор:
Выбираем место хранения копии и присваиваем ей имя:
Снова возвращаемся в обработку свертки и снимаем признак создания копии снимаем. Нажимаем кнопку Далее:
В следующем окне выбираем год или период, на начало которого производится свертка. При этом очень желательно Установить дату запрета, ранее которой в базе уже ничего не вводилось. Что касается списка организаций, то свертку можно делать как по всему списку, так и по его отдельным пунктам:
Следующее окно показывает каким образом программа планирует обработать таблицы, например, некоторые из них предлагает оставить без изменения, а некоторые — свернуть. Без изменения останутся большинство регистров сведений, а также регистры накопления по НДС, поскольку размер их не критичен. Обычно в приоритете свертка регистра бухгалтерии.
Далее программа выводит на экран список документов Операция. Эти документы будут созданы для внесения в них остатков (где они есть) по всем статьям бухгалтерского учета на начало периода.
Двигаемся дальше.
В следующем окне мы видим сводную таблицу с анализом остатков на начало периода. Их корректность проверяется сравнением с начальными остатками на момент, который предшествовал свертке. Скриншот, приведенный ниже, показывает, что все остатки являются корректными.
На всякий случай таким же образом следует проверить таблицу сверки по регистрам накопления и сведений:
Следующее окно программы предупреждает о начале процедуры удаления документов до Даты запрета (в данном случае это 2016 год). Подтверждаем операцию.
Стоит обратить внимание на один важный момент: по причине того, что движение по большинству регистров накопления в части НДС и регистров сведений остались в базе, то и первичные документы, предшествующие их создание, тоже сохранились в системе. Пусть это никого не смущает, ведь нашей целью было добиться "облегчения" регистра бухгалтерии и нам это удалось.
Хотите получать подобные статьи по четвергам?
Быть в курсе изменений в законодательстве?
Подпишитесь на рассылку
В прошлый раз мы рассказали, как изменялись наша инфраструктура и принципы работы с базами 1С, коих у нас бесчисленное множество уже полтысячи, и про то, как мы автоматизируем работу с таким количеством данных. Однако, трудности и костыли всё ещё есть, и с ростом числа клиентов Кнопки нам приходится придумывать новые и улучшать старые способы оптимизации. Одна из основных проблем при работе с большим количеством баз 1С — накатывание обновлений. Сегодня мы расскажем о технологии разделения данных, которая позволяет уменьшить количество баз и упростить их обслуживание.
Найти документацию по механизму разделения баз достаточно трудно: есть небольшая статья на основополагающем сайте, но нам она принесла мало пользы. Есть старый добрый Гугл, но чтобы разобраться в тонкостях, придётся долгими часами бороздить выдачу в поисках нужного куска информации. У нас другого выбора не было, а у вас теперь есть эта статья. Надеемся, она пригодится.
Хватит это терпеть!
При работе с 1С, обновлять приходится многое: конфигурацию, КЛАДР, списки банков (лишают их лицензий, знаете ли), курсы валют (ох уж эти экономически нестабильные евро и доллары), списки пользователей, обработки, версию платформы. На хорошем железе обновление КЛАДРа со всеми регионами для одной базы занимает около получаса. Обновление конфигурации занимает от 10 минут до нескольких часов (при накатывании пачкой).
Не стоит забывать и о том, что в каждой отдельной базе живёт её величество Конфигурация, которая не отличается от базы к базе ни на байт. Живёт и ест место, при том, что в конфигурацию так же нужно загружать изменения, вставлять обработки и расширять стандартную функциональность.
Итак, если у вас есть несколько ничем (кроме организаций) не отличающихся баз, с одинаковой конфигурацией, механизм разделения может существенно облегчить жизнь (не без дёгтя, но об этом позже). Иначе очень скоро придётся нанимать армию админов:)
Базовая сегрегация
Для начала, нужно определить признак, по которому вы будете разделять базу. Разделитель может иметь любой тип данных, мы используем строку длинной 10 символов: ИНН организации. Главное — название разделителя (общего реквизита) не должно совпадать с уже существующими объектами конфигурации, то есть его нельзя назвать, например, «Организации», так как уже есть такой справочник. Мы назвали разделитель «Группа компаний».
После этого берём вашу типовую конфигурацию с пустой базой, заходим в конфигуратор и открываем раздел «Общие реквизиты». Добавляем общий реквизит и меняем значение «Разделение данных» на «Разделять»:
Конфигуратор предложит создать параметры сеанса — безмолвно соглашаемся и идём дальше. После создания «Общего реквизита» с включённым свойством разделения, база данных становится похожа на многоэтажный дом. В доме есть элементы доступные всем и с каждого этажа: лифт, лестничный пролёт, коммуникации, а есть уникальное, доступное только в пределах этажа: квартиры, коридор, окна. Метафора простая, и, надеюсь, понятная:)
Для входа в определённую организацию (или область базы) необходимо сообщить разделитель в строке подключения к базе или указать его в v8i файле (о которых мы рассказывали в прошлый раз).
После /Z указываем общие реквизиты по порядку. Так как в нашей типовой бухгалтерии уже есть два общих системных реквизита, указываем для них значение -0 чтобы они не использовались, а в качестве третьего (который мы создали) передаём ИНН.
1000 и 1 чекбокс
Теперь нужно определить, какая часть данных будет являться общей для всех областей. Всё это настраивается через конфигуратор. В свойствах общего реквизита, который мы только что создали, есть пункт «Состав» открывающий небольшой список из 800 параметров:
Подбор параметров оставляем на ваше благоразумие, усмотрение и окружение. Вот наш вариант (аккуратнее, там 20 000 пикселей).
Разделитель также даёт возможность настроить отдельный список пользователей для каждой базы — это может пригодиться, если у вас сотни пользователей — при входе в определённую базу не придётся проматывать этот список до кровавых мозолей. Мы это не используем, потому что настроили прозрачную авторизацию.
Выгружаем данные из текущих баз
Для выгрузки данных из текущих баз, мы используем универсальный . Нельзя просто так взять и выгрузить базу, нужно настроить правила обмена, иначе при загрузке могут (и обязательно возникнут) ошибки и конфликты, а вторая база просто не пролезет. Напомним, что мы делим области базы для каждой организации и в нашем случае работают такие правила обмена. Если вам вздумается использовать другой разделитель, придётся пораскинуть мозгами и чекбоксами. Главное — не использовать типовую выгрузку — это приведёт к дублированию всех предопределённых записей.
Хозяйке на заметку: справочники и документы лучше выгружать отдельно — так можно избежать лишних ошибок в момент загрузки.
Загружаем данные в разделённую базу
Запускаем 1С с параметром /Z «-0,-0,+%ваш разделитель%», указывая разделитель той организации, данные которой собираемся загрузить. Запускаем универсальный обмен и скармливаем ему полученные при выгрузке файлы: сперва справочники, потом документы. Повторяем эту операцию для каждой .
Чтобы упростить задачу, мы осуществляем выгрузки массово, предварительно запуская чуть исправленную стандартную обработку через командную строку (/Execute c:\выгрузка.epf). Затем вручную загружаем полученные файлы в разделённую базу.
Как потратить больше времени, чтобы потратить меньше времени
Процесс разделения — штука не быстрая. Напомним, что у нас сейчас больше 500 организаций, но за пару недель мы успели разделить только 70. Однако, мы точно знаем, что уже через полгода поблагодарим прошлых себя за проделанную работу и кучу сэкономленных времени и сил.
Бухгалтеры Кнопки не замечают перехода организаций из обычной базы в разделённую, для них процесс проходит безболезненно. Попа горит только у админов:)
Побочные эффекты: экономия места 1 к 20, косвенное увеличение скорости работы — неоценимо. В абсолютных цифрах: 50 организаций занимают 2 Гб пространства в SQL, тогда как одна отдельная база занимает от 800 Мб.
Одно из правил управления временем — Если есть человек, которому можно делегировать выполнение задачи — делегируй.
Предыстория
Как я докатился до того, что — Я, системный администратор! — стал задаваться вопросами работы 1С?
Тирада в моей оригинальной статье, которую вряд ли кто читал, касалась того, какие лентяи 1С разработчики, и сами производители 1С, что одни понаделали много функций, но другие недостаточно хорошо описали, третьи поленились разобраться, а свалили всю рутину на системных администраторов, которым делать-то нечего, кроме как за элитой IT подметать. Думаю, здесь никто меня не похвалит за такие рассуждения. Хотя и похвалы особо не ищу. Единственная цель — чтобы это пригодилось кому-то, кто правильный лентяй-админ, и не любит заниматься одним и тем же помногу раз. А теперь о том, как это было.
Я столкнулся с таким положением дел, что всем сотрудникам наши 1С разработчики добавляют базы ручками, присутствуя на рабочем месте сотрудника, либо просят это сделать нас удалённо, подключившись к рабочему столу пользователя и мышкакликанием все повторить.
Выглядит это так:
И не думайте, что в следующий раз, этот 1С разработчик скажет мне, что эту базу можно назвать именно также. Как следствие, у нас одна и та же база у разных сотрудников называлась по разному. Красота, не так ли?!
Ещё одна сторона этой проблемы в том, что Сотрудник должен быть на месте, компьютер включен, и у него должно быть время (5 мин), чтобы я мог всё это сделать. Если сотрудника нет на месте, то вы можете себе предположить, сколько от меня требуется трудозатрат, чтобы выловить этого сотрудника, согласовать с ним время и сделать это. А если этот сотрудник в удалённом офисе, на ноутбуке, и бывает в сети крайне редко, плюс разница поясов Владивосток — Москва, то это ещё добавляет остроты ощущений. Конечно, можно ещё ярлыком в почту бросить, но этим у нас 1С разработчики очень крайне редко пользуются — или не умеют, или не хотят, или за нас переживают, что без работы останемся, за что им отдельная благодарность и лучи поноса.
Баз у нас порядка пятнадцати. У каждой группы отдельный набор баз. А есть и такие, у кого строго индивидуальный список.
Следующая картина вам ещё больше понравится.
Поступает распоряжение от главы 1С'ников, что нужно трём отделам изменить базу, т.к. она переехала на другой сервер. Дальше не буду тратить буквы, т.к. всё что я описал выше множите на тридцать человек, двадцать из которых в другом офисе или даже другом городе. Классная задачка.
Не помню, сколько раз, я, таких суматох вынес, но было их больше десяти. После чего мне стало интересно, какие способы оптимизации этого процесса есть по unix-way'ю.
И стал я читать… Читал долго… Читал упорно… Документация 1С в справке мне совершенно не понравилась — написано так, как будто бы я уже это делал, поэтому большую часть идеи они оставляют между строк. Лучи поноса в написателей встроенной справки 1С. Как обычно это бывает, более-менее понятную инструкцию нашел на личном блоге, не помню уже кого.
Теория устройства конфигурационных файлов
В 1С организовано всё, что касается списков баз, в обычных текстовых, читаемых файлах с расширениями .cfg и .v8i, в кодировке utf-8. Так что, как вы наверняка догадываетесь, можно всё делать то же самое без отрыва пользователя, открывая файл по сети обычным текстовым редактором и правкой на прямую.
Расположение файлов на стороне пользователя
У пользователя на компьютере 1С 8.2 хранит фалы списков баз в каталогах:
Для Windows XP:
Профиль всех пользователей: С:\Documents and Settings\All Users\Application Data\1C\1CEstart\
Профиль пользователя: С:\Documents and Settings\%username%\Application Data\1C\1CEstart\
Для Windows 7:
Профиль всех пользователей: C:\ProgramData\1C\1CEStart\
Профиль пользователя: C:\Users\%username%\AppData\Roaming\1C\1CEStart\
Содержимое профиля пользователя — два файла: 1CEStart.cfg, ibases.v8i.
Содержимое директории профиля всех пользователей — один лишь, 1CEStart.cfg.
При запуске 1С берёт список баз к представлению в файле пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i, но предварительно читает настройки сначала из профиля всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, а потом и из профиля пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, и если в них есть ссылки на конфигурационные базы в сети, то добавляет их в этот файл.
Описание файла 1CEStart.cfg
В профиле всех пользователей конфигурационный файл C:\ProgramData\1C\1CEStart\1CEStart.cfg имеет следующее содержание:
Где:
InstalledLocation — содержит указание на каталог, в который выполнена установка 1С: Предприятие. По умолчанию это значение C:\Program Files (x86)\1Cv82.
CommonCfgLocation — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром.
CommonInfoBases — указывает путь и имя файла (.v8i) со списком общих информационных баз.
DistributiveLocation — содержит указание на каталог, в котором будет производится поиск новой версии для автоматической установки.
InstallComponents — В локальном конфигурационном файле (1CEStart.cfg) содержит перечень установленных компонент с признаком нужно установить компонету — 1, или нет — 0.
Возможны следующие компоненты параметра InstallComponents:
DESIGNERALLCLIENTS — все клиенты и конфигуратор.
THINCLIENT — тонкий клиент для клиент-серверного варианта работы.
THINCLIENTFILE — тонкий клиент с возможностью работы с файловыми информационными базами.
SERVER — сервер 1С: Предприятия. Если программа установки запускается из программы запуска, то сервер будет установлен как приложение.
WEBSERVEREXT — компоненты расширения для веб-сервера.
CONFREPOSSERVER — сервер хранилища конфигураций 1С: Предприятия.
SERVERCLIENT — компоненты для администрирования кластера серверов 1С: Предприятия.
CONVERTER77 — конвертер информационных баз из версии 1С: Предприятия 7.7.
LANGUAGES — список языков интерфейса для установки. Если указано несколько языков, они перечисляются через ”,”. Пример: LANGUAGES=RU,UK,BG
В профиле пользователя конфигурационный файл C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg первоначально пустой. Но, если какие-то настройки необходимо сделать индивидуально для конкретного пользователя, то писать именно в него, и тут уже его ключи настроек будут иметь больший приоритет, но не все. Это отдельный вопрос, им я не буду сейчас захламлять голову.
Описание файла ibases.v8i
Второй важный файл информационных баз, который находится в профиле самого пользователя — C:\Users\%username%\AppData\Roaming\1C\1CEStart\ibases.v8i. В него и собирается конечный список баз. Пример его содержимого:
Где:
[phonebook] – название базы 1С. Может быть как русскими буквами, так и английскими. Это то, что видит пользователь.
ID=34891493-907f-4783-8a37-3cbc092a989a — автоматически генерируемый уникальный код базы. Если у двух записей один и тот же ID, значит это одна база.
OrderInList=16640 — порядок в списке баз, когда базы представлены одним общим списком без подкаталогов; этот параметр из сетевого списка синхронизируется только в чистый ibases.v8i, если в ibases.v8i пользователя уже заполнен этой базой и этот параметр не будет перезаписываться, при его изменении в сети.
Folder=/ — задаёт место в дереве каталогов, если вид представления списка баз выставлен деревом; этот параметр имеет приоритет пользователя, и не меняется при изменении в сетевом конфиге.
OrderInTree=16640 — порядок в дереве, когда список баз представлен в виде иерархии подкаталогов; этот параметр имеет также приоритет пользователя, и синхронизируется только при первом добавлении базы, а далее подлежит изменению только локальным пользователем.
External=1 — внешняя подключаемая запись конфигурации или нет. Когда 0 тогда база присутствует только в этом файле. В данной ситуации эта запись импортируется из файла списка баз .v8i из сети. Это идентификатор, если это список баз расположенный в сети (расшаренный), то этот параметр можно вообще убрать из конфигурационного файла.
ClientConnectionSpeed=Normal — скорость соединения клиента. Опции могут быть “Nofmal” и “Low”. Логика ясна и без моих поиснений. Этот параметр интерактивный и при сетевом размещении синхронизируется при каждом запуске 1С.
App=Auto — тип соединения клиента. Бывает три типа:
— Auto — определяется сервером;
— ThinClient — тонкий клиент;
— ThickClient — толстый клиент.
Этот параметр интерактивный и синхронизируется при каждом запуске 1С.
WA=1 — этот параметр говорит о том, что система должна использовать windows авторизацию. Этот параметр интерактивный и синхронизируется при каждом запуске 1С.
Version=8.2 — используемая версия для этой базы. Если указать полностью конкретизируя какую платформу использовать, то будет использовать именно ту платформу, которую укажешь, как, например, во второй записи — Version=8.2.14.540. Этот параметр интерактивный и синхронизируется с сетевым конфигом при каждом запуске 1С.
Также есть ещё такой параметр как DefaultApp — тип соединения клиента по умолчанию, если в конфигурации для базы не задан, и DefaultVersion — используемая версия по умолчанию, если не задано в конфигурации для базы. Этот параметр пользовательский, и синхронизируется в чистый файл базы при первом запуске. Далее этим параметром управляет локальный пользователь.
Ссылки на конфигурационные файлы в сети
- либо в конфигурационном файле всех пользователей C:\ProgramData\1C\1CEStart\1CEStart.cfg, если мы хотим показать базы для всех пользователей компьютера;
- либо в конфигурационном файле конкретного пользователя C:\Users\%username%\AppData\Roaming\1C\1CEStart\1CEStart.cfg, если мы хотим показать базы только определённому пользователю на компьютере.
- либо CommonCfgLocation=\\server\1C\config\bases.cfg — указывает путь и имя общего конфигурационного файла. Допускается наличие нескольких строк с таким параметром. Название файла не играет принципиального значения, лишь бы расширение сохранялось;
- либо CommonInfoBases=\\server\1C\config\buh_bases.v8i — указывает путь и имя файла (.v8i) со списком общих информационных баз. Название файла не играет принципиального значения, лишь бы расширение сохранялось;
- или в комбинации и тот и другой, и помногу строк.
Идея использования возможностей
Идея заключается в том, чтобы делать правки с наименьшим количеством повторений. Если настройки базы или её расположение на сервере поменялось, то, исправив запись один раз в одном месте, мы получим актуальную информацию на всех компьютерах.
Для этого необходимо сделать шару в сети: \\server\1C\ . В этой шаре сделать, как минимум два каталога:
..\bases\
Листинг каталога:
В этом каталоге будут хранится файлы с расширением .v8i. Эти файлы будут иметь внутри себя настройки всего лишь одной базы для каждого файла. Причём указать следует только те параметры, настройки, которые критичны именно для этой базы, всё остальное автоматом подставится по умолчанию. Пример файла:
Следует избегать использования параметра ID , т.к. 1С разработчики используют для создания новой базы копипаст из имеющейся базы. А базы с одним ID будут конфликтовать.
..\groups\
Листинг каталога:
В этом каталоге будут храниться файлы с расширением .cfg. Эти файлы будут иметь внутри себя ссылки на базы в каталоге ..\bases\. Пример файла:
В это каталоге мы создаём индивидуальные для группы пользователей или же для конкретного пользователя списки баз. Именно на файлы из этой группы мы ссылаемся в конфигурационных файлах операционной системы пользователя.
При такой схеме мы выносим управление списками баз 1С пользователей в сеть для не администраторов. На сетевой каталог с конфигурационными файлами дать доступ 1С разработчикам и пусть играются как хотят.
А если необходимо изменить настройки какой-то базы, то мы правим её всего одни раз в файле \\server\1C\bases\base.v8i, и это отразится у всех пользователей, т.к. все пользователи смотрят информацию о базе именно в этом файле.
Механизм РИБ — механизм распределенных информационных баз - это когда у вас есть главная база и подчиненная(ые). Главная база может быть только одна, подчиненных может быть много. Каждая подчиненная база может иметь свои подчиненные базы, для которых она будет главной.
Вот посмотрим на картинку из первой ссылки по запросу в Яндексе:
РИБ используется для обмена данными. Причем не только теми данными, с которыми работает пользователь, но и данными изменения конфигурации. То есть РИБ позволяет передавать изменения конфигурации. Но изменить конфигурацию можно только в главной базе!
Визуализируем:
У нас большая компания и много филиалов. Есть доработанная УНФ, которую мы гордо называем УБФ(Управление Большой Фирмой). Но мы решили, что хватит терпеть то, что все филиалы имеют доступ к документам всех филиалов и каждому филиалу решили сделать отдельную базу, которую синхронизировать с нашей основной базой для передачи данных. Что ж, можно. Сделали.
И внезапно мы решили изменить картинку, которая появляется при входе в базу, захотели поместить туда логотип нашей фирмы, а почему бы и нет?
Как запилить картинку во все базы всех филиалов? Ну при текущем варианте, что у всех филиалов отдельная база, только руками. Руками специалистов, которые умеют заходить в конфигуратор и знают что нужно там нажать.
А вот если бы мы сделали подчиненные базы для филиалов, то есть использовали РИБ, то и данными бы обменивались, как при обычной синхронизации, и картинка бы сама добавилась во все "базы-дочки". Однако, в конфигуратор зайти бы все-таки пришлось, но только чтобы нажать кнопочку "Обновить конфигурацию базы данных", вот картинка:
Как создать подчиненную базу, на пальцах:
я буду использовать Управление торговлей, редакция 11 (11.4.13.275), но способ, в целом, одинаковый во всех типовых конфигурациях.
1) Сначала проделаем шаги, как при настройке обычной синхронизации:
2) . поставим галочку, нажмем.
4) тут ознакомимся с описанием. Я выберу обычную настройку, но если бы мы следовали примеру выше, то нужно было бы выбрать "с фильтром" и там одним кликом выбрать нужный филиал.
6) Указываем префикс - он будет подставляться к номерам документов, чтобы можно было отличить документы дочки и основной базы.
7) в общем случае, тут ничего не надо нажимать, кроме "Записать и закрыть".
8) А вот теперь создаем нашу новую подчиненную базу:
9) указываем место, куда ее покладем.
10) Зайдем в нашу новую подчиненную базу и закончим настройки синхронизации(синхронизация уже создалась, так как использовали РИБ, но нужно указать каталог для обмена выбрав "Настройки подключения")
(обратите внимание на верхний левый угол окна программы, там название базы, он отличается от предыдущих, так как это "дочка")
Кстати, в новой базе все пользователи будут выключены, пароли сброшены, нужно включить руками:
В общем-то ВСЕ.
Подчиненная база создана!
Теперь, когда наши программисты что-нибудь улучшат, эти улучшения прилетят в подчиненные базы сами.
Вот что-то изменили в основной базе:
нам нужно перенести изменения в базы-дочки.
Для этого запускаем главную базу в режиме 1С:Предприятие, то есть в пользовательском интерфейсе, заходим в настройки синхронизации, жмем выделенную кнопку:
После того, как синхронизация закончится, заходим в базу дочку и так же жмем "Синхронизировать", база загрузит данные и напишет:
После нажатия на Далее база закроется и начнет устанавливать обновления.
Когда обновы установятся, база начнет запускаться и сообщит нам следующее:
Это означает, что не обновлена конфигурация базы данных. Та самая маленькая кнопка в конфигураторе и это именно та причина, почему придется ОДИН раз зайти в конфигуратор. Что ж, зайдем в конфигуратор базы-дочки и нажмем эту кнопку, заодно вообще посмотрим что-да-как там, мы ж там еще не были.
Откроем конфигурацию и вот что увидим
Нажмем на "Обновить конфигурацию базы данных".
Увидим список изменений, которые прилетели с обновлениями:
И вот эти обновления появились в подчиненной базе.
Теперь необходимо запустить базу в пользовательском режиме, чтобы выполнились обработчики обновления.
Несколько правил:
1) Все узлы, кроме одного, должны иметь по одному главному узлу и один узел не будет иметь главного узла - это корневой узел.
2) Конфигурация может быть изменена только в узле, не имеющем главного узла (то есть в корневом).
3) Изменения конфигурации будут передаваться от главного к подчиненным узлам.
4) Разрешение коллизий так же будет производиться исходя из отношений "главный - подчиненный" - если изменения сделаны одновременно и в главном и в подчиненном узлах, то приняты будут изменения главного узла.
5) Сделать подчиненный узел в распределенной базе можно разными способами, но создание начального образа является рекомендуемым.
А теперь то, ради чего все писалось.
Как подчиненную базу сделать обычной(нормальной, отдельной, как хотите).
Я опишу только тот способ, которым пользуюсь. Это моя шпаргалка. Но он не единственный.
1) Заходим в свойства ярлыка запуска окна 1С:Предприятие:
2) В поле "Объект" дописываем:
DESIGNER /F"Путь до базы" /N"Имя Пользователя в базе" /P"Пароль пользователя" /ResetMasterNode
В итоге у меня получится:
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F"C:\Users\79119\Desktop\РИБ" /N"" /P"" /ResetMasterNode
В любой конфигурации 1С предусмотрена возможность хранения электронных документов. Среди них могут быть входящие и исходящие документы, получаемые из сервиса 1С-Отчётность – уведомления, сверки, ответы на требования и прочие.
По мере накопления в базе файлов она работает всё медленнее. Чтобы сохранять высокую работоспособность базы, можно перенести её на сервер, уменьшить размер отправляемых файлов, либо почистить её, просто выгрузив лишнее. В этой статье будут рассмотрены способы уменьшения размера базы.
Вложенные файлы в 1С – где они расположены?
Чтобы посмотреть вложения, нужно нажать на кнопку-скрепку «Присоединённые файлы».
Документы могут быть в формате XML, либо сканированными в форматах JPG, PNG, TIF, PDF.
В справочники и журналы документов можно добавлять документы любого формата: таблицы Excel, текстовые документы Word, архивы и прочие.
«Кнопка-скрепка» есть в большей части журналов и документов – на неё стоит обратить внимание.
Если нажать её, можно будет загрузить документ в базу с диска.
О наличии прикреплённого вложения после этого будет говорить значок в виде скрепки в строке документа.
Загружать можно как через журналы либо документы, так и через справочники 1С. К примеру, договор контрагента в раздел «Справочники» – «Договоры».
Это весьма удобно, ведь документы постоянно в базе и их не приходится искать – можно посмотреть сразу, как только понадобились. Но постепенно база из-за этого растёт, и в какой-то момент может начать доставлять неудобства из-за ощутимо снизившейся скорости работы.
Разберём, какими способами бороться с этим.
Варианты решения: сохранение на диск или сервер, архивация документов
В 1С доступны следующие варианты решения проблемы с размером базы:
- Первый – хранить файлы на диске компьютера в томах. При такой настройке документы будут доступны из базы столь же легко, как если бы они в ней хранились, но в действительности хранятся на диске компьютера либо на сервере в отдельной папке.
- Второй – сохранение документов из базы в архив. Файлы при этом удаляются из базы, так что из программы 1С они не будут доступны, но в любой момент их можно будет восстановить из архива.
Какой вариант применить решать самому пользователю, далее будет рассмотрена настройка каждого из них.
Важно: в любом случае обязательно сохранить копию базы. Дело даже не в том, что неприятности могут случиться во время выгрузки данных (хотя такая вероятность существует), просто после очищения из базы лишних файлов вернуться к ним обычно уже не получится.
К примеру, в базе находится требование о предоставлении документов и ваш ответ на него с вложенными файлами. После очищения данных вложенные файлы просто пропадут – их больше не будет в базе, так что само требование вы увидеть сможете, а вот посмотреть детали уже нет. Именно поэтому обязательно нужно сохранить копию базы, ведь к старым документам нередко приходится возвращаться.
Если вы боитесь выполнять описанные процедуры самостоятельно, стоит доверить их специалистам по 1С.
Далее рассмотрим, как очистить базу 1С от всего лишнего.
Хранение файлов на диске компьютера
Эта настройка применяется ко всей базе, храниться так будут все документы, прикреплённые в 1С. Пользователь не будет замечать разницы во время работы – так, словно всё хранится в базе самой программы.
Шаг первый. Чтобы настроить хранение файлов на диске, нужно перейти в раздел «Администрирование», отыскать подраздел «Настройки программы» и открыть в нём «Настройки работы с файлами».
Есть два варианта настройки хранения файлов на томах на диске:
- только в томах на диске;
- в информационной базе и томах на диске.
Если выбрать первый вариант, все документы будут храниться на диске компьютера.
Если выбрать второй вариант, появится возможность настроить, что стоит сохранять в информационной базе 1С, а что на диске. В поле «Расширения файлов, хранящихся в информационной базе» можно задать расширения вручную через пробел, либо выбрать из списка и убрать ненужное.
Можно установить ограничение по объёму файла в информационной базе. В таком случае все превышающие это ограничение файлы будут отправляться на диск вне зависимости от других настроек.
Пока настройка хранения файлов в томах не проведена пользователем, все они сохраняются в информационную базу. При переключении программа об этом напомнит и предложит настроить тома хранения файлов.
Когда определитесь с вариантом хранения, нужно будет выполнить настройку томов.
Если стоит галочка «Создавать подкаталоги с именами справочников-владельцев файлов», то файлы в томах будут размещаться в папках-подкаталогах.
Шаг второй. Нажмите на гиперссылку «Тома хранения файлов», выделенную на картинке ниже.
Шаг третий. В появившемся окне нажмите на кнопку «Создать» и проведите настройку.
Шаг четвёртый. Дайте тому наименование – оно может быть любым, и укажите путь к нему на сервере. Задайте его максимальный объём в мегабайтах.
Путь к папке, в которой будут храниться документы, должен быть сетевым, в ином случае настройка просто не будет сохранена в программе.
Если сеть настроена и доступ для других компьютеров открыт, нужно лишь создать папку для хранения документов и указать в настройке.
Если сети нет и папку требуется создать на текущем компьютере, нужно перейти к следующему этапу.
Шаг пятый. Создайте папку на диске. В рассматриваемом примере она создана на диске D и называется «Документы 1С». После этого щёлкните по ней правой кнопкой мыши и зайдите в «Свойства».
Шаг шестой. Нажмите на закладку «Доступ», затем на кнопку «Общий доступ. ».
Появится окно, где нужно просто нажать на «Готово» и сетевой доступ к папке будет открыт. Скопировать его можно будет на закладке «Доступ». Если доступ к папке у пользователя был открыт, нужно его проверить и скопировать путь к папке, после чего указать в поле настройки хранения томов.
Шаг восьмой. Когда путь к папке будет указан, нажмите «Записать и закрыть».
В результате проведённой настройки файлы прикрепляемых документов будут сохраняться на диск компьютера. Но что насчёт информации, которая уже есть в базе? Они тоже занимает место, а многие принимаются за настройку лишь когда база становится очень велика и начинает мешать работе.
Настройте перенос: он должен быть сделан из информационной базы в указанный том. Нажмите «Перенести».
Доступны дополнительные настройки переноса, так, можно отметить файлы указанного владельца и загрузить только договоры, как указано на рисунке.
Шаг десятый. Найдите раздел «Администрирование», затем подраздел «Обслуживание».
Шаг одиннадцатый. Разверните «Регламентные операции», нажмите на гиперссылку «Регламентные и фоновые задания».
Шаг двенадцатый. Выделите отмеченную на картинке ниже строку и нажмите «Выполнить сейчас».
Переносится только 10 файлов, так что пользователю удобнее настроить расписание выполнения указанного задания для автоматического запуска переноса по кнопке «Настроить расписание. ».
Когда файлы будут перенесены в том, желательно сжать таблицы базы 1С, поскольку записи информации всё ещё хранятся в них.
Сжатие таблиц в режиме «Конфигуратор»
Чтобы сжать таблицы, нужно сделать следующее:
Запустите базу в режиме «Конфигуратор».
Отправьтесь в раздел «Администрирование» и нажмите на «Тестирование и исправление. ».
Установите галочку и нажмите «Выполнить».
Ставить галочку следует в пункты:
«Сжатие таблиц информационной базы» для файлового варианта информационной базы.
«Реструктуризация таблиц информационной базы» для клиент-серверного варианта.
В результате база будет сжата и её размер уменьшится.
Архивирование документов
Ещё один способ выгрузить документы из программы – провести их архивирование. Для этого потребуется скачать с сайта 1С обработку «Создание архива документооборота».
Стоит напомнить: если пользоваться этим вариантом, доступа из программы к документам не будет. Если потребуется, их можно будет восстановить из архива при помощи той же обработки.
Перед началом архивации стоит сохранить резервную копию базы, а также убедиться, что места на диске хватает и для выполнения операции, и чтобы сохранить данные.
После этого нужно открыть обработку: для этого нажмите кнопку «Сервис и настройки», выберите «Файл», затем «Открыть».
Далее нажмите на «Создание архива документооборота».
Появится предупреждение, нужно ответить «Да» и разрешить открыть файл.
У обработки две вкладки – архивация и восстановление. При помощи первой создаётся архив, а во второй можно извлечь документы из него.
В первой вкладке следует указать каталог архива.
Чтобы удалить файлы из базы 1С, нужно поставить галочку рядом с «Удалять файлы из базы». Объём файлов будет оценён системой, так что пользователь сможет увидеть, сколько места требуется для архива.
У обработки есть и другие настройки, можно ограничить период обработки документов, настроить выбор группы.
Когда все настройки будут сделаны, нажмите на «Архивировать».
Остаётся только нажать на «Закрыть» – архивация завершена.
Теперь в разделе «Администрирование», далее «Тестирование и исправление. » нужно выполнить сжатие таблиц базы в режиме «Конфигуратор». Как это делается уже было рассмотрено ранее.
Восстановление из архива
Если потребовались данные, удалённые из базы при архивации, их можно восстановить из архива. Для этого применяется та же обработка, только теперь её вторая закладка – «Восстановление».
Нужно указать путь к архиву и нажать на «Восстановить».
Файлы будут выгружены в ту базу, откуда загружались – это единственный вариант.
Когда загрузка будет завершена, программа оповестит об этом.
Сервисы, помогающие в работе бухгалтера, вы можете приобрести здесь.
Хотите получать подобные статьи по четвергам?
Быть в курсе изменений в законодательстве?
Подпишитесь на рассылку
Читайте также: