Системные программы

Личный опыт: как быстро и без лишних затрат обновить измененную конфигурацию. Мануал по обновлению нетиповых Начнем с обновления конфигурации поставщика

Личный опыт: как быстро и без лишних затрат обновить измененную конфигурацию. Мануал по обновлению нетиповых Начнем с обновления конфигурации поставщика

Получилась, сохраню себе на всякий:

Внутри базы хранятся 2 конфигурации: конфигурация поставщика (которая типовая), и основная конфигурация (она используется при работе с базой данных)

При установке обновлений на базу с конфигурацией, снятой с поддержки и доработанной, выполняется фактически обновление двух конфигураций: обновление конфигурации поставщика (обновление типовой конфигурации, без изменений, до текущего релиза), и обновление основной конфигурации.

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

Собственно процесс обновления выполняется в 2 этапа: обновление конфигурации поставщика, и обновление основной конфигурации. Последовательность выполнения этапов не принципиальна.

Для чего нужны 2 конфигурации в 1 флаконе? Такое сочетание конфигураций базы удобно использовать для получения перечня изменений в типовой конфигурации. В основной конфигурации содержится конфигурация с изменениями, в конфигурации поставщика – типовая. При помощи встроенного в платформу механизма сравнения конфигураций (в данном случае основной и поставщика), можно получить наглядное представление о том что было изменено в конфигурации в сравнении с типовой. Единственное условие для комфортной работы при сравнении – это поддержание одинаковых версий релизов обеих конфигураций. Для этого нужны 2 файла cf – один для основной, другой – для конфигурации поставщика.

Представим себе, что оба файла cf у нас есть (по подготовке cf с изменениями - отдельно) Назовем их, например, «Типовая_2_0_49_8.cf» и «Обновление_2_0_49_8.cf» Соответственно, первый файл – это обновление для конфигурации поставщика, второй – для основной конфигурации.

Начнем с обновления конфигурации поставщика.

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

Тут все знакомо. Указываем файл «Типовая_2_0_49_8.cf», и нажимаем Готово

После утрясения всех вопросов, платформа начнет загрузку конфигурации для сравнения. Это занимает некоторое время…

По окончании загрузки получаем следующее окно:

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

Так как нам нужно обновлять только конфигурацию поставщика, а основную пока не трогать, снимаем все галки в левой колонке (если снять самую верхнюю, все остальные ниже снимутся самостоятельно)

Нажимаем «Выполнить», ждем некоторое время…

В процессе загрузки может появиться следующее окно:

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

Результатом всех наших манипуляций будет сообщение

Идем в меню Файл – Сохранить (платформа сохранит сделанные изменения), и затем в меню Конфигурация – Обновить конфигурацию базы данных. Процесс займет некоторое время, и будет требовать принятия изменений в течение реорганизации.

На этом первый этап закончен.

Обновление основной конфигурации.

В режиме Конфигуратор идем в меню Конфигурация – Сравнить, объединить с конфигурацией из файла. Сразу же получаем окно для выбора файла, в котором указываем наш файл для обновления основной конфигурации «Обновление_2_0_49_8.cf» Платформа сразу же начинает сравнение конфигураций.

Так как наш файл «Обновление_2_0_49_8.cf» содержит уже обновленную конфигурацию, с учетом всех изменений, то все галки в левой колонке теперь оставляем на месте.

После нажатия кнопки «Выполнить», будет выполнено объединение конфигураций (аналогично первому этапу)

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

На самом деле, если изменения в конфигурации минимальны, и заранее известны, можно обойтись только одним этапом – обновлением конфигурации поставщика. При этом в левой колонке нужно снять галки с тех объектов, которые были изменены по отношению к типовой. Однако эта методика применима только в том случае, когда не требуется внесения изменений в формы и/или сравнения больших блоков кода. Новая типовая конфигурация будет наложена на текущую, за исключением тех объектов, которые мы снимем с объединения.

Методика обновления – универсальна, подходит не только для конфигураций «БухгалтерияПредприятия», но и для Комплексной, и для ЗУП, и для прочих…

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

Постановка задачи

Предположим, что мы дорабатываем базу с очень тяжелой конфигурацией. Сохранение и/или перезапуск после сохранения выполняются продолжительное время.
Пусть есть модуль менеджера некоторого объекта в нашей конфигурации. В этом модуле менеджера есть экспортный метод, из которого вызываются остальные процедуры.
Необходимо доработать этот модуль менеджера. При этом требуется минимизировать количество перезапусков базы после каждого внесения изменения в код в процессе отладки.

Суть решения

Скопируем весь код модуля менеджера во внешнюю обработку
- Добавим возможность переадресовывать вызовы экспортных методов модуля менеджера во внешнюю обработку (максимально простым способом)
- Переадресацию будем включать/отключать из отладчика с помощью механизма остановки по условию

Шаг 1 .
Предлагаю добавить в начало метода, который является точкой входа, следующий код:

// Модуль менеджера некоторого объекта конфигурации Процедура Печать(Параметры) Экспорт // ++ отладка Перем Отладчик; Если Отладчик <> Неопределено Тогда Отладчик.Печать(Параметры); Возврат; КонецЕсли; // -- отладка Сообщить("Это вызов из модуля менеджера"); КонецПроцедуры

Шаг 2.
Далее создаем служебную универсальную внешнюю обработку, например, в какой-нибудь папке на сервере. Назовем ее Отладчик.epf .
В этой обработке опишем короткую универсальную экспортную функцию примерно следующего содержания:

// Модуль обработки Отладчик.epf Функция УстановитьМодульОтладки(Отладчик, ИмяМодуля) Экспорт Отладчик = ВнешниеОбработки.Создать(ПутьКВнешнейОбработке(ИмяМодуля), Ложь); Возврат Ложь; КонецФункции Функция ПутьКВнешнейОбработке(ИмяМодуля) Возврат ТекущийКаталог() + ИмяМодуля+ ".epf"; КонецФункции Функция ТекущийКаталог() Экспорт Файл = Новый Файл(ЭтотОбъект.ИспользуемоеИмяФайла); Возврат Файл.Путь; КонецФункции

Шаг 3.
Создадим внешнюю обработку, в которой будем писать наш код. Копируем в модуль объекта этой обработки код из модуля менеджера полностью.
Сохраним ее в той же папке, что и Отладчик.epf . Зададим для этой обработки имя, например, такое Обработки.ПечатьСчета.МодульМенеджера.epf .

// модуль объекта внешней обработки Обработки.ПечатьСчета.МодульМенеджера.epf Процедура Печать(Параметры) Экспорт // ++ отладка Перем Отладчик; Если Отладчик <> Неопределено Тогда Отладчик.Печать(Параметры); Возврат; КонецЕсли; // -- отладка // ++ исправили //Сообщить("Это вызов из модуля менеджера"); Сообщить("Это вызов из внешней обработки"); // -- исправили КонецПроцедуры

Шаг 4.
В модуле менеджера ставим точку останова по условию. В условие прописываем следующий код:

ВнешниеОбработки.Создать("C:\Отладка\Отладчик.epf", Ложь).УстановитьМодульОтладки(Отладчик, "Обработки.ПечатьСчета.МодульМенеджера")

Шаг 5.
Запускаем тестовый пример. В точке останова будет вызвана проверка условия. При этом в переменную Отладчик присвоится объект созданной внешней обработки Обработки.ПечатьСчета.МодульМенеджера.epf . Это приведет к тому, что условие Если Отладчик <> Неопределено Тогда выполнится, и вызов будет переадресован во внешнюю обработку.

Шаг 6.

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

После окончания доработок - заменяем код в модуле менеджера на код из внешней обработки (полностью).

Не забываем отключить точки останова по условию.

Перед помещением в хранилище можно удалить отладочную часть в модуле менеджера.

Область применения

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

Файлы

Прикладываю внешнюю обработку Отладчик.epf, которая кроме описанной выше функции имеет еще несколько полезных возможностей. В том числе умеет создавать пустую обработку-шаблон с именем, соответствующим дорабатываемому объекту

Обработка открывается в режиме управляемого и обычного приложения в любой конфигурации.
Тестировалась на платформе 8.3 в режиме совместимости с 8.2.13. То есть должна работать под 8.2 и 8.3

Нетиповая конфигурация 1С, это когда: 1) конфигурация 1С написана с нуля самостоятельно программистом, 2)конфигурация 1С была типовой, но в нее добавили изменения, даже если добавили один реквизит.

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

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

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

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

Существует 2 варианта обновления: а) Обновление 1С через поддержку (вызов через диалог Конфигурация/Поддержка/Обновить конфигурацию) и б) через Сравнение объединение с конфигурацией из файла. Следует обратить особое внимание, что разница между этими двумя пунктами в том, что в первом случае обновляется и основная конфигурация и конфигурация поставщика, а при сравнении объединении конфигураций обновляется только основная конфигурация, конфигурация поставщика остается старой. Таким образом наиболее рекомендуемым вариантом является обновление через Обновить конфигурацию. Для обновления через Поддержку конфигурации используются файлы поставки поставщика CF или CFU, которые можно найти поиском, в каталоге шаблонов, указав путь в Интернете, или напрямую указать путь к нужному файлу на жестком диске.

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

Проставляя флажки рядом с объектами, можно выбирать, изменятся текущий объект конфигурации, или останется старым, а также способ изменения объекта. В меню действия есть возможность проставить галочки по подсистемам (это полезно, если конфигурация находится на поддержке у нескольких поставщиков). Также в этом меню есть возможность указать приоритет объединения для всех объектов разом, по умолчанию система считает более приоритетной конфигурацию поставщика. Настройки фильтра позволяют указать, какие объекты конфигурации нам стоит выводить для возможности детального указания режима объединения. Существуют несколько стандартных шаблонов фильтра, кроме этого можно указать фильтры для каждой пары сравниваемых конфигураций. Есть возможность установить в настройках "Фильтр" галочку "Показывать только дважды измененные свойства", это позволит отсеять объекты, при обновлении которых не возникло конфликтов между изменениями поставщика и доработками этих объектов:

Итак, в результате получится список объектов, дважды измененных при доработке типовой конфигурации и в новой конфигурации поставщика. Если согласиться с обновлением, то сделанные ранее доработки в этих объектах будут утеряны. Поэтому по каждому объекту необходимо принять решение о том, каким образом он будет обновлен. На этом этапе следует выполнить предварительное сравнение исключительно для того, чтобы уменьшить объем работ в дальнейшем. Оценка не точная быстрая - "на глазок". Если изменений в объекте больше в новой конфигурации поставщика, то оставляем экземпляр объекта поставщика. Оставляем галочку. Потом нужно будет перенести изменения из рабочей конфигурации. Если изменений в объекте больше в рабочей конфигурации, то оставляем экземпляр объекта рабочей конфигурации. Снимаем галочку. Затем нужно будет перенести изменения из конфигурации поставщика. С модулями можно поступить немного иначе, т.к. есть возможность сравнивать модули попроцедурно.

Т.е. в случае, если в нашей конфигурации 1С и в конфигурации поставщика изменены различные процедуры модуля, то, правильно расставив, галочки мы избавим себя от ручного переноса изменений кода. Чтобы до этого добраться, необходимо нажать кнопку в виде лупы рядом с названием режима объединения модулей:

При выводе меню действий по объекту (например нажатием правой кнопки мыши) мы можем вызвать отчет о сравнении объектов.

Чтобы подтвердить проведенное обновление 1С - нужно выбрать пункт меню Конфигурация/Обновить конфигурацию базы данных.

Чтобы отказаться от обновления 1С – нужно выбрать пункт меню Конфигурация/Вернуться к конфигурации БД.

Несколько правил, которые упрощают будущее обновление конфигураций 1С:

Основное правило обновления 1С: нужно добавлять новые объекты, т.к. при обновлении новые объекты системой не затрагиваются

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

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

Использование типового функционала конфигураций

Программное создание элементов формы (В событии ПриСозданииФормыНаСервере)

Спасибо!

Программные продукты 1С являются специфическими в том смысле, что на их работу очень сильно влияет законодательство страны, в которой эти программы используются. Именно поэтому очень важно уметь обновлять эти продукты, так как кроме законодательных вопросов, обновленные конфигурации будут содержать исправление критических ошибок, ускорение всей работы программы и прочие полезные детали. Есть два варианта развития событий: первый вариант представляет собой обновление стандартной(типовой) конфигурации, что происходит достаточно быстро и не требует особых усилий, второй же вариант, когда обновить нужно модифицированную сборку, является более долгим и сложным.

Определение типа конфигурации

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


Стандартная (типовая) конфигурация – подготовка к обновлению

Кроме указанных проблем, вроде изменения законодательства или ухудшения быстродействия программы, обновить ее нужно тогда, когда программа 1С выдает соответствующее сообщение. Там будет сказано, что данная сборка была выпущена какое-то время назад, сейчас есть улучшенная конфигурация, и что ее можно обновить прямо сейчас через сайт или с помощью диска ИТС. Для начала очень важно сделать резервную копию базы, чтобы можно было все восстановить, если что-то пойдет не так. Выполняется это тремя способами. Можно просто скопировать корневую папку с базой на диск или флешку. После запуска 1С выбирается база, а в окне будет указан путь к ней. В случае проблем эта папка перемещается на место неработающей базы. Действовать можно и через конфигуратор, для чего нужно выбрать в программе этот режим. В разделе Администрирование есть кнопка Выгрузить информационную базу. После выбора папки, там появиться файл.dt, который впоследствии можно открыть соответствующей кнопкой в том же разделе.

Третий способ происходит чуть позже, на этапе обновления через интернет. Можно все сделать через диск ИТС, которые поступают на предприятие ежемесячно, также этот диск можно взять у сотрудника, имеющего договор с ИТС, только нужно проследить за совпадением конфигураций. В противном случае все выполняется через интернет. Есть важный нюанс: пакеты обновления устанавливаются строго последовательно, и какие-то релизы были пропущены, то система потребует установить вначале их. содержится в меню Справка, где понадобится нажать раздел О программе.
Если с интернетом все в порядке, то требуется зайти на сайт usersv8.1c.ru, в котором вводится логин и пароль. Далее выбираются нужные конфигурации, находящиеся по ссылке Скачать обновления. Следующий шаг – это выбор конкретных релизов, с учетом самых первых и тех, которые выходили недавно. Все файлы по очереди сохраняются на компьютере. Перед обновлением требуется открыть всех архивные файлы, и установить каждый релиз. Релизы можно загрузить, как было описано, и из диска ИТС. Теперь нужно заходить в режим Конфигуратора, после чего слева должны отображаться объекты, если же их нет, то потребуется нажать вкладку Открыть конфигурацию.
Для обновления пользователь переходит в Конфигурация-Поддержка-Обновить конфигурацию. В новом окне нажимается Поиск.

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

Обновление нетиповой (модифицированной) конфигурации 1С

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

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

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

Существуют другие режимы с частичным объединением (приоритетом), но этими режимами пользуются опытные пользователи, так как новичок превратит все наработки в запутанные модули. Соответственно, что то менять в последнем столбце, смысла нет. С другой стороны, убрав галку в первом столбике, принудительное объединение можно и отменить. Исходя из этого, можно или вручную внести код в обновленный модуль, или же не трогать код, и вручную вносить сами обновления. Чтобы понять, что конкретно потребуется внести, следует на выбранном модуле нажать правой кнопкой мыши и выбрать пункт Показать различия. Этот шаг покажет различия в конкретных процедурах. Внизу окна есть также разделение на два столбца, но там уже отображается сам код.

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

Возможные при обновлении 1С

Больше всего ошибок допускается тогда, когда база является сильно модифицированной, так как несколько страниц кода, всевозможных справочников и прочих объектов, могут неопытного пользователя запутать. Очень важно перед какими-либо изменениями создавать и сохранять архив для резервного восстановления, после чего еще раз убедиться, что все было сделано правильно. Классической ошибкой является обновление нетиповой сборки, как будто она является стандартной. Но даже если следовать описанным инструкциям, далеко не факт, что программа сразу же заработает так, как это нужно. Вероятно, что без дополнительной настройки не обойтись. Конфигуратор не выводит выполненные изменения в элементах управления диалоговых форм, соответственно, этот момент придется проверять вручную, иначе обновления все это затрет. После обновления, конфигуратор может выводить запрет на обновление старой информационной базы, так как номера документов перестают быть уникальными , это же относится и к регистрам сведений.

Для решения проблемы потребуется:
— менять количество символов в кодах;
— менять коды в информационной базе;
— менять свойство контроля уникальности во всех справочниках.

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

Нужно понимать, что есть варианты, когда конфигурация будет возвращена на поддержку, то есть ее процесс обновления будет происходит в стандартном режиме для программы, через загрузку релиза по интернету. Снимается программа с поддержки после внедрения в продукт модифицированных модулей. Удаление этих модулей вернет программу в исходное состояние, но полностью избавиться от них нельзя, так как нормальная работа 1С будет невозможна, ведь зачем-то этим модули программировались. Соответственно, эти модули могут выноситься за рамки программы — работа будет выполняться по внешних модулях, но на работе программы это не скажется. Таким образом, справочники и прочие объекты останутся на месте, Самостоятельно это сделать без нужных знаний проблематично, поэтому возвращением программы в рамки стандартной сборки, если это требуется, должен программист.

Также существует несколько советов, облегчающих в дальнейшем процесс обновления программных продуктов 1С. Прежде всего нужно стараться как можно меньше модифицировать программу, и если только в этом нет крайней необходимости, то не внедрять туда ничего стороннего, а пытаться решить проблемы теми типовыми инструментами, которые есть в наличии. Все без исключения изменения в конфигурации нужно комментировать и заносить в отдельный документ, чтобы в процессе восстановления ничего важного не было упущено. Чтобы объем программного кода в типовых объектах был уменьшен, следует вынести его в собственный общий модуль, при этом нужно понимать, что вызовы процедур и функций трогать нельзя — они должны оставаться в типовых объектах, чтобы программа могла корректно работать. В целях оптимизации имеет смысл выполнить замену всех вызовов типовых процедур и функций, которые находятся и в «самописном» коде объектов и в коде внешних модулей, на вызов процедур из собственного модуля. Данные процедуры являются простым ярлыком, по которому будут вызываться процедуры из типовых модулей. Таким образом, при сравнении изменений пользователю будет не нужно будет долго искать нужные строчки в модифицированном коде. Время обновления при соблюдении указанных рекомендаций сокращается до нескольких часов работ, а если все оставить как есть, то процесс может затянуться и на несколько дней.

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

Первый и самый простой вариант

Суть ошибки и инструкция для её исправления указаны прямо в отчёте. Ну, например, мы указали неверные логин и пароль для базы и тогда в отчёте будут такие строки:

Второй и самый сложный вариант

Ошибка произошла на стороне 1с и обновлятор нам прямо об этом и говорит вот такой строчкой в отчёте:

В этом случае смотрим отчёт чуть выше и ищем там зелёные строки , начинающиеся с символов .

Эти строки передала обновлятору сама платформа 1с и именно их нужно анализировать.

Ниже я подготовил список наиболее частых ошибок от платформы 1с (те, что зелёным цветом) и способы их устранения:

Ошибка "Имя предопределенного элемента не уникально"

2. Где-нибудь достаньте файл конфигурации (.cf) версии базы - той, что мы видим в окне "О программе". Это самый сложный этап и тут я не дам готовых решений. Можно вытащить этот файл из другой базы этой версии, а можно попросить его у коллег. Сразу скажу, что у меня его просить бесполезно - я его вам предоставить не смогу.

3. Имея на руках файл конфигурации (с расширением.cf) нужной версии (той, что у вас в окне "О программе") в конфигураторе базы открываем пункт:

Файл обновления мы укажем сами:

Нажмите кнопку "Выполнить".

После обновления снова проверьте версию конфигурации поставщика - теперь она должна совпадать с той версией, что стоит в окне "О программе". После этого база будет обновляться обновлятором без каких либо проблем.

Какие ещё есть варианты проблем?

Имя сбойного модуля: frame.dll

(как запустить или гуглить).

  1. Если обновлятор установлен не на самом сервере 1с, то нужно убедиться, что порт PORT_NUMBER на сервере SERVER_IP действительно открыт. Проверить это можно при помощи команды telnet SERVER_IP PORT_NUMBER. Если подключение произошло - значит порт открыт.
  2. Далее нужно убедиться, что на компьютере, откуда запускается обновлятор ничего не блокирует его подключение к PORT_NUMBER на SERVER_IP. Для этого нужно временно отключить антивирус, брандмауэр, файрвол и другие подобные им программы (это нужно делать на компьютере, где установлен обновлятор). Если этот шаг поможет, то нужно прописать соответствующие исключения в блокирующей программе.
  3. Если и это не поможет, то нужно прописать адрес базы в обновляторе не через имя сервера, а напрямую через его IP (его IP будет указан в сообщение об ошибке SERVER_IP). Это нужно, чтобы исключить проблему с DNS.

Запуск программы невозможен, так как на компьютере отсутствует api-ms-crt-conio-l1. 1-0.dll

Если по требованиям всё ок, тогда зайдите в свойства ярлыка, через который запускаете обновлятор и перейдите на закладку "Совместимость". Нужно снять все галки на этой вкладке. Скорее всего вы по ошибке установили совместимость обновлятора с другой ОС - отсюда и возникшие проблемы с платформой (так как при внешнем подключении код платформы 1С загружается внутрь процесса обновлятора).

Очень долго запускается обновлятор

А в поле "Порт агента" указывается порт агента (по умолчанию 1540), который можно найти в свойствах центрального сервера 1с в консоль управления кластером 1с (как запустить или гуглить).

После обновления скрыто поле "Дата свертки" в обработке "Свертка информационной базы" для конфигурации "Управление торговлей"

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

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

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

Если нужна всё же выгрузка в dt, делайте это в 1 поток, по возможности с паузами между операциями. Периодически перезагружайте сервер 1с для профилактики.

С указанной ошибкой я сталкивался у пользователей практически на всех версиях сервера 1с и во всех случаях они решились переходом на архивацию средствами СУБД.

Ошибка: не удалось снять установленную блокировку новых сеансов с базой

Если этого сделать не удалось, то возможно:

  • вы ошиблись в написании логина и/или пароля от ИТС
  • у вас не оплачен доступ к ИТС
  • у вас не зарегистрирована базовая версия конфигурации на сайте "1С" для получения обновлений

3. Предположим, что с доступом к обновлениям через сайт у вас всё ок. Осталось исключить проблемы в окружении у вас на компьютере и проблемы с сервером обновлений фирмы "1С".

Для этого попробуйте скачать новые обновления к вашей конфигурации через конфигуратор (именно этот способ использует обновлятор в своей работе).

3.1 Зайдите в конфигуратор вашей базы и выполните пункт меню "Конфигурация"-"Открыть конфигурацию".

3.5 Наконец, введите логин и пароль от ИТС (обязательно скопировав их из блокнота ):

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

Если этого сделать не удастся, то возможно:

  • у вас проблемы в окружении на компьютере
  • сервер обновлений фирмы "1С" временно не работает должным образом (при этом обновления через сайт могут по прежнему продолжать скачиваться)
  • у вас нет доступа к обновлениям конкретно этой конфигурации (не оплачена подписка ИТС на неё; либо у вас базовая версия, которую вы не регистрировали на сайте)

4. Предположим, что конфигуратор успешно скачал обновление. В этом случае стоит скопировать логин и пароль от ИТС из блокнота в настройки обновлятора и проверить не пропала ли проблема.

Иначе есть какой-то нюанс именно на стороне обновлятора. В этом случае прошу вас написать в службу поддержки на [email protected] и мы продолжим разбираться уже детально по вашему случаю.

Ошибка СУБД: Microsoft SQL Server Native Client 11.0: Invalid object name "SchemaStorage"

5. Если проблема в каком-то конкретном обновлении (например, оно не находится или выдаётся ошибка при его загрузке в базу) - сожмите его в архив и приложите к письму . О том как загрузить большой архив в интернет - рассказано (с пункта 5) на примере базы 1с.

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

Если потрудитесь вы, то смогу потрудиться и я, чтобы вам помочь.