Как прервать выгрузку конфигурации 1с

Обновлено: 07.07.2024

Наверное, одна из самых частых задач, которую выполняют молодые программисты 1С – это обновление баз на платформе 1С. Думаю, они знают, как выгрузить копию базы, как создать файл конфигурации, как загрузить конфигурацию и как решаются другие подобные задачи. Эта статья – скорее «памятка» для пользователей, которым пришлось самостоятельно зайти в конфигуратор и сделать выгрузку из 1С.

1. Отличие CF-файла и файла базы данных 1С 8.3

Нужно понимать отличие CF-файла и файла базы данных 1С 8,3 (dt-файл).

Сf-файл, это файл конфигурации баз 1С. Он нужен для хранения структуры и кода (выполняемых алгоритмов) базы.

Файл dt – это файл, который хранит сжатые данные всей базы вместе с файлом cf.

Следовательно, файл базы будет весить значительно больше, чем файл конфигурации. И учетные данные есть только в файле dt.

2. Как выгрузить файл CF

Чтобы выгрузить файл из базы данных 1С 8,3, нужно зайти в базу в режиме конфигуратора. Для этого при входе в базу нужно выбрать «Конфигуратор».



Если конфигурация не открыта, то выгрузить файл не получится. Сначала нужно открыть конфигурацию.

Для этого нужно в режиме конфигуратор нажать кнопку «Открыть конфигурацию 1С».



После открытия нужно зайти в меню «Конфигурация» - «Сохранить конфигурацию в файл».





После сохранения файл cf в указанном месте можно передать его программисту. Но стоит учитывать, что конфигурации могут довольно много весить (бывает 1 Гб и более), поэтому не стоит отправлять их почтой. Лучше воспользоваться каким-нибудь файловым веб-сервером.

Если же требуется загрузить конфигурацию 1С, то можно воспользоваться тем же меню «Конфигурация» - «Загрузить конфигурацию 1С из файла». Но стоит быть внимательным с загрузкой файла конфигурации. Файл должен соответствовать текущей базе.

3. Выгрузка файла базы данных 1С 8.3

Выгрузить файл dt (базы данных) можно через меню «Администрирование» - «Выгрузить информационную базу». Далее нужно указать место, куда нужно выгрузить копию базы.

Не забывайте, что этот файл содержит все учетные данные вашей базы (в отличие от cf-файла). Потому не стоит передавать его всем подряд или хранить без необходимости в общем доступе.

Этот случай возник у меня с одним большим клиентом пару лет назад. У клиента стояла 1С: Предприятие 7.7 + SQL Server 2000 (думаю для 2005 эта проблема останется). Необходимо было взять базу на доработку. Несколько попыток ее выгрузить успехом не увенчались. Выгрузка подвисала и могла висеть всю ночь. Проблема на лицо. База не была такой большой, что бы ей не хватало времени выгрузиться, тем более в связке с SQL Server’ом.
Тестирование и исправление ничего не дало – ошибок «ноль».
Подхожу к решению проблемы следующим образом:
1) Запускаю SQL Server Profiler (так кажется в 2000 он называется) – это монитор выполняемых запросов.
2) Запускаю 1С в режиме конфигуратора и приступаю к выгрузке. Перехожу в Profiler и смотрю на процесс.
3) Замечаю, в определенный момент, в Profiler’e процесс выгрузки останавливается. Т.е. Profiler висит на одном запросе. Жду, возможно, так надо… =514;
4) 20 минут ситуация не меняется – смотрю на текущий выполняемый запрос. Там указание на запрос и на текущую обрабатываемую запись в _1SJOURN. Прерываю выгрузку. Перехожу на эту таблицу, и смотрю, что за запись. Смотрю на реквизиты DATE, DOCNO – это соответственно дата и номер документа, на котором висим! Что за вид документа не смотрю, тупо найду документ с таким же номером в этой дате. BEST!
5) Разбираемся, почему 1С не хочет выгружать именно этот документ. Для этого, собственно, открываем 1С в режиме предприятия, находим этот документ и смотрим на него.
6) Сразу бросается в глаза огромный текстовый блок в этом документе (строка с неограниченной длиной). Все остальное вроде бы в порядке. Мысли такие может из-за того, что слишком большой кусок текста в этом документе. Ловлю себя на мысли, что это бред… Делать нечего, попробую. Очищаю этот реквизит и сохраняю документ.
7) После этого, перехожу к шагу 1 и повторяю процедуру. Ура, злополучный документ проскочил! Но остановились чуть дальше. Все проблема ясна. Но прежде чем очистить реквизит присматриваюсь к тексту и вижу, что в этом тексте полно таблиц построенных с помощью символов псевдографики (тире и прямые слеши). Очищаю и этот реквизит.
8) Продолжаю и так документов пять… Везде эти таблицы с псевдографикой.
9) Выгрузка получена и на последней попытке, время потребовалось не так много оказывается.

ВЫВОД: 1С: Предприятие 7.7 в реквизитах с типом «Строка» с неограниченной длинной на SQLном варианте подвисает, если в этом реквизите много данных с символами ‘-’ и ‘|’. Видимо попадается, какая то последовательность символов, которая не очень «нравится» 1С. Закономерность ясна, но последовательность «корявых» этих символов не установлена.

Клиент доволен. А уж я как доволен ;)

СЛУЧАЙ №2 (1С: Предприятие 7.7 + DBF => 1С: Предприятие 7.7 + SQL Server)

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

На этот раз проблема с DBF базой. У клиента она достигла размеров 3.9 GB (. ). Это 4 года работы порядка 30-40 одновременно работающих человек! Вы скажете не так много, да согласен, но учтите база то DBF…

Появились проблемы типа, нельзя одновременно открывать 1С в режиме конфигуратора и предприятия (что-то обязательно вылетит), очень медленная скорость работы, постоянные проблемы с переиндексацией. Группа людей, которая занималась этой конфигурацией – или как они позволяют себя называть «программисты» (бывшие военные пред пенсионного возраста(. ), да и такое бывает), поддерживала и изгалялась над ней, как могла. Там есть документы типа «Выписка», «Выписка1», «Выписка11». Отчеты типа «Отчет для тети Зины». Журналы, которые использовались как подсистемы. Открывание и формирование отчетов, обработок, перепроведение различных документов в тестовой базе выбранных случайно в 70% либо не открываются, либо вылетают с ошибками. В некоторых регистрах по 20 измерений и 15 ресурсов… Перечисления типа такого: «Кладовщики» со значениями «Иванов Иван Иванович», «Петров Петр Петрович» и т.д. это можно продолжать долго.
ЖУТЬ!
От этой базы нужно избавляться, чем скорее, тем лучше, но как? Создание новой конфигурации на восьмерке руководство одобрило. Но за два дня не напишешь конфигурацию, которая закроет потребности целого завода. А руководство требует: «Программа должна взвешивать авто в 1С срочно!». Какое взвешивание? Тут хоть бы завтра конфигурация не загнулась. Ну а так как база DBF-ная, то все работают где? Правильно, на удаленном рабочем столе (терминале), там же база. Попытка провести документ с локального рабочего места происходит за 1.5 минуты. А как взвешивать с удаленки? Внешняя компонента производителя весов может работать только с локалки… Подключение локальных ресурсов не работает как нужно. Ставить Citrix (надстройка над терминалом), решила бы проблему, но это слишком накладно.

Решение было принято следующее: перенести базу на SQL Server. Это избавит от лишних проблем, да и работа с локалки будет по скорости практически одинакова с работой на терминале. Закрыть эту срочную проблему, потом, не спеша, заниматься созданием нормальной конфигурации для предприятия.
Итак, моя задача перенести базу DBF на SQL Server.
Попытаемся определить причины вылетов из конфигурации.

1) Вылеты бывают только тогда когда запущен и конфигуратор и предприятие. На всякий случай. Проверю MD-шник, благо, таких программ много. Программа показала, что в обработке «Шашки» (да, там и такое есть), чего-то там не верно. Заходим, удаляем из конфигурации.

2) Попробую тестирование и исправление. Пробую. Конфигурация выдает больше 1000 ошибок. Скорее всего чудо программисты, никогда не знали, что это такое. Поставил галочку перерасчет итогов, обнаруживаю, что после нее «Оборотно-сальдовая ведомость» не похожа на себя. Значит так делать нельзя. Пересчитывать итоги нельзя! Ужас. Интересно сколько эта база еще выдержит?

3) Попробовать свернуть базу? Да, но есть такие отчеты, причем очень важные, которые нужно формировать именно с 26 марта 2006 года, ни раньше, ни позже, иначе отчета по финансовым результатам не получится. Бегло смотрю, вместо использования регистров или проводок используются перебор документов, ну-ну…

4) Выгружаем базу с DBF. При выгрузке в списке ошибок «Проверка операций. Операция документа ВводОстатковОсновныхСредствНУ 1. Исправлена нумерация проводок;;» таких строк около 100. Лишь бы перенеслось нормально.

5) Потом загружаем на SQL Server. Спустя некоторое время вылетает ошибка: мол в таблице _1SENRTY не может быть создан первичный ключ PK__1SENTRY ввиду повторяющегося значения ключа (200604276PPZLS 2DGY,0,0) и процесс загрузки прекращается. Значит, в таблице _1SENTRY, 1С пытается создать первичный ключ, но за счет того, что записи по которому он строится повторяются он не может быть создан. Исправлять это на SQL смыла нет, так как выгрузка не была завершена, поэтому удалим ее из DBF базы и проделаем все заново.

6) Открываем SQL Server и смотрим на таблицу _1SENTRY. Ага, поле по которому 1С пытается построить первичный ключ называется DATE_TIME_DOCID и состоит из конкатенации DATE (дата проводки), TIME (время проводки) и DOCID (№ документа или операции) + в первичный ключ включается NUMBER (№ проводки) выполняем запрос в базе данных
--Выбирает все проводки, у которых DOCID содержит подстроку «2DGY»
SELECT * FROM _1SENTRY WHERE DOCID LIKE '%2DGY%'

2DGY не случайно именно его нам 1С при загрузке и указала в качестве описания ошибки (см. в пункт 5)

7) Запрос вернул 4 строки с суммами. Причем две строки реально задвоенны! Интересно как это могло получиться в DBF базе? Далее открываем конфигурации в режиме предприятия и ищем ту самую операцию с проводками (Операции>Журнал операций выбираем операции за дату 27.04.2007 – см. пункт 5). По нашим суммам запроса SQL-базы, пытаемся найти задвоенные проводки. После недолгого поиска, наконец, нашел. Открываем документ, которые сделал эти операции, смотрим, там три строки, а вот проводок четыре, хотя по логике больше быть не может! Причем одна явный клон другой и номера у них одинаковые. Пытаюсь перепровести документ, все получается! Лишняя проводка удалилась! Ну, опять. Выгрузка из DBF. Загрузка в SQL… Проскочило. Ура! Если бы такая ситуация повторилась второй раз я планировал написать обработку которая в DВF-варианте перебрала бы повторяющиеся записи и потом по ним пришлось бы перепровести документы. Но мне повезло. Как ни странно, эта ошибка оказалась одной единственной, которая препятствовала выгрузке на SQL Server.

8) Конфигурация полностью перегрузилась. Открываем обе базы SQL и DBF. Открываем оборотно-сальдовую ведомость и по всем фирмам формируем ее. Вроде бы то. Обортки совпадают. Но радоваться рано, проверяю все «работающие» отчеты, все вроде бы сходится.

9) Странное дело, но вылетать после заливки SQL-ный вариант перестал.

Вывод: Конечно, проблема решилась частично: логическая целостность нарушена, итоги накрылись и вряд ли что-то их может оживить, но даже в этом случае на SQL версии, 1С будет работать стабильней. Если не перепроводить документы прошлых периодов и не пересчитывать итоги, база еще немного продержится… А времени для создания новой конфигурации должно хватить с лихвой.

Подчеркну это не свод правил, это моя методика. У кого какие замечания и дополнения прошу к обсуждению

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

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

Сегодня расскажем, как выполнить резервное копирование и восстановление информационной базы 1С на примере «1С:Бухгалтерия 8 редакция 3.0».

Важно: доступ к настройкам резервного копирования в программах 1С есть только у пользователя с правами «Администратор».

Создаем копию информационной базы 1С

Чтобы узнать, где находится база, нужно запустить систему. При запуске посмотрите на строчку с расположением файла базы.


Далее нужно перейти по этому пути и переместить копию файла туда, где он будет хранится.



Во время этой операции в базе нельзя производить действия с объектами конфигурации.

Когда потребуется восстановить базу из файла, замените файл *.1CD в папке базы данных.



Выгрузка информационной базы через конфигуратор

Есть и другой способ сделать резервное копирование. Для этого варианта в программе 1С нужно активизировать конфигуратор и выполнить выгрузку базы в файл с расширением dt.





Настраиваем автоматическое резервное копирование

Чтобы выполнялось регулярное сохранение базы, лучше применять автоматическое резервное копирование в 1С.

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


У вас будут варианты для сохранения копии. Система предложит:

  • жесткий диск;
  • внешнее устройство;
  • облачный архив.


Через ссылку «Настройка резервного копирования» вы сможете выбрать:

  • периодичность создания копии файловой базы 1С;
  • дату начала и дату окончания выгрузки ИБ;
  • место для сохранения ИБ (используйте облачные сервисы);
  • количество хранимых резервных копий.


Обратите внимание! Такой механизм не подойдет для клиент-серверной базы.

В этом случае автоматическое резервное копирование данных в 1С 8.3 нужно будет выполнять через СУБД. А для этого нужно понимать структуру и механизмы СУБД.

Если у вас это вызывает сложности, то лучше обратитесь за помощью к нашим специалистам.

Восстановление базы 1С из резервной копии

Администратору важно не только уметь создавать копии базы данных или настраивать автоматическое резервное копирование, но и знать, как в случае необходимости восстановить базу.

Итак, у вас уже есть резервная копия информационной базы 1С 8.3.

Давайте загрузим ее в программу. Только обязательно сделайте перед этим резервную копию.

Режим конфигуратор

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


Далее в окне нажимаем на файл сохраненной резервной копии с разрешением *.dt. Затем «Открыть».


Затем программа выдаст предупреждение и спросит, продолжить ли загрузку. Отвечаем «Да».


Внизу окна в строке можно будет следить за статусом загрузки.


Режим пользователя

В этом же разделе нужно будет и загружать файл архива.


Затем в разделе «Резервное копирование и восстановление» следует нажать «Восстановление из резервной копии».


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

Далее выбирайте «Открыть», а затем нажмите «Восстановить данные».


Подождите до завершения операции, а затем приступайте к работе в восстановленной базе 1С.


Резервное копирование информационной базы «1С»

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

Существует три простых и эффективных способа резервного копирования.

Способ № 1. Обычное копирование

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

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

Чтобы узнать, где находиться ваша информационная база, можно открыть «1С:Предприятие 8», выбрать/выделить необходимую базу и нажать кнопку «Изменить». В открывшемся окне будет указан путь к вашей информационной базе.

54654565

Способ № 2. Выгрузка информационной базы

Для выгрузки нужно войти в конфигуратор базы. Попасть туда можно, открыв «1С:Предприятие 8» (где мы выбираем базу для входа) и нажать кнопку «Конфигуратор».

После того как открылась конфигурация, нужно открыть базу. Для этого в главном меню выберете вкладку «Конфигурация» и далее «Открыть конфигурацию».

После того как откроется нужная информационная база, нужно на панели сверху выбрать вкладку «Администрирование» – «Выгрузить информационную базу» и указать путь, куда сохранится база.

Способ № 3. Автоматическое резервное копирование

Для настройки автоматического копирования нужно войти в базу, открыв «1С:Предприятие 8» и выбрать вкладку «Администрирование» – «Поддержка и обслуживание».

После чего развернуть вкладку «Резервное копирование и восстановление».

Далее выбираем пункт «Настройка резервного копирования». Тут возможны варианты – по расписанию и при завершении работы с программой. Лучше всего, особенно если вы не единственный пользователь базы, выбрать вариант «Регулярно по расписанию». Настроить его очень просто. Необходимо перейти по ссылке возле «Регулярно по расписанию» и указать дату начала и окончания создания копии.

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

Как самостоятельно обновлять конфигурацию «1С»

Не забываем: самое важное в обновлении – это сделать архивную копию. После этого можно приступать к обновлениям.

Заранее уточним, что самостоятельно базу можно обновлять, только если вы используете типовую конфигурацию. Если вам когда-то дорабатывали базу, то в этом случае обновить ее без риска «все сломать» сможет только специалист.

Абсолютно каждый пользователь может самостоятельно обновить типовую базу, не имея при этом особых навыков и знаний, а просто по инструкции, одним из двух указанных ниже способов.

Способ № 1. Обновление через Интернет

Далее нужно войти в базу, перейти по вкладкам «Администрирование» – «Интернет поддержка» – «Обновление конфигурации». Откроется окно помощника для обновления. В данном окне оставляем по умолчанию выбранный способ обновления и поставим галку «Всегда подключаться к Интернету». В этом же окне у нас есть возможность поставить галку «Всегда проверять обновления» при запуске программы – советую ее включить, и ваша база всегда будет актуального релиза.

6546464

Если обновление есть, то нажимаем «Далее», начнется процесс обновления. Он может затянуться, если установлен не последний релиз конфигурации. Программа скачивает все необходимые релизы до последнего и устанавливает их. Когда программа установит все релизы, то она предложит перезапуститься и после перезапуска процесс обновления завершится.

Способ № 2. Обновления с помощью конфигуратора

Затем нужно перейти в папку на компьютере, куда скачался дистрибутив (файл) обновления, и его разархивировать. В итоге в папке появится несколько файлов, из которых нам нужен setup.exe. По нему нужно будет щелкнуть два раза и в появившемся окне нажимать кнопки «Далее», ничего не изменяя. Так база будет подготовлена к обновлению.

После заходим в конфигуратор, переходим по вкладке «Конфигурация» – «Поддержка» – «Обновить конфигурацию». В появившемся окне выбираем верхнюю строчку и нажимаем «Далее». В следующем окне оставляем галку только на верхней строчке. У нас появится окно с обновлением, выбираем нужное и нажимаем кнопку «Готово». Во время обновления программа будет выводить вопросы, нужно будет отвечать всегда «Да». После завершения обновления обязательно запускаем «1С:Предприятие», чтобы оно тоже его приняло. Нам этом обновление завершено.

Свертка базы в «1С»: зачем это и как это делать?

Со временем в базу вносится все больше и больше различных данных, ее размер постоянно растет – особенно если ваша организация большая или вы ведете в базе несколько организаций. В итоге база может вырасти до 5 Гб, в связи с чем программа начнет работать медленнее. Если ваша база приблизилась к максимально критической отметке по объему, то она может вообще и не открыться.

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

Чтобы провести свертку, заходим в базу, открываем раздел «Администрирование», в панели действий – «Сервис», и нажмем на кнопку «Другие команды».

Откроется форма свертки. Свертка проводится в последовательно в несколько этапов, по завершению каждого этапа он обозначается зеленым цветом.

Первый этап – создание резервной копии.

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

На этом этапе мы создаем резервную копию, установив флажок, далее вводим пароль пользователя (если он есть) и выбираем папку куда будет сохранена копия базы.

После чего программа предупредит о перезапуске базы. Выполнив все необходимое, нажимаем кнопку «Далее» в нижнем углу.

Второй этап – настройка.

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

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

Третий этап – формирование остатков.

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

После того как мы нажмем кнопку «Далее», программа сформирует документы «Ввод остатков по регистрам».

Четвертый этап – самостоятельная проверка.

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

Пятый этап – автоматическая проверка.

На вкладке «Проверка» можно сформировать отчеты по регистрам бухгалтерии или по регистрам сведения и накопления. Данные выводиться как по бухгалтерскому учету, так и по налоговому. Справа у нас расположена кнопка стандартных отчетов.

Шестой этап – удаляем старые документы.

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

Резервное копирование, обновление конфигурации и свертка базы – это три очень важных аспекта работы с базой «1С». Без резервной копии мы не сможем восстановить базу, с обновлением появился новый функционал для упрощения работы, а свертка базы заставит программу работать быстрее.

Читайте также: