Автоматизация администрирования информационных баз (версия 6.4)
База данных - Архивирование (backup)
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Очередное решение на тему создания кнопки "Сделать все зашибись!" для администрирования баз 1С. Можно, конечно, просто использовать скрипты, но мы не ищем легких путей! Кроме того, в данном варианте появляются дополнительные приятные плюшки:
- ведение реестра баз (очень полезно, когда их количество подходит к 100 единицам);
- наличие актуальной информации по установленным релизам, видам конфигураций и статусах поддержки;
- групповое обновление типовых конфигураций в полностью автоматическом режиме, включая обновление данных ИБ (в обход того самого диалога типа "я подтверждаю легальность получения обновления");
- ведение реестра архивов и дополнительное хранение архивов непосредственно в базе;
- групповая архивация баз;
- хранение архивов во встроенном хранилище, а так же восстановление архивов (либо простое ведение реестра архивов без загрузки в хранилище);
- отключение активных подключений пользователей (только для серверных баз);
- управление доступами к базам (на уровне пользователей платформы и на уровне установки прав через профили доступа с использованием дополнительных программных обработчиков);
- формирование отчета по журналу регистраций;
- скачивание обновлений с сайта users.v8.1c.ru, опциональное хранение обновлений во встроенном хранилище;
- публикация интернет-сервиса списка информационных баз;
- настройка работы с информационными базами на различных релизах платформы;
- использование регламентных заданий для групповых операций (архивирование, обновление и т.д.);
- многопоточная групповая обработка;
Итак, рассмотрим эдакое "рабочее место администратора" поближе (на скринах дополнительно включен интерфейс ТАКСИ; вид форм и функционал может отличаться в зависимости от версии):
Рабочий стол / Справочник "Информационные базы"

Рабочий стол системы представляет собой реестр ИБ, сгруппированных по видам. Отображается основная информация по релизу, статусу поддержки, наименованию, типу и флагу установленной блокировки сеансов.
Напротив каждой позиции отображается пиктограмма статуса исполнения последней операции (актуально для выполняемых в фоновом режиме задач). При двойном клике на пиктограмму статуса исполнения можно увидеть информацию о ходе выполнения задачи.
В настройках системы можно опционально установить произвольное расположение каталога обновлений, проверить наличие обновления конфигурации Админки.

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

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

Карточка ИБ содержит несколько вкладок:
На вкладке Общие настраивается наименование, статус поддержки и релиз обновления. Вид конфигурации устанавливается согласно выбранному релизу.

Устанавливается правила загрузки типов обновлений. От выбранного типа обновления зависит возможность рекурсивного поиска доступных релизов обновлений:
- Только *.cfu - рекурсивный поиск используется
- Только *.cf - рекурсивный поиск НЕ используется
На вкладке Подключение задается тип ИБ, релиз платформы, Каталог ИБ или реквизиты подключения к серверу (в зависимости от типа ИБ) и Пользователь (учетная запись для подключения). Опция указания нескольких центральных серверов для многонодового кластера в текущих версиях не поддерживается.

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

Настройка параметров SQL доступна только для Серверных баз.

На вкладке системных параметров устанавливаются следующие свойства:

Открывать базу после обновления - тут все понятно, по окончании процесса обновления ИБ запускается в режиме предприятия;
Обработчик - код на языке платформы, выполняемый после пакетной загрузки обновления конфигурации. С помощью обработчика можно программно выполнить обновление данных ИБ. В систему загружены предустановленные обработчики, но допускается создавать и использовать произвольные. Если в карточке ИБ явно установлен обработчик, то он будет вызываться всегда. Различные виды конфигураций могут требовать использования различных обработчиков.
В предыдущих версиях использовался флаг "Выполнять запуск обработки обновления ИБ", поэтому при переходе на версию 3.0 может потребоваться дополнительная настройка системных параметров ИБ.
Установлена блокировка сеансов - флаг системы, который устанавливается в системе при выполнении процедуры блокировки сеансов. Иногда бывает необходимо снять его принудительно. Интерактивная установка флага запрещена. СНЯТИЕ ФЛАГА НЕ ПРИВОДИТ К СНЯТИЮ БЛОКИРОВКИ СЕАНСОВ ИБ.
Выполняется обработка - флаг системы, который устанавливается автоматически перед началом выполнения операции наб ИД и ограничивает одновременное выполнение операций над одной и той же ИБ в нескольких сеансах программы. Кроме того, в форме списка обрабатываемая ИБ выделяется альтернативным цветом, обеспечивая удобство работы в нескольких окнах программы одновременно. Допускается только снятие флага.
Справочник "Релизы технологической платформы"
В справочнике создаются записи об используемых релизах технологической платформы, типах COM-коннекторов, каталогах платформы.

Справочник "ВидыКонфигураций"
Название "Виды конфигураций" говорит само за себя. Справочник содержит перечень видов конфигураций, где наименование должно соответствовать имени конфигурации, как оно задано в конфигураторе. Для каждого вида конфигурации возможно задание префикса архива. Принцип автоматического формирования имени архива будет приведен в блоке описания процедуры создания выгрузки.
Справочник "Сервера"
Задаются настройки подключения к серверам 1С и SQL.

Справочник "Внешние учетные записи"

Справочник содержит перечень учетных записей для подключения к ИБ. Возможна нстройка подключения по схеме Имя/Пароль или с использованием доменной авторизации. Параметр "Код блокировки сеансов" содержит пароль устанавливаемый на блокировку сеансов ИБ (параметр /UC пакетного запуска). Автоматическая установка блокировки сеансов ИБ выполняется при запуске процедуры установки обновлений. Если код блокировки не задан, то автоматическая блокировка сеансов не устанавливается.
Справочник "Релизы обновлений"

Справочник содержит перечень релизов обновлений. В карточке релиза устанавливается номер релиза, вид конфигурации, каталог с обновлением. При наличии в каталоге обновления файла "UpdInfo", номер текущего релиза и список обновляемых релизов будут установлены автоматически.
Операции над ИБ
Доступ к операциям над ИБ открывается через контекстное меню (по нажатию правой клавишей мыши) на соответствующей записи формы списка справочника "Информационные базы":
Открыть конфигуратор. Открывает текущую ИБ в режиме конфигуратора.
Открыть предприятие. Открывает текущую ИБ в режиме предприятия.
Обновить информацию по базе. Запускается процедура обновления номера релиза и открытых блокировок сеансов для текущей ИБ.
Выгрузить архив. Запускается процедура выгрузки архива текущей ИБ. Выгрузка осуществляется в Основной каталог архива или в переопределенный каталог текущей ИБ. Наименование архива формируется автоматически по шаблону: [Префикс вида конфигурации]_[Префикс ИБ]_ Наименование ИБ _ Дата выгрузки в виде ГГГГММДД _ Номер релиза(точки заменяются символом подчеркивания)
Выгрузить архив SQL. Доступно только для Серверных баз - выгружает архив средствами SQL.
Установить обновление. Открывается форма выбора устанавливаемого релиза, запускается процедура установки обновления с предварительной выгрузкой архива (обновления отбираются по видам конфигурации и информации UpdInfo, если таковая задана для релиза).
Загрузить архив. Восстанавливает архив из внешнего файла, либо из системного хранилища, если имеюся доступные архивы.
Снять блокировку сеансов ИБ. Снимается блокировка сеансов с параметрами установленной для текущей ИБ учетной записи пользователя.
Установить блокировку сеансов ИБ. Устанавливается блокировка сеансов с параметрами установленной для текущей ИБ учетной записи пользователя.
Снять блокировку регламентных заданий.
Установить блокировку регламентных заданий.
Тестирование исправление. Запуск процедуры ТИ с возможностью предварительной выгрузки архива и опциональным выбором параметров тестирования.
Справочник "Обработчики"

Содержит перечень доступных обработчиков - код на языке платформы, выполняемый после пакетной загрузки обновления конфигурации. С помощью обработчика можно программно выполнить обновление данных ИБ. В систему загружены предустановленные обработчики, но допускается создавать и использовать произвольные. Если в карточке ИБ явно установлен обработчик, то он будет вызываться всегда. Различные виды конфигураций могут требовать использования различных обработчиков, и в тоже время различные виды конфигураций могут использовать один обработчик (н-ер: для БП 2.0 и ЗУП 2.5 подходит один обработчик).
Для обработчика может быть определен контекст исполнения. В качестве контекста исполнения кода обработчика может быть задано текущее COM-подключение к информационной базе (используется по умолчанию), либо "сама" информационная база. Следующий пример наглядно демонстрирует различие кода обработчика для различного контекста исполнения:
код обработчика для контекста COM-подключения: ИнформационнаяБаза_ОбъектПодключения.Справочник.Организации.Выбрать();
код обработчика для контекста информационной базы: Справочник.Организации.Выбрать();
Реализована выгрузка/загрузка обработчиков в/из внешние файлы для обмена полезным кодом с сообществом.
Групповая обработка

Групповая обработка ИБ доступна через специальную одноименную обработку системы.
Возможно два режима работы:
- стандартный режим, т.е. выполнение заданного вида обработки над всем набором ИБ - в данном режиме вид обработки, которая будет выполняться над всем заданным набором ИБ, задается в шапке. В зависимости от выбранного вида обработки в табличной части активируются актуальные и скрываются не актуальные поля настройки. Для серверного варианта системы по умолчанию используется фоновое выполнение групповой обработки с выводом индикатора статуса процесса.
- режим сценария, при котором возможна настройка нескольких последовательных операций над ИБ (включение режима сценария на вкладке "Опции" -> "Режим сценария") - в данном режиме вид обработки задается для каждой строки таблицы отдельно. Параметры обработки доступны в режиме эксперта, т.е. отображаются все возможные параметры групповых обработок (но для заданного вида обработки используются только необходимые). При необходимости выполнения нескольких последовательных операций над одной ИБ в разделе "Опции" необходимо активировать параметр "Разрешать множественный подбор элементов".
Таблицу обработки по составу ИБ можно заполнять вручную или автоматически по параметрам заполнения(через меню Операции). В Параметрах обработки устанавливаются дополнительные опции. Одноименные опции обработки полностью подменяют соответствующие значения в карточках ИБ. Тихий режим отключает вывод предупреждений об ошибках.
При групповой установке обновления возможно указание обработчика. Если обработчик не указан, то рекурсивная установка обновлений не допускается.
Так же форма групповой обработки с тем же функционалом используется при настройки регламентных заданий.
Журнал логов

Хранит сведения по выполненным операциям: сообщения системы и данные технологических логов платформы.
Хранилище архивов

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

Реализован механизм группового добавления/изменения реквизитов и прав учетных записей платформы внешних баз. Можно завести/изменить учетную запись пользователя в одну или сразу в нескольких базах. Данный механизм позволяет ускорить процедуру администрирование учетных записей платформы. Форма обработки максимально приближен к стандартному диалогу добавления/изменения пользователя платформы. Дополнительно добавлен обработчик "После добавления пользователя" для конфигурации БП 3.0: после создания учетной записи пользователя на уровне платформы, создается новая запись в стандартном справочнике пользователей для последующей настройки групп доступа. Для записи нового пользователя необходимо устанавливать флаг "Добавлять пользователя при отсутствии в базе".
Публикация интернет-сервиса списков информационных баз
Логика публикации интернет-сервиса основана на методике, описанной в документации ИТС, поэтому настоятельно рекомендуется ознакомиться с ней до реализации публикации в системе. Основной сложностью является настройка авторизации при обращении к веб-сервису. Вариантов настройки теоретически существует несколько, ниже будет рассмотрен один из них.
Для публикации интернет-сервиса списков информационных баз необходимо добавить в систему пользователя с ролью "Полные права" и технологического пользователя "Бухгалтер" с авторизацией платформы и ролью "Доступ к спискам информационных баз", которому будут назначаться списки информационных баз. Удобней, если заведенный пользователь должен определяет функциональную группу (базы бухгалтерии, базы зарплаты, базы торговли), а не персонифицированный доступ.
Публикуем веб-сервис WebCommonInfoBases из системы. NTLM-аутентификация при обращении к сервсу не будет работать (вне зависимости от параметров публикации мне этого добиться не удалось), поэтому в свойствах публикации необходимо либо явно указать пользователя/пароль платформы, либо не указывать их, но тогда при каждом обновлении списка баз, запускаясь через 1cestart, придется проходить авторизацию вручную.
Допустим полная ссылка публикации имеет вид http://[serverName]/[serviceName]/ws/WebCommonInfoBases.1cws?wsdl , тогда создаем в справочнике "Публикации сервисов" новый элемент с произвольным наименованием и полной ссылкой публикации.
В разделе "Управление информационными базами" создаем списки информационных баз в соответствующем справочнике. Для публикации в списках доступны все информационные базы, внесенные в систему. Настройка свойств в составе списка подобна настройке свойств информационных баз через стартер платформы 1С.
Далее настраиваем доступы к спискам информационных баз (справочник "Доступы к спискам информационных баз" в разделе "Управление информационными базами"): для заведенного ранее пользователя с правами "Доступ к спискам информационных баз" назначаем доступные для отображения списки баз. Так же обязательно указываем элемент из справочника "Публикация сервисов", чтобы указать откуда текущий пользователь будет получать данные списка баз.
Последнее - это добавить с настройки списка баз стартера 1cestart ссылку на веб-сервис в виде http://[serverName]/[serviceName]/ws/
Регламентные задачи
Справочник используется для создания регламентных заданий групповой обработки для серверного варианта системы.
Здесь настраивается состав ИБ, виды операций, расписание выполнения. Форма настройки параметров и состава обработки - это форма штатной групповой обработки, поэтому никаких сложностей с настройкой возникать не должно.
Необходимо обратить внимание на то, что для включения регламентных заданий в целом в системе нужно в настройках параметров системы на вкладке "Регламентные задания" включить соответствующую опцию.
Настройка включения/выключения конкретного регламентного задания задается в форме самого элемента установкой реквизита "Включено".

ИНФОРМАЦИЯ. Для использования фоновых заданий в файловом варианте "Админки" необходимо в конфигураторе изменить режим совместимости на "Версия 8.3.3" и выше.
UPD: Решение снято с поддержки и развития.
Дальнейшее распространение на правах обычной публикации.
Для работы системы рекомендуется версия технологической платформы 8.2.14 и выше. Возможна работа системы как в серверном так и в файловом варианте. Кроме наличия самой технологической платформы дополнительного ПО для работы не требуется. Может использоваться для целей поддержки любых конфигураций.
Система предназначена для работы только в режиме управляемого приложения (версия 8.2/8.3, ТАКСИ), т.о. реализация форм для "толстого клиента" не поддерживается. Однако, использование управляемых форм позволяет публиковать веб-клиента системы для обеспечения удаленного администрирования систем.
Конфигурация поставляется с открытым кодом, поэтому возможна и допускается доработка под персональные нужды без права дальнейшего распространения без согласования с автором. Возможны дополнительные доработки системы автором по индивидуальным заказам. Условия доработок обсуждаются персонально.
Вступайте в нашу телеграмм-группу Инфостарт
автоматизация администрирование users.v8.1c.ru пакетный запуск автообновление обновление на несколькок релизов групповое загрузка обновлений автоархивация скрипт архивация регламентные задания
См. также
Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Разработчик Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы, интерфейс 8.5. Может выполнять свертку одновременно в несколько потоков, а также без непосредственного участия пользователя. Решение в Реестре отечественного ПО.
24900 руб.
20.08.2024 83192 432 171
Инструменты администратора БД Роли и права Системный администратор Разработчик Пользователь 1С 8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)
Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.04.2026, версия 1.4.1, работает в 1С:ФРЕШ!
23180 руб.
06.12.2023 25055 85 14
Инструменты администратора БД Инструментарий разработчика Роли и права Разработчик 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)
Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.
17000 руб.
10.11.2023 28707 103 46
Поиск данных Инструменты администратора БД Корректировка данных Разработчик Бухгалтер Пользователь 1С:Предприятие 8 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Россия Платные (руб)
Решение для автоматической сверки данных между любыми конфигурациями 1С. Помогает контролировать и проверять обмены, проверять наличие документов при переносах данных, находить изменения в закрытых периодах
9760 руб.
14.11.2025 6150 28 8
Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Разработчик Аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)
Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.
6000 руб.
15.04.2026 4152 12 0
Инструментарий разработчика Инструменты администратора БД Системный администратор Разработчик Аналитик 1С:Предприятие 8 1С 8.3 1С 8.5 1C:ERP 1С:УТ 1С:ДО 1С:Бухгалтерия 3.0 1С:ERP. Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Россия Платные (руб)
Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.
5000 руб.
14.01.2013 217299 1252 0
Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)
Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).
14640 руб.
29.04.2020 52926 145 164
Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Разработчик 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)
Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)
24400 руб.
27.10.2017 47838 33 15
Положить эту базу на внешний диск или есть еще что-то?
Возник такой вопрос: есть сервер 2008 R2 х64, 1С файловый вариант (например берем УТ, в базе никого нет, база демо), всё настройки программы произвел, но при попытке выгрузить, обновить конфигурацию всегда ошибку, как на картинке. При этом в Конфигуратор и программу заходит нормально.
ЗЫ Разработка интересна, т.к. надо обновлять порядка 20 баз в ручную.
Есть пара вопросов. Есть ли возможность обновления по расписанию и рекурсивный поиск обновлений в указанной папке?
Благодарю.
При обновлении на версию 3.0.54.20 с помощью групповой обработки, во всех обновленных базах наблюдается следующая ситуация:
При входе в базу появляется следующее всплывающее сообщение: Рис. 3
При нажатии выдается следующая информация: Рис. 1
Далее развернуто: Рис. 2
Текст ошибки в журнале Технической информации о результатах обновления:
Не удалось пометить на удаление EUR по причине:
{ОбщийМодуль.ОбновлениеИнформационнойБазы.Модуль(27)}: Ошибка при вызове метода контекста (Записать)
Данные.Записать();
по причине:
Ошибка при выполнении обработчика - 'ПриЗаписи'
по причине:
{Справочник.Валюты.МодульОбъекта(92)}: В файловой информационной базе можно запустить фоновое задание только из клиентского приложения
ВызватьИсключение Результат.КраткоеПредставлениеОшибки;
Все базы файловые, типовые. Обработка выполняется на 64 битном клиенте 1С:Предприятие 8.3 (8.3.11.2867)
Спасибо.
В данном случае проблема в логике процедуры перехода на новую версию самой конфигурации.
По какой-то причине система не идентифицирует Ваш клиентский сеанс как "клиентский" (судя по тексту ошибки: В файловой информационной базе можно запустить фоновое задание только из клиентского приложения).
Может быть выполняется попытка запуска фонового задания из фонового задания, что приводит к этой ошибке. Хотя на уровне платформы нет ограничения в создании фонового задания из фонового задания - это ограничение в логике конкретной конфигурации.
Плюс на скринах ошибка: "Превышено допустимое количество запусков процедуры обновления" - сложно диагностировать является ли это зацикливание в коде или нет.
Уже выполнялись обновления на 64-битном клиенте 1С:Предприятие 8.3 (8.3.11.2867) ? Они проходили успешно?
Не пробовали через 32-битный клиент зайти в базу?
На 8.3.11.2867 базы ранее не обновлял. Платформу обновил так как на старой частенько были вылеты приложения, на этой нет. На 32 битном клиенте, при попытке войти в базу выдается "Ошибка SDBL Ожидается выражение (pos=6)"
Есть пара вопросов. Есть ли возможность обновления по расписанию и рекурсивный поиск обновлений в указанной папке?
Благодарю.
Нашел маленький недочет. Если запустить ее на компьютере, где установлен 1с Сервер х64, то она упорно пытается найти 1С клиентскую часть в каталоге C:\Program Files\1cv82\8.2.19.80\bin
Хотя 1С лежит C:\Program Files (x86)\1cv82\8.2.19.80\bin
Всё просто, лишнего ничего, работает на ура, а времени потерянного сокращает в разы.
У меня 50 баз БП и 50 ЗУП, не могу нарадоваться этой конфигурации))
Единственно муторно заводить справочники, делать 100 записей тяжеловато, но оно конечно же того стоит.
Думаю будет не лишним добавить в вашу конфигурацию возможность загрузки списка баз из ibases.v8i. Хотя бы название и путь к базе уже вносить не придётся.
А в остальном все очень порадовало.
Если есть возможность, достаточно просто убрать соответствующие вызовы.
В ближайшее время постараюсь вывесить конфигурацию, оптимизированную под 8.3.
Единственное не нашел как запустить
* реализован функционал запуска тестрования/исправления в пакетном режиме;
Может кто подскажет.
Если еще прикрутить архивирование по расписанию, то будет фантастика
Конечно доработки много, но это будет уже тогда просто сказка. :)
Конфигурация супер. У меня всего 16 баз, но облегчила жизнь значительно.
Поправил - небольшая чехорда с ключами запуска. А именно: если база файловая, а вход доменный - упорно требует имя (в доменном варианте, имя вообще не требуется, заходит под текущим пользователем.)
Еще сделал в инфобазе поле - дата последней успешной архивации. Это для информации.
Если надо - обновленный cf кину.
с доменным входом потестил последний релиз, вроде нормально.
были мысли пойти еще дальше: организовать хранилище бэкапов в самой базе с функционалом восстановления; под это дело придется и регламенты по выгрузке делать.
(43) имеется ввиду админка по управлению учетками пользователей в базах? если так, то она будет не актуальна для тех баз, в которых права раздаются группами доступа.
(45) можно будет подумать
(46) логи пока не ведутся, но, конечно, надо бы...
(48) видимо нужно подсовывать в качестве обновления cf
Смысла нет. Я например в каждую базу, у всех клиентов добавил клиента 1c_Tools.
И все выполняется под ним.
1) Имя Базы_Год_Месяц_Дата__Релиз конфигурации
2) Имя Базы_Год_Месяц_Дата__Часы_Минуты_Cекунды
3) Год_Месяц_Дата__Часы_Минуты_Секунды (Все равно все архивы по разным каталогам распиханы.
Как то так.
А с сервером 64бит. Теперь работает. Красота.
Ну к примеру оттестил я базу, где посмотреть лог по тестированию?
Даже архив сама перед обновлением создала
Платформа: 1С:Предприятие 8.2 (8.2.19.83)
Конфигурация: Администрирование информационных баз (3.0)
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский (Россия)
Ошибки:
--------------------------------------------------------------------------------
27.02.2014 9:18:30
{Справочник.ИнформационныеБазы.Форма.ФормаСписка.Форма(66)}: Метод объекта не обнаружен (ОбновитьИнформациюПоБазе)
ЗадачиНаКлиенте.ОбновитьИнформациюПоБазе(ИнформационнаяБаза, ПараметрыОбработки);
Если есть возможность, то делаем так: заходим Справочник.ИнформационныеБазы.Форма.ФормаСписка.Форма(66) и меняем ЗадачиНаКлиенте.ОбновитьИнформациюПоБазе(ИнформационнаяБаза, ПараметрыОбработки); на ЗадачиНаСервере.ОбновитьИнформациюПоБазе(ИнформационнаяБаза, ПараметрыОбработки);
(53) было обновление платформы? версия платформы соответствует требуемой версии устанавливаемого обновления? ТИИ/chdbfl.exe обновляемой базы делали? ручное обновление базы валится в ту же системную ошибку?
Оперативное решение:
- в режиме конфигуратора открыть модуль общей формы ФормаПараметрыУстановкиОбновления;
- в процедуре ДиалогВыбораРелизаОбновления_ОбработкаОповещения заменить строку
Элементы.Список.ТекущиеДанные.УстановитьРелизОбновления = Результат;на строку
ЭтаФорма.РелизОбновления = Результат;у меня две версии сервера 1С 8.2 и 8.3. Соответственно обработка не может подключиться к 8.2, если работает на 8.3. Сервер 1С, порт можно указать, а версию клиента нет. Этого очень не хватает.
(61) можно будет подумать по поводу разделения версий платформы.
(62) проблема с "подвисанием" при подборе действительно существует, поправим.
По поводу ошибки при обновлении, было бы хорошо получить побольше информации:
- на каких конфигурациях вываливается ошибка, какой обработчик используется;
- правильно ли я понял, что одна и та же база в файловом варианте ошибки при обновлении не выдает, а в серверном выдает;
- было бы хорошо увидеть сведения из журнала логов по процессу обновления, который вываливается в ошибку, а так же возможные сообщения об ошибках из журнала регистрации платформы (можно в ЛС);
- если проблема именно в обработчике обновления, то можно попробовать скачать текущую версию конфигурации и восстановить код обработчиков по умолчанию (в соответствующем справочнике есть команда); версия 3.1 после первичной публикации обновлялась как раз в связи с проблемой обработчика; либо привожу здесь код предопределенного обработчика "Обновление ИБ для Бухгалтерия 3.0", как он должен быть;
ИнформационнаяБаза_ОбъектПодключения.ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы(Истина, Ложь, Ложь);
Результат = Истина;
Ошибка скорее всего возникает в Общем модуле - Задачи на клиенте - Функция "Установить обновления". найдите Если КодВозврата = 0 Тогда(строка 462) У меня в переменную КодВозврата возвращается 1 . Поменяйте Если КодВозврата = 1. Должно помочь.
Еще небольшое уточнение.
В справочнике в модуле формы списка справочника "ИнформационныеБазы" - "Процедура ОбновитьИнформациюПоБазамСервер()"
(Строка 79) ошибка в имени переменной "НомерПоПорядку" при этом вначале 0 присваивается переменной "ПорядковыйНомер".
Нужно исправить: Общие модули - ЗадачиНаСервере - Функция ПолучитьКомандуУстановкиОбновления(503 строка)
Параметры командной строки /UpdateDBCfg не имеет ключа [-Server], там только есть ключ [-WarningsAsErrors].
Вот как нужно наверно:
Возврат ПолучитьКомандуОткрытияВРежимеКонфигуратора(ИнформационнаяБаза, ПараметрыОбработки) + КомандаЗагрузкиОбновления;В коде ключ подставляется только для серверных баз. Если проблема действительно в нем, было бы интересно узнать, зачем он тогда вообще нужен :)
Сеансы = ДанныеПодключенияКСерверу.AgentConnection.GetInfoBaseSessions(ТекущиЭлементМассиваСоединенийСРабочимПроцессом.Cluster, НайденноеОписаниеИБ);
по причине:
Типы не совпадают (2)
2. При загрузке обновлений например для БП 3.0 создается много пустых директорий с номером релиза. С чем это связано? С ошибкой загрузки или того требует логика работы конфигурации? Насколько я понял - сами файлы с обновлениями этих релизов загружаются, но в последствии - удаляются. С чем связано это? Как ни крути - тратится лишнее время на загрузку этих промежуточных конфигурации, которые потом удаляются.
update: захожу на юзерс.в8.1с - сайт висит "504 Gateway Time-out". Отсюда видимо и пустые директории.
WorkingProcessConnection = COMConnector.ConnectWorkingProcess(СокрЛП(ИнформационнаяБаза.СерверИБ) + ":" + Формат(WorkingProcess.MainPort, "ЧГ=0"));
с ошибкой:
(Windows Sockets - 10060(0x0000274C). Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. );
line=534 file=Src\DataExchangeTcpClientImpl.cpp
Немного непонятно, почему порт 1542, нет ни одного рабочего процесса с таким портом. В переменной WorkingProcess.MainPort - содержится значение "0", хотя IP рабочих процессов начинаются с 1560.
(73)(74) добавлю код при обновлении; сам пока такую ошибку не поймал ни разу.
(71)(75) попробуй заменить строки в модуле ЗадачиНаСервере функции ОтключитьСеансы:
- исходная
МассивОписанийБаз = ОбъектПодключенияКРабочемуПроцессу.GetInfoBases();замена
МассивОписанийБаз = ДанныеПодключенияКСерверу.AgentConnection.GetInfoBases(ТекущиЭлементМассиваСоединенийСРабочимПроцессом.Cluster); - исходная
Если ОписаниеИБ.Name = СокрЛП(ИнформационнаяБаза.ИмяКаталогИБ) Тогдазамена
Если НРег(ОписаниеИБ.Name) = НРег(СокрЛП(ИнформационнаяБаза.ИмяКаталогИБ)) Тогда- исходная
Если ДопустимыеСеансы.НайтиПоЗначению(нРег(ТекущееСоединение.AppID)) = Неопределено Тогдазамена
Если ДопустимыеСеансы.НайтиПоЗначению(нРег(ТекущееСоединение.Application)) = Неопределено Тогда- после цикла
Для каждого ТекущееСоединение из Соединения Циклдобавь строку
Результат = Истина;(72) можно будет подумать про запуск в фоновом задании.
Продолжил обновление... Сеансы завершились, бэкап выгрузился, началась загрузка обновления... RunTime Error где то минут после 5 и сообщение "Ошибка при загрузке обновления". Однако сама база оказалась обновленной. Запускаю ее - выходит типовой диалог после обновления базы. Не исключаю, что виноват установленный обработчик "Обновление ИБ для Бухгалтерия 2.0". Попробую без него обновить другую базу.
Если WorkingProcess.Running = 1 Тогда
Т.к. при наличии резервных процессов - у них номер порта равен 0, в результате при COMConnector.ConnectWorkingProcess - выходит ошибка.
Появилась такая ошибка, подазреваю, что после переустановки платфрмы. С другой машины ошибки не возникает.
Помогите исправить.
НАЧАЛО ОБРАБОТКИ 17.12.2016 8:41:49 ОПЕРАЦИЯ Обновление информации
Установлена блокировка базы <ИП Алексеев>:
Ошибка при создании объекта подключения к базе <ИП Алексеев>! {ОбщийМодуль.ЗадачиНаСервере.Модуль(74)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован
Ошибка обновления сведений информационной базы <ИП Алексеев>
Снята блокировка базы <ИП Алексеев>:
Технологический лог:
------------ КОНЕЦ ОБРАБОТКИ 17.12.2016 8:41:49 ОПЕРАЦИЯ Обновление информации
------------ НАЧАЛО ОБРАБОТКИ 29.03.2017 14:12:11 ОПЕРАЦИЯ Обновление информации
Установлена блокировка базы <Автоматизация администрирования информационных баз 6,0>:
Ошибка при создании объекта подключения к базе <Автоматизация администрирования информационных баз 6,0>! {ОбщийМодуль.ЗадачиНаСервере.Модуль(74)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован
Ошибка обновления сведений информационной базы <Автоматизация администрирования информационных баз 6,0>
Снята блокировка базы <Автоматизация администрирования информационных баз 6,0>:
Технологический лог:
------------ КОНЕЦ ОБРАБОТКИ 29.03.2017 14:12:11 ОПЕРАЦИЯ Обновление информации
Сеансы = ДанныеПодключенияКСерверу.AgentConnection.GetInfoBaseSessions(ТекущиЭлементМассиваСоединенийСРабочимПроцессом.Cluster, НайденноеОписаниеИБ);
по причине:
Типы не совпадают (2)
ВызватьИсключение ПараметрыОбработки.ОписаниеОшибки;
Не могу понять, не видит скуль или 1с сервер.Может кто запускал скульные версии баз-данны.
------------ НАЧАЛО ОБРАБОТКИ 29.03.2017 22:54:39 ОПЕРАЦИЯ Обновление ИБ
Установлена блокировка базы <0Buh>:
Установлена блокировка сеансов информационной базы <0Buh>
Ошибка при создании объекта подключения к базе <0Buh>! {ОбщийМодуль.ЗадачиНаСервере.Модуль(75)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Начало сеанса с информационной базой запрещено.
Выполняется обновление конфигурации!
Ошибка при создании объекта подключения к базе <0Buh>! {ОбщийМодуль.ЗадачиНаСервере.Модуль(75)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Начало сеанса с информационной базой запрещено.
Выполняется обновление конфигурации!
Ошибка снятия блокировки сеансов информационной базы <0Buh>
Ошибка при создании объекта подключения к базе <0Buh>! {ОбщийМодуль.ЗадачиНаСервере.Модуль(75)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Начало сеанса с информационной базой запрещено.
Выполняется обновление конфигурации!
Ошибка обновления сведений информационной базы <0Buh>
Снята блокировка базы <0Buh>:
Технологический лог:
------------ КОНЕЦ ОБРАБОТКИ 29.03.2017 22:55:21 ОПЕРАЦИЯ Обновление ИБ
Все базы файловые, активных сеансов нет.
Подскажите куда копать?
При этом обновления ставятся из списка баз по правому щелчку на базе "установить обновления" таким образом можно прощелкать все базы, создав некую очередь.
Думал проблема подключения только серверных баз. Но базы не подключаются даже файловые.
Сейчас работаю в win7 32 бит и 1 с аналогичная. проблем не было с подключение файловых баз.
------------ НАЧАЛО ОБРАБОТКИ 02.04.2018 19:58:07 ОПЕРАЦИЯ Обновление информации
Установлена блокировка базы <Проба2>:
Ошибка при создании объекта подключения к базе <Проба2>! {ОбщийМодуль.ЗадачиНаСервере.Модуль(75)}: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Ошибка при выполнении операции с информационной базой
Ошибка режима доступа к файлу базы данных 'D:\db\proba2/1Cv8.1CD'
Ошибка обновления сведений информационной базы <Проба2>
Снята блокировка базы <Проба2>:
Технологический лог:
------------ КОНЕЦ ОБРАБОТКИ 02.04.2018 19:58:08 ОПЕРАЦИЯ Обновление информации
Проверьте регистрацию com-компоненты платформы. Устанавливалась 32-битная или 64-битная версия (для 8.3.11 доступен так же 64-битный клиент)? Не пробовали вручную перерегистрировать компоненту?
исходный
Результат = ЗадачиНаСервере.УстановитьБлокировкуРегламентныхЗаданий(ИнформационнаяБаза, Установить);замена
Результат = ЗадачиНаСервере.УстановитьБлокировкуРегламентныхЗаданий(ИнформационнаяБаза, ПараметрыОбработки, Установить);(77) без обработчика получилось обновиться? релиз платформы соответствует спецификации релиза конфигурации? в логах самой базы, на которую устанавливается обновление, какие-то сообщения по данному вопросу есть? что пишут системные логи оси?
После этого база остается в режиме блокировки (цвет строки жирный синий). Когда вызываю заново обновление, ругается и пытаться снять блокировку с базы, но не может и ругается:
ОбъектПодключенияКРабочемуПроцессу.Disconnect(ТекущееСоединение);
по причине:
Типы не совпадают (1)
{ОбщийМодуль.ЗадачиНаСервере.Модуль(78)}: Ошибка при создании объекта подключения к базе <Бух 3.0>! {ОбщийМодуль.ЗадачиНаСервере.Модуль(72)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса
Или вот ссылка на папку дропбокс
upd. у меня сработала эта строка без удаления прошлых релизов.
Огромное спасибо автору!
кстати, в последних релиза БП наблюдаю, что запуск обработчика обновления не устраняет диалог подтверждения правомерности получения лицензии, хотя само обновление проходит корректно, и ручное подтверждение по лицензии не приводит к запуску процесса обновления, а просто закрывает диалог. возможно, что-то изменили в логике процесса самого обновления, не разбирался.
Пользуюсь вашей конфигурацией уже давно, глюков вообще не замечалось, а вот теперь такая подстава.
Причём, даже если в списке баз пробовать установить обновление то тоже пустое окно с релизами.
Кэш почистил думал с ним беда какая, не помогло. Скачал 3.4, обновил свою 3.0, тоже не помогло.
Куда копать, направьте)
Так же проверьте сведения поля "Upd info" в релизах: без этой информации не будет определен подходящий для установки релиз; для "следующего" релиза в данном поле должен быть указан "текущий" номер релиза.
Учтите, что для "перескакивания" через несколько релизов (когда в поле "Upd info" текущий релиз явно не обозначен как целевой) обязательно необходимо указать обработчик (фактически система сама накатывает все промежуточные релизы, вызывая процедуру обновления данных для каждого из них).
Грубо говоря с какими базами ведется активная работа, а какие вовсе не используются.
Типа.
Альфа-Тика 10000
Бета ООО 600
Гамма ЗАО 90
Дормаст 50
Возможно ли это сделать? Пусть и за доп. плату.
теперь с версии платформы 1С 8.3.5 журнал лога можно преобразовать в файловую базу данных SQL light, я пробовал скорость работы значительно возросла, к тому же можно воспользоваться бесплатными менеджерами или компонентами для доступа к этому логу вне самой 1С
в строке Обработка.ГрупповаяОбработка.Форма.Модуль(157) меняем код
ИначеЕсли Объект.ВидОбработки = ПредопределенноеЗначение("Перечисление.ВидыГрупповойОбработки.БлокировкаРегламентныхЗаданийУстановить") Тогдана код
ИначеЕсли Объект.ВидОбработки = ПредопределенноеЗначение("Перечисление.ВидыГрупповойОбработки.БлокировкаРегламентныхЗаданийСнять") Тогда1. Почему не стали использовать БСП?
2. Почему не используются регламентные задания. Это же в принципе очевидно - выполнить какую либо процедуру по времени.
3. Нет ролей, групп доступа. В принципе удобно разграничить доступ, если конечно пользоваться одному человеку то наверное хватит.
4. Непонятно зачем вводились предопределенные элементы в справочники виды конфигураций всего три? Возможно стоило добавить тогда все типовые конфигурации.
5. Нет документации в поставке. Хотя бы приложить текущую статью.
2. Безусловно, регламентные задания напрашиваются, но пока абсолютно не критичны. Полагаю, что кому это было необходимо давно допилили пару регламентных заданий. Хоть и задумываюсь об этом, но делать то времени нет, то желания.
3. Разделение по ролям и группам доступа? Для чего? Дать право одному админу грузить только определенный вид обновления, а другому использовать только определенный вид обработки над заданными базами? Лично для себя пока не определил необходимость этого.
4. Предопределенные элементы остались скорее как наследие первых версий в качестве "образца" что ли. Так и кочуют теперь. Кушать не просят пока :)
5. Согласен, что ПО без документации неполноценно, но о поставке вроде речи и нет. Продукт висит на Инфостарте в относительно свободном доступе, обновления для него достаточно условны. Скачать его, не ознакомившись со статьей можно только по собственному желанию. Да и на мой скромный взгляд для человека, которого может заинтересовать данный продукт, практически все будет интуитивно понятно. Поправьте если не прав.
Ошибка при загрузке обновления!
Технологический лог:
Файл не содержит доступных обновлений
------------ КОНЕЦ ОБРАБОТКИ 20.08.2014 14:09:25 ОПЕРАЦИЯ Обновление ИБ
Это запись из лога.
Что это может означать?
База для обновления на SQL.
Сама база по обновлению пока в файловом режиме.
(100) Приветствую! Похоже дело не конкретно в релизе 3.5, а в том, что длина кода в справочнике равна 1 :) Зайдите в режиме конфигуратора в базу, и увеличьте длину кода справочника "Учетные записи", например, до 3-х знаков (в следующих релизах так же увеличу длину кода).
То есть у меня 9 существующих записей.
Записываю десятую.
Программа пытается присвоить ей код 9.
Что-то тут не так...
Р.S.Ага, увидел ответ
"Похоже дело не конкретно в релизе 3.5, а в том, что длина кода в справочнике равна 1 :) Зайдите в режиме конфигуратора в базу, и увеличьте длину кода справочника "Учетные записи", например, до 3-х знаков (в следующих релизах так же увеличу длину кода)."
Не разобрался как обновлять через загрузку выгруженной конфигурации "Если поддерживается"?
Продолжайте поддержку проекта, согласен что у проекта есть перспектива.
По поводу "загрузки выгруженной конфигурации", если я правильно понял вопрос: в свойствах Информационной Базы есть реквизит тип обновления, в котором определяется, какой тип файла и с каким приоритетом будет использоваться для установки (соответствующий тип файла *.cfu и/или *.cf должен быть в составе релиза обновления). Но надо учитывать, что при загрузке из файлов *.cf (выгруженные конфигурации) платформа не может корректно обрабатывать все предупреждения/ошибки возникающие в процессе загрузки. Поэтому без без стандартного ручного сравнения-объединения или загрузки конфигурации может не обойтись.
Обновление заканчивается ошибкой.
Выводится сообщение об ошибке с кнопкой "ОК".
Потом идет процесс снятия блокировки в базе, который нужно ждать.
Потом идет обновление информации по базе, которое нужно ждать
Можно ли для экономии времени сначала снять блокировку и обновить информацию по базе, а потом вывести сообщение об ошибке?
(112) На самом деле ошибка может быть связана не с ошибками как таковыми, а с невозможностью в автоматическом режиме накатить изменения конфигурации на конфигурацию базы. В этом случаем обновление конфигурации поставщика/разработчика происходит корректно, а обновление конфигурации базы по какой-то причине не обновляется. Это может быть связано с тем, что включена возможность изменения, разблокированы для изменения какие-то объекты конфигурации или может быть конфигурация вообще снята с поддержки.
Уточните, какая конфигурация, были ли доработки, включена ли возможность изменения, имеются ли разблокированные для изменения объекты, файловая/серверная база, чем смогу, помогу (если удобно, пишите в личку) .
Не совсем понятно, с чем это связано.
------------ НАЧАЛО ОБРАБОТКИ 16.09.2014 11:17:06 ОПЕРАЦИЯ Обновление ИБ
Ошибка при загрузке обновления!
Технологический лог:
Обновление конфигурации успешно завершено
Обновление конфигурации базы данных
Обработка структуры базы данных...
Сбор служебной информации...
Принятие изменений...
Обновление конфигурации базы данных успешно завершено
Построение индекса справки...
------------ КОНЕЦ ОБРАБОТКИ 16.09.2014 11:25:45 ОПЕРАЦИЯ Обновление ИБ
(115) Данного кода в самой конфигурации нет. В этом коде реализуется вызов имеющихся в объектах конфигурации процедур/функций. Речь идет об обработчике для конфигурации БП 3.0, в которой есть, например, общий модуль ОбновлениеИнформационнойБазыВызовСервера, в котором имеется функция ВыполнитьОбновлениеИнформационнойБазы. Так что если пытаетесь использовать данный обработчик для другой конфигурации (не БП 3.0), убедитесь, что в структуре конфигурации есть соответствующие объекты и методы.
ИнформационнаяБаза_ОбъектПодключения.ОбновлениеИнформационнойБазыВызовСервера.ВыполнитьОбновлениеИнформационнойБазы(Истина, Ложь, Ложь);
Попытка
Если НЕ ИнформационнаяБаза_ОбъектПодключения.ПривилегированныйРежим() Тогда
ИнформационнаяБаза_ОбъектПодключения.УстановитьПривилегированныйРежим(Истина);
КонецЕсли;
ИнформационнаяБаза_ОбъектПодключения.ОбновлениеИнформационнойБазыСлужебный.ЗаписатьПодтверждениеЛегальностиПолученияОбновлений();
Исключение
КонецПопытки;
Результат = Истина;
У меня он видимо не отрабатывается, потому что при открытии базы появляется окно с необходимостью подтвердить обновление. Может быть код другой должен быть?
Хотя 1С лежит C:\Program Files (x86)\1cv82\8.2.19.80\bin
Что-то не получилось в публикацию попасть. Она дорабатывается или ее уже нет?
Неплохо было бы, если бы при загрузке обновлений хоть какой-то прогресс-бар показывал сколько еще ждать осталось.
Вполне вероятно, не раз сталкивался с тем, что безобидный в одном случае код при смене платформы обрабатывается некорректно. Обычно связано с тем, что предварительно проверки не делаются (на существование файла например, или NULL значения, или что-то подобное). Если честно я crash-логи, формируемые операционной системой не особо понимаю :) Но воспроизводится просто - достаточно константы попробовать изменить (пути к шаблонам и прочее).
Самое интересное - на следующий день все нормально загрузилось. Возможно где-то у вас проверка на дату стоит? Проверьте.
На дату проверок нет, но тоже столкнулся с подобной ситуацией. Речь идет о двух ресурсах: users.v8.1c.ru (через который распространяются обновления в рамках ИТС) и ресурсе downloads.v8.1c.ru (через который распространяются обновления для механизма загрузки "из интернета"). Есть подозрение, что просто публикация обновления на этих двух ресурсах выполняется в разное время.
//{{ SSC Vatan A.A. 21.10.2014
&НаСервере
//
//
Процедура ПолучитьАктуальныеРелизыСервер()
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ИнформационныеБазы.Ссылка
|ИЗ
| Справочник.ИнформационныеБазы КАК ИнформационныеБазы
|ГДЕ
| НЕ ИнформационныеБазы.ПометкаУдаления
|
|УПОРЯДОЧИТЬ ПО
| ИнформационныеБазы.ВидКонфигурации,
| ИнформационныеБазы.Наименование";
Выборка = Запрос.Выполнить().Выбрать();
ПорядковыйНомер = 0;
КоличествоЭлементовОбработки = Выборка.Количество();
Пока Выборка.Следующий() Цикл
ИнформационнаяБаза = Выборка.Ссылка;
ПолучитьАктуальныйРелизДляБазы(ИнформационнаяБаза);
ПорядковыйНомер = ПорядковыйНомер + 1;
КонецЦикла;
КонецПроцедуры // ()
&НаСервере
//
//
Процедура ПолучитьАктуальныйРелизДляБазы(База)
Если Не ЗначениеЗаполнено(База.sscПутьПроверкиАктуальногоРелиза) Тогда Возврат КонецЕсли;
АдресСервера = ПолучитьИмяСервераОбновлений();
Соединение = Новый HTTPСоединение(АдресСервера);
Попытка
Соединение.Получить(База.sscПутьПроверкиАктуальногоРелиза, КаталогВременныхФайлов()+ "\upd.txt");
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;
АктуальнаяВерсия = База.sscАктуальныйРелиз;
Файл = Новый ТекстовыйДокумент;
Файл.Прочитать(КаталогВременныхФайлов()+ "\upd.txt");
// из файла получаем только версию
Для Сч = 0 по Файл.КоличествоСтрок()-1 Цикл
Строка = Файл.ПолучитьСтроку(Сч+1);
Если Найти(Строка,"Version=") Тогда
АктуальнаяВерсия = Сред(Строка,Найти(Строка,"Version=")+СтрДлина("Version="));
КонецЕсли;
КонецЦикла;
Если АктуальнаяВерсия <> База.sscАктуальныйРелиз Тогда
БазаОбъект = База.ПолучитьОбъект();
БазаОбъект.sscАктуальныйРелиз = АктуальнаяВерсия;
БазаОбъект.Записать();
КонецЕсли;
УдалитьФайлы(КаталогВременныхФайлов()+ "\upd.txt");
КонецПроцедуры // ()
&НаСервере
//
//
Функция ПолучитьИмяСервераОбновлений()
Возврат "downloads.1c.ru";
КонецФункции
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПолучитьАктуальныеРелизыСервер();
КонецПроцедуры
//}} SSC Vatan A.A. 21.10.2014
ПоказатьТакже добавил проверку в процедуру обновления информации по базам:
&НаКлиенте
//
//
Процедура ОбновитьИнформациюПоБазам(Команда)
Если Вопрос("Операция может занять продолжительное время! Продолжить?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Нет Тогда Возврат; КонецЕсли;
ОбновитьИнформациюПоБазамСервер();
//{{ SSC Vatan A.A. 21.10.2014
ПолучитьАктуальныеРелизыСервер();
//}} SSC Vatan A.A. 21.10.2014
Элементы.Список.Обновить();
КонецПроцедуры
ПоказатьВсё это в форме списка
------------ НАЧАЛО ОБРАБОТКИ 12.12.2014 0:32:35 ОПЕРАЦИЯ Обновление ИБ
Ошибка при загрузке обновления!
Технологический лог:
Невозможно выполнение обновления конфигурации в командном режиме
------------ КОНЕЦ ОБРАБОТКИ 12.12.2014 0:41:06 ОПЕРАЦИЯ Обновление ИБ
В ручном режиме без проблем.
Пока не было ошибок, не возвращался к вопросу обновление через сохраненную конфигурацию(cf). У меня не получается добавить в список для обновления. Если вас не затруднит по пунктам для чайников.
Правда, обнаружил такую проблему:
При обновлении ут 10.3 для некоторых релизов обновлений возникает ошибка: "ошибка загрузки обновления".
Если накатываю тот же релиз обновления из командной строки в пакетном режиме (/UpdateDBCfg /Out "логг.log") ошибка: "Файл не содержит доступных обновлений".
Ручками через конфигуратор ("Выбрать файл обновления") тоже релиз обновления не накатывается, ругается на не соответствие версий.
Если посмотреть версию конфигурации, то выясняется:
- в свойствах конфигурации версия правильная
- в константах версия правильная
- в настройке поддержки, каким-то боком, предыдущая.
Кто-нибудь еще сталкивался с подобным?
В функцию ЗаменитьСпецсимволыНаПодчеркивание() нужно добавить полный набор спец символов, есть проблемы с созданием резервной копии, недопустимое имя файла (базу называл не я :))
СимволыЗамены = Новый СписокЗначений;
СимволыЗамены.Добавить( "*", "_"); //Звездочка (*)
СимволыЗамены.Добавить( "|", "_"); //Вертикальная черта (|)
СимволыЗамены.Добавить( "\", "_"); //Обратная косая черта (\)
СимволыЗамены.Добавить( ":", "_"); //Двоеточие (:)
СимволыЗамены.Добавить("""", "_"); //Двойные кавычки (")
СимволыЗамены.Добавить( "<", "_"); //Меньше (<)
СимволыЗамены.Добавить( ">", "_"); //Больше (>)
СимволыЗамены.Добавить( "?", "_"); //Вопросительный знак (?)
СимволыЗамены.Добавить( "/", "_"); //Косая черта (/)
ПоказатьВ функцию РаспарситьСписокБаз изменить срез квадратных скобок. У меня в некоторых названиях используются префиксы обрамленные в квадратные скобки.
ТекущаяСтрокаТаблицыДанных.Наименование = Сред(Сред(Стр,2), 1, СтрДлина(Стр));В функцию ПолучитьКомандуУстановкиОбновления " -Server" установить условие на версию платформы 8.2
(162) Перед выполнение какой-либо операции с ИБ в соответствующую запись устанавливается служебный реквизит, который используется для предотвращения запуска над одной базой двух параллельных операций (не-р, не логично запускать параллельно выгрузку и обновление). Этот признак полезен так же, если запускается несколько сеансов админки - видно какая ИБ уже обрабатывается в другом сеансе.
Иногда при системных ошибках этот реквизит может остаться не сброшенным, тогда последующая работа с базой будет недоступна. Это можно легко поправить: в карточке ИБ на вкладке "Системные параметры" снимаем флаг "Выполняется обработка". Снимать этот флаг стоит будучи полностью уверенным, что никакие операции с базой не выполняются.
Установил базу АИБ на 8.3 сервер, а бух учет находится на 8.2
Вот как вышел из данной ситуации (иногда так и тянет в govnokod.ru)
Функция ПолучитьПутьКИсполняемомуФайлуПлатформы(ИнформационнаяБаза = Неопределено) Экспорт
Если ИнформационнаяБаза = Неопределено Тогда
ИмяИсполняемогоФайлаПлатформы = "1cv8.exe";
ПутьКИсполняемомуФайлуПлатформы = КаталогПрограммы();
ИсполняемыйФайлПлатформы = Новый Файл(ПутьКИсполняемомуФайлуПлатформы + ИмяИсполняемогоФайлаПлатформы);
Если НЕ ИсполняемыйФайлПлатформы.Существует() Тогда
ПутьКИсполняемомуФайлуПлатформы = СтрЗаменить(ПутьКИсполняемомуФайлуПлатформы, "\Program Files\", "\Program Files (x86)\");
ИсполняемыйФайлПлатформы = Новый Файл(ПутьКИсполняемомуФайлуПлатформы + ИмяИсполняемогоФайлаПлатформы);
Если НЕ ИсполняемыйФайлПлатформы.Существует() Тогда
КаталогПлатформыНастройка = Константы.КаталогПлатформы;
Если ЗначениеЗаполнено(КаталогПлатформыНастройка) Тогда
Если Прав(КаталогПлатформыНастройка, 1) <> "\" Тогда КаталогПлатформыНастройка = КаталогПлатформыНастройка + "\"; КонецЕсли;
СисИнфо = Новый СистемнаяИнформация;
ПодкаталогТекущейВерсииПлатформы = СисИнфо.ВерсияПриложения + "\bin\";
ПозицияВСтроке = Найти(КаталогПлатформыНастройка, ПодкаталогТекущейВерсииПлатформы);
Если ПозицияВСтроке = 0 Тогда ПутьКИсполняемомуФайлуПлатформы = КаталогПлатформыНастройка + ПодкаталогТекущейВерсииПлатформы; КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
Возврат """" + ПутьКИсполняемомуФайлуПлатформы + ИмяИсполняемогоФайлаПлатформы + """";
Иначе
ТипCOMСоединителя = ЗадачиНаСервере.ТипCOMСоединителя(ИнформационнаяБаза);
Если ТипCOMСоединителя = "v82.COMConnector" Тогда
ИмяПараметраСеанса = "КаталогПрограммы_v82";
Иначе
ИмяПараметраСеанса = "КаталогПрограммы_v83";
КонецЕсли;
КаталогПрограммы = ОбщегоНазначенияСервер.ПолучитьПараметрыСеанса(ИмяПараметраСеанса);
Если ПустаяСтрока(КаталогПрограммы) Тогда
ПараметрыОбработки = ЗадачиНаСервере.ПолучитьСтруктуруПараметровОбработки();
ИнформационнаяБаза_ОбъектПодключения = ЗадачиНаСервере.СоздатьОбъектПодключения(
ИнформационнаяБаза,
ЗадачиНаСервере.ПолучитьРеквизитыПодключенияCOM(ИнформационнаяБаза),
ПараметрыОбработки);
КаталогПрограммы = ИнформационнаяБаза_ОбъектПодключения.КаталогПрограммы() + "1cv8.exe";
ОбщегоНазначенияСервер.УстановитьПараметрыСеанса(ИмяПараметраСеанса, КаталогПрограммы);
КонецЕсли;
Возврат КаталогПрограммы;
КонецЕсли;
КонецФункции ПоказатьЧерез ком соединение можно вызвать метод КаталогПрограммы() и вызвать нужную платформу.
Еще сделал второй вариант этой процедуры для запуска на клиенте, для того что бы можно было запустить кнопку "Конфигуратор"
Непонятно как избавиться от этой ошибки.
упс проблема решилась запуском от админа )
1С база: имя base1C, логин Администратор пасс 12345
1С сервер: имя abc, служба работает под win учеткой usr1c пасс 12345
MSSQL сервер: abcsql, sa 12345
поперепробовал разные варианты, ни один чет не получился. вываливается с ошибкой "ошибка авторизации"
в какие справочники какие логины/пароли надо вбивать в этой ситуации?
1. в справочнике учетных записей создать новую учетку с типом "Учетная запись сервера 1С". В этой учетке указываем необходимые реквизиты авторизации: имя учетной записи администратора сервера 1С; вид авторизации (виндовая или по паролю); если учетка администратора сервера вообще не заводилась, можно создать условную учетную запись с именем Администратор и виндовой авторизацией;
2. создаем запись сервера в справочнике "Сервера" с типом "Сервер 1С" - в качестве наименования имя или IP сервера 1С (abc). В реквизите Пользователь указываем созданную в п.1. учетку, порт сервера/порт кластера (по умолчанию 1540/1541).
3. создаем базу в справочнике "Информационные базы". Кроме наименования и первичной инфе о релизе на вкладке "Подключение" указываем: Тип ИБ - Серверная; Имя ИБ - имя базы на сервере 1С (base1C); Сервер ИБ - созданный в п2. сервер; Пользователь ИБ - пользователь информационной базы, под которым выполняется подключение и операции непосредственно в базе (создается по аналогии с учеткой в п.1, только с типом "Учетная запись ИБ") - обычно это учетка администратора базы;
Реквизиты пользователей, под которым работает служба 1С и выполняется подключение к SQL, для подключения базы в админку не нужны.
Реквизиты пользователя, под которым выполняется подключение к SQL могут понадобиться только, если захотите выгружать скульные архивы через админку. Тогда в карточке информационной базы на вкладке Параметры SQL нужно будет указать сервер (создается по аналогии с пунктами 1,2 только типы сервера и учетной записи соответствующие SQL).
(166) Спасибо! Веб сервис нужен для публикации и управлением списками баз. Какие есть варианты добавить базу пользователю для работы? Можно:
1. добавить базу вручную, указав параметры подключения - при любом изменении параметров подключения к базе или необходимости подключить пользователю что-то еще делаем все руками;
2. создать файлик v8i со спискм баз, и подключить пользователю его - по мере необходимости корректируем файлик, и у всех пользователей, которым был подключен список, обновляется перечень доступных баз согласной файлу;
3. публикуем веб-сервис, который транслирует списки баз, и подключаем его по аналогии со списком баз; вот как раз для этого и сделан сервис в админке, т.к все данные для подключения там есть, и не нужно их корректировать где-то еще;
Регламентное задание загрузки обновлений для серверной админки есть, а совсем бесконтрольно ставить обновления или запускать тестирования я пока не готов. Регламентное задание по выгрузке архивов действительно было бы полезно, можно подумать. Лично в моем случае оно просто не так актуально .т.к. хватает бэкапов виртуалок серверов на ленты + штучные выгрузки архивов перед выполнение операций обновления/тии и т.д.
Читал, читал, но так и не понял для чего добавлен веб-сервис в конфигурацию :) Приведите пример когда нам нужно получить список ИБ из АУБ?
Lars Ulrich давайте добавим регламентные задания. Прошу не потому что самому лень дописать, а потому что это так очевидно в такой конфигурации и напрашивается после первого тестирования вручную любой операции.
Подскажите, пожалуйста, в чем может быть проблема:
-------------------------------------------------------------------------
Ошибка при загрузке обновления по базе <БП>! [КодВозврата 3 221 226 525 : ]
Конфигурация Бухгалтерия, MS SQL
Заранее спасибо.
Как вариант - проверьте, включена ли в конфигурации возможность изменения; если хотя бы на одном объекте типовой включена возможность изменения, то выполните вручную установку очередного обновления, в процессе которого установите блокировку на все типовые объекты (после подтверждения сравнения/объединения отображается соответствующий запрос); после установки обновления вручную попробуйте еще раз выполнить обновление через админку.
Возможность изменения отключена. При обновлении файловых баз (правда сервер Win 2003) все проходит нормально.
Эти же базы были перенесены на новый сервер 2012R2 и MS SQL - выдается ошибка, но при этом обновление устанавливается.
Если поставить галку "Открывать базу после обновления", то база не открывается.
Мало того, при неудачной выгрузке архива удаляется весь каталог.
в момент создания архива создается файл N1 с 0 размером.
Пробовал чистую конфигурацию, тоже самое.
Пожалуйста, помогите разобраться в чем дело.
В какой каталог выполняется выгрузка: в общий каталог, который задан в параметрах системы, или в каталог, который указан в свойствах ИБ?
По логике выгрузки удаление производится только в том случае, если найдены дублирующиеся по наименованию файлы выгрузки и установлена опция их удаления.
Имя архива собирается из имени ИБ + префикс базы + префикс вида конфигурации + номер релиза + дата (спецсимволы и пробелы заменяются на подчеркивание).
Если удаляется каталог, то ,возможно, проблемы в формировании имени архива, но об этом должна быть запись в журнале логов.
------------ НАЧАЛО ОБРАБОТКИ 01.07.2015 23:49:46 ОПЕРАЦИЯ Обновление ИБ
<"0Buh"> Ошибка при формировании архива!
Технологический лог:
Файл не обнаружен 'D:\arhive\.n1'
------------ КОНЕЦ ОБРАБОТКИ 01.07.2015 23:52:12 ОПЕРАЦИЯ Обновление ИБ
Выгрузка выполняется в каталог, указанный в настройках системы, на вкладке "Архив"
Каталог существует, права на него есть.
В чистой конфигурации, ситуация такая же, на другом компе все отрабатывает
Раньше при формировании архива писалось название файла архива, сейчас просто ".n1"
В общем, в проблеме разобрался.
Причина всему банальные "кавычки" в наименовании базы. Сделал по просьбе бухгалтеров...
Если кавычки стоят впереди ("buh"), программа пытаясь создать архив удаляет весь каталог вместе с архивами (хорошо хоть теневая копия включена).
Если до кавычек есть другие символы (ООО "buh"), программа создаст файл без расширения с названием из символов до кавычек (ООО_).
Попробовал загрузить в папку с обновлением файл .cf, установил флаг "отключить проверку соответствия релизов", поставил тип обновления "только .cf", но при обновлении все-равно ищет промежуточный релиз.
Сам файл *.cf точно был в каталоге релиза?
(181) Понятно, значит дело все-таки в ошибке формирования имени архива.
Добавлю дополнительную проверку, чтобы хоть как-то исключить удаление каталога архивов.
И можно обновить функцию в модуле ЗадачиНаСервере:
//
//
Функция ЗаменитьСпецсимволыНаПодчеркивание(Значение) Экспорт
Результат = Значение;
СимволыЗамены = Новый СписокЗначений;
СимволыЗамены.Добавить(" ", "_");
СимволыЗамены.Добавить(".", "_");
СимволыЗамены.Добавить(",", "_");
СимволыЗамены.Добавить("/", "_");
СимволыЗамены.Добавить("\", "_");
СимволыЗамены.Добавить("*", "_");
СимволыЗамены.Добавить("|", "_");
СимволыЗамены.Добавить(":", "_");
СимволыЗамены.Добавить("""", "_");
СимволыЗамены.Добавить("<", "_");
СимволыЗамены.Добавить(">", "_");
СимволыЗамены.Добавить("?", "_");
СимволыЗамены.Добавить("+", "_");
СимволыЗамены.Добавить("(", "_");
СимволыЗамены.Добавить(")", "_");
СимволыЗамены.Добавить("#", "_");
СимволыЗамены.Добавить("@", "_");
Для Каждого Замена Из СимволыЗамены Цикл
Результат = СокрЛП(СтрЗаменить(Результат, Замена.Значение, Замена.Представление));
КонецЦикла;
Возврат Результат;
КонецФункции Показать(182) Спасибо! Замечания разберу.
Спасибо за добротную конфигурацию!
Очень полезная, а для постоянного обновления 60+ типовых баз просто незаменимая. Попробую поговорить с начальством о вознаграждении.
Пришлось, правда кое что подправить в общем модуле "ЗадачиНаКлиенте", процедура "УстановитьОбновление":
1. Строка 453. После отрабатывания строчки
ЗадачиНаСервере.ЗапуститьПриложениеСервер(...)А точнее, исполнения строки
ЗапуститьПриложение(КомандаЗапуска, , Истина, КодВозврата);Обновление конфигурации отрабатывает должным образом, без ошибок, однако КодВозврата метод возвращает равным 1.
Таким образом пришлось выполнить следующую модификацию:
КодВозврата = 0;
ЗадачиНаСервере.ЗапуститьПриложениеСервер(ЗадачиНаСервере.ПолучитьКомандуУстановкиОбновления(ИнформационнаяБаза, ПараметрыОбработки, ТекущийРелизОбновления, ИмяФайлаОбновления), КодВозврата);
//++ VION
//Если КодВозврата = 0 Тогда
Если КодВозврата = 0 ИЛИ КодВозврата = 1 Тогда
//-- VION2. Если на форме настройки параметров обновления установить флаги "Отключать сеансы" и "Открывать базу после обновления" то информационная база не запускается, т. к. начало сеансов запрещено.
Переместил код
Если ПараметрыОбработки.ОткрыватьБазуПослеОбновления Тогда
#ЕСЛИ НЕ ВебКлиент ТОГДА
ЗапуститьПриложение(ЗадачиНаСервере.ПолучитьКомандуОткрытияВРежимеПредприятия(ИнформационнаяБаза, ПараметрыОбработки), , Ложь);
#ИНАЧЕ
ПараметрыОбработки.ОписаниеОшибки = "<" + ИнформационнаяБаза + "> Открытие системы в режиме предприятия при работе через Веб-клиент недоступно.";
ЖурналЛоговКлиент.ВывестиПредупреждение(ПараметрыОбработки);
#КОНЕЦЕСЛИ
КонецЕсли; Показатьс 476 строки в самый конец процедуры. База стала открываться.
3. Если в групповой обработке заполнить список баз, а затем в меню "Операции" выбрать пункт "Обновить", после вопроса появляется ошибка "Значение не является значением объектного типа".
Что хотелось бы увидеть в конфигурации в будущем:
1. Выполнение обновлений фоновым заданием (можно взять из БСП, модуль "ДлительныеОперации")
2. Регламентные задания.
3. Отчет по журналу логов. Было бы удобно запустить обновление всех баз, в регламентном задании, а затем просто просмотреть отчет о проделанном.
4. Удаление старых резервных копий и уведомление по email. Тогда можно было бы использовать данную конфигурацию и для резервного копирования на постоянной основе.
Желаю всяческих успехов и развития проекта! :)
Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Класс не зарегистрирован
regsvr32 "C:\Program Files (x86)\1cv8\8.3.5.1517\bin\comcntr.dll"
делал, не помогло
Релиз платформы стоит только один 8.3.5.1517. Сервер такой же х64.
База версии 8.2.
ИЗВИНИТЕ. Мой косяк. Оказывается по-умолчанию 1С не устанавливает COM-компоненту. Доставил и все заработало.
АВТОРУ РЕСПЕКТ.
Пожелания на будущее, если будет возможность сделать:
1. Планировщик заданий.
2. Уведомления по электронной почте.
Например как это реализовано . Жаль, что там только для файловых версий.
- проверка наличия обновлений присутствует;
- возможна настройка регламента по выгрузке и обновлению:
1. в составе различных, независимых заданий - отдельно на выгрузку, отдельно на обновление;
2. в виде сценария последовательно выполняемых операций, при этом выгрузка будет выполняться, например безусловно, а обновление только если в системе загружена информация о новом релизе;
Уведомлений на e-mail пока нет.
Делаю по инструкции. Если на прописанной базе - правая кнопка мыши - открыть предприятие - 1С успешно запускается.
Но при попытке обновить информацию по базе вываливается ошибка.
НАЧАЛО ОБРАБОТКИ 02.04.2018 17:56:49 ОПЕРАЦИЯ Обновление информации
Установлена блокировка базы <Роспроба>:
Ошибка при выполнении инструкции запуска приложения! Роспроба
<Роспроба> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(196)}: Метод объекта не обнаружен (ConnectAgent)
Ошибка установки блокировки регламентных заданий информационной базы <Роспроба>
Ошибка обновления сведений информационной базы <Роспроба>
Снята блокировка базы <Роспроба>:
Технологический лог:
------------ КОНЕЦ ОБРАБОТКИ 02.04.2018 17:56:51 ОПЕРАЦИЯ Обновление информации
что делать?
Оказалось что не подключается и файловые базы.
Попробовал создать пользователя в разных базах через "Управление пользователями внешних ИБ". Прописал имя, задал роль Полные права. Все конфигурации - типовые БП3.
Что получилось - пользователи создались во всех базах, но при входе в базу под ним выдается сообщение: пользователь не найден в списке пользователей.
Ну и во всех типовых конфах есть понятие не отдельных ролей, а профилей групп доступа и Групп пользователей. Еще не видел здесь ни одной разработки с поддержкой создания пользователей и назначения им групп доступа. Если реализуете - не пожалею денег, куплю.
Для себя пока решил вопрос через программный обработчик:
- в обработке "Управление пользователями внешних ИБ" присутствует табличная часть, в которую можно добавлять обработчики;
- эти обработчики в заданной последовательности вызываются после выполнения операции по добавлению учетки на уровне платформы;
- в конфигурации уже присутствует предопределенный обработчик "После добавления пользователя ИБ Бухгалетрия 3.0", который для таких случаев создает в справочнике пользователей записи для всех учетных записей платформы - его вызываем первым;
- далее в другом обработчике добавляем программный код, который раскидывает ссылку по группам доступов или группам пользователей;
- логику работы такого обработчика брал из типовой общей формы настройки прав БП (на тот момент она называлась ПраваДоступаУпрощенно);
Схема, конечно, не самая прозрачная, но, во-первых, после пары раз становится привычной, а во-вторых, все лучше, чем 100500 баз руками ковырять.
Да платформа обновлялась, но новая версия платформы в конфигурации прописана. Вручную прописана версия платформы под которой запускается ваша конфигурация.
Конфигурация администрирования информационных баз работает как файловая, обновляет базы находящиеся на сервере. Сервер и машина с установленной файловой конфигурацией "администрирования информационных баз" работают в одной сети. Более того это виртуальные машины на одном сервере. Сразу говорю, ранее, все это хозяйство благополучно работало.
Вот что в логах:
------------ НАЧАЛО ОБРАБОТКИ 29.02.2016 13:35:48 ОПЕРАЦИЯ Выгрузка архива
Установлена блокировка базы <50-region>:
Установлена блокировка сеансов информационной базы <50-region>
<50-region> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка при отключении сеансов информационной базы <50-region>
<50-region> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка установки блокировки регламентных заданий информационной базы <50-region>
Ошибка при выполнении инструкции запуска приложения! 50-region
<50-region> Операция выгрузки архива не выполнена
Снята блокировка сеансов информационной базы <50-region>
Установлена блокировка базы <50-region>:
ИБ <50-region> не может быть открыта монопольно, т.к. обнаружены не закрытые сеансы пользователей!
<50-region> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка установки блокировки регламентных заданий информационной базы <50-region>
Успешно обновлены сведения информационной базы <50-region>
Ошибка при выполнении инструкции запуска приложения! 50-region
<50-region> Операция выгрузки архива не выполнена
Снята блокировка сеансов информационной базы <50-region>
<50-region> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка установки блокировки регламентных заданий информационной базы <50-region>
<50-region> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка установки блокировки регламентных заданий информационной базы <50-region>
Успешно обновлены сведения информационной базы <50-region>
Снята блокировка базы <50-region>:
Технологический лог:
Ошибка исключительной блокировки информационной базы.
Активные сеансы и соединения:
компьютер: 1c , сеанс: 8403, начат: 02.03.2016 в 1:00:02, приложение: Фоновое задание
------------ КОНЕЦ ОБРАБОТКИ 02.03.2016 1:01:28 ОПЕРАЦИЯ Выгрузка архива
------------ НАЧАЛО ОБРАБОТКИ 10.03.2016 0:51:41 ОПЕРАЦИЯ Выгрузка архива
Установлена блокировка базы <elektron-test2>:
Установлена блокировка сеансов информационной базы <elektron-test2>
<elektron-test2> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка при отключении сеансов информационной базы <elektron-test2>
<elektron-test2> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка установки блокировки регламентных заданий информационной базы <elektron-test2>
Ошибка при выполнении инструкции запуска приложения! elektron-test2
<elektron-test2> Операция выгрузки архива не выполнена
Снята блокировка сеансов информационной базы <elektron-test2>
<elektron-test2> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка установки блокировки регламентных заданий информационной базы <elektron-test2>
<elektron-test2> Ошибка при подключении к рабочему процессу: {ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)
Ошибка установки блокировки регламентных заданий информационной базы <elektron-test2>
Успешно обновлены сведения информационной базы <elektron-test2>
Снята блокировка базы <elektron-test2>:
Технологический лог:
Начало сеанса с информационной базой запрещено.
Выполняется обновление конфигурации!
------------ КОНЕЦ ОБРАБОТКИ 10.03.2016 0:53:34 ОПЕРАЦИЯ Выгрузка архива
Так же в новой версии реализовано выполнение групповой обработки несколькими параллельными процессами.
Ошибка совместного доступа к файлу 'n:\service\configurations\lts\1c\Accounting\3_0_42_89\1cv8.cfu'. 32(0x00000020): Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.Спасибо за предоставленный инструмент - с ним рутина становится творчеством!
Вот пример для aub (версия 4.0) обработчика для регистрации (обновления) печатной формы (используется в ЗУП 2.5):
1) Мы имеем файл обработки 1С:Предприятие 8 - это наша внешняя печатная форма и точно знаем полный путь к этому файлу. В обработке есть реквизит ДополнительныеПараметры, который у нас потом обрабатывается в модуле, также создали макет Параметры_Авторегистрации в котором указали Документы.УвольнениеИзОрганизаций.
2) В aub создаем новый обработчик - у меня они называются как [версия конфигурации: имя файла обработки]
3) Пуляем <Групповая обработка> - вид обработки - выполнение обработчика, выбираем нужные базы, назначаем им наш обработчик и...
4) Вуаля - ловим сообщения об обработке
Собственно код обработчика |
|---|
| Результат = Ложь;
Попытка ФайлПолноеИмя = "D:\1C\Форма_Т8_Внешняя.epf"; ФайлОбработки = Новый Файл(ФайлПолноеИмя); Если ФайлОбработки.Существует() Тогда Попытка ВнешняяОбработка = ИнформационнаяБаза_ОбъектПодключения.ВнешниеОбработки.Создать(ФайлОбработки.ПолноеИмя); Исключение ОписаниеОшибки = "Ошибка создания объекта!"; КонецПопытки; НаименованиеОбработки = ВнешняяОбработка.Метаданные().Синоним; Режим = ""; ОбработкаОбъект = ИнформационнаяБаза_ОбъектПодключения.Справочники.ВнешниеОбработки.НайтиПоНаименованию(НаименованиеОбработки, Истина); Если ОбработкаОбъект.Пустая() Тогда Режим = "Создан"; ОбработкаОбъект = ИнформационнаяБаза_ОбъектПодключения.Справочники.ВнешниеОбработки.СоздатьЭлемент(); ОбработкаОбъект.Наименование = НаименованиеОбработки; ОбработкаОбъект.ВидОбработки = ИнформационнаяБаза_ОбъектПодключения.Перечисления.ВидыДополнительныхВнешнихОбработок.ПечатнаяФорма; ОбработкаОбъект.Комментарий = "[" + Формат(ТекущаяДата(), "ДФ=yyyyMMdd") + "]"; Иначе Режим = "Обновлен"; Попытка ОбработкаОбъект = ОбработкаОбъект.ПолучитьОбъект(); Исключение ОписаниеОшибки = ОписаниеОшибки(); КонецПопытки; Если ОбработкаОбъект.ПометкаУдаления = Истина Тогда ОбработкаОбъект.ПометкаУдаления = Ложь; КонецЕсли; КонецЕсли; ОбработкаОбъект.КомментарийКФайлуИсточнику = "Исходный файл: " + ФайлОбработки.Имя + Символы.ПС + "размер:" + ФайлОбработки.Размер() + " байт; изменен:" + ФайлОбработки.ПолучитьВремяИзменения() + "; сохранен в ИБ:" + СокрЛП(ТекущаяДата()); ДвоичныеДанныеОбработки = ИнформационнаяБаза_ОбъектПодключения.NewObject("ДвоичныеДанные", ФайлОбработки.ПолноеИмя); ХранилищеЗначенияОбработки = ИнформационнаяБаза_ОбъектПодключения.NewObject("ХранилищеЗначения", ДвоичныеДанныеОбработки, ИнформационнаяБаза_ОбъектПодключения.NewObject("СжатиеДанных")); ОбработкаОбъект.ХранилищеВнешнейОбработки = ХранилищеЗначенияОбработки; Если ВнешняяОбработка.Метаданные().Макеты.Найти("Параметры_Авторегистрации") <> Неопределено Тогда Макет = ВнешняяОбработка.ПолучитьМакет("Параметры_Авторегистрации"); ТаблицаПринадлежности = ИнформационнаяБаза_ОбъектПодключения.NewObject("ТаблицаЗначений"); ТаблицаПринадлежности.Колонки.Добавить("СсылкаОбъекта"); ТаблицаПринадлежности.Колонки.Добавить("ТабличнаяЧастьИмя"); Для индекс = 1 по Макет.ВысотаТаблицы Цикл Попытка ВидОбъектаСтр = Макет.Область(индекс, 1, индекс, 1).Текст; ИмяТЧ = ?(ОбработкаОбъект.ВидОбработки = ИнформационнаяБаза_ОбъектПодключения.Перечисления.ВидыДополнительныхВнешнихОбработок.ЗаполнениеТабличныхЧастей, Макет.Область(индекс, 2, индекс, 2).Текст, ""); ЕСли Лев(ВидОбъектаСтр, Найти(ВидОбъектаСтр, ".")-1) = "Документы" Тогда Попытка СсылкаНаОбъект = ИнформационнаяБаза_ОбъектПодключения.Документы[Сред(ВидОбъектаСтр, Найти(ВидОбъектаСтр, ".")+1)].ПустаяСсылка(); СтрокаТаблицыПринадлежности = ТаблицаПринадлежности.Добавить(); СтрокаТаблицыПринадлежности.СсылкаОбъекта = СсылкаНаОбъект; СтрокаТаблицыПринадлежности.ТабличнаяЧастьИмя = ИмяТЧ; Исключение КонецПопытки; ИначеЕсли Лев(ВидОбъектаСтр, Найти(ВидОбъектаСтр, ".")-1) = "Справочники" Тогда Попытка СсылкаНаОбъект = ИнформационнаяБаза_ОбъектПодключения.Справочники[Сред(ВидОбъектаСтр, Найти(ВидОбъектаСтр, ".")+1)].ПустаяСсылка(); СтрокаТаблицыПринадлежности = ТаблицаПринадлежности.Добавить(); СтрокаТаблицыПринадлежности.СсылкаОбъекта = СсылкаНаОбъект; СтрокаТаблицыПринадлежности.ТабличнаяЧастьИмя = ИмяТЧ; Исключение КонецПопытки; КонецЕсли; Исключение КонецПопытки; КонецЦикла; Если ТаблицаПринадлежности.Количество() > 0 Тогда Для Каждого СтрокаТаблицыПринадлежности Из ТаблицаПринадлежности Цикл СтруктураОтбора = ИнформационнаяБаза_ОбъектПодключения.NewObject("Структура"); СтруктураОтбора.Вставить("СсылкаОбъекта", СтрокаТаблицыПринадлежности.СсылкаОбъекта); СтруктураОтбора.Вставить("ТабличнаяЧастьИмя", СтрокаТаблицыПринадлежности.ТабличнаяЧастьИмя); СтрокиПринадлежности = ОбработкаОбъект.Принадлежность.НайтиСтроки(СтруктураОтбора); Если СтрокиПринадлежности.Количество() = 0 Тогда НоваяСтрока = ОбработкаОбъект.Принадлежность.Добавить(); НоваяСтрока.СсылкаОбъекта = СтрокаТаблицыПринадлежности.СсылкаОбъекта; МетаданныеОбъекта = СтрокаТаблицыПринадлежности.СсылкаОбъекта.Метаданные(); Если ИнформационнаяБаза_ОбъектПодключения.Метаданные.Документы.Содержит(МетаданныеОбъекта) Тогда НоваяСтрока.ПредставлениеОбъекта = "Документ """ + ?(МетаданныеОбъекта.Синоним = "", МетаданныеОбъекта.Имя, МетаданныеОбъекта.Синоним) + """"; ИначеЕсли ИнформационнаяБаза_ОбъектПодключения.Метаданные.Справочники.Содержит(МетаданныеОбъекта) Тогда НоваяСтрока.ПредставлениеОбъекта = "Справочник """ + ?(МетаданныеОбъекта.Синоним = "", МетаданныеОбъекта.Имя, МетаданныеОбъекта.Синоним) + """"; КонецЕсли; НоваяСтрока.ТабличнаяЧастьИмя = СтрокаТаблицыПринадлежности.ТабличнаяЧастьИмя; НайденнаяТЧ = МетаданныеОбъекта.ТабличныеЧасти.Найти(СтрокаТаблицыПринадлежности.ТабличнаяЧастьИмя); Если НайденнаяТЧ = Неопределено Тогда НоваяСтрока.ТабличнаяЧастьПредставление = НоваяСтрока.ТабличнаяЧастьИмя; Иначе НоваяСтрока.ТабличнаяЧастьПредставление = НайденнаяТЧ.Синоним; КонецЕсли; НоваяСтрока.ДополнительныеПараметрыОбработки = Неопределено; НоваяСтрока.ПредставлениеНастроекОбработки = "<Задать параметры>"; //или ДополнительныеПараметрыОбработки = ИнформационнаяБаза_ОбъектПодключения.NewObject("Структура"); ДополнительныеПараметрыОбработки.Вставить("Параметр1", Ложь); ДополнительныеПараметрыОбработки.Вставить("Параметр2", Истина); ДополнительныеПараметрыОбработки.Вставить("Параметр3", 123); ДополнительныеПараметрыОбработки.Вставить("Параметр4", "Бла, бла, бла..."); ДополнительныеПараметрыОбработки.Вставить("Параметр5", ТекущаяДата()); НоваяСтрока.ДополнительныеПараметрыОбработки = ИнформационнаяБаза_ОбъектПодключения.NewObject("ХранилищеЗначения", ДополнительныеПараметрыОбработки, ИнформационнаяБаза_ОбъектПодключения.NewObject("СжатиеДанных")); НоваяСтрока.ПредставлениеНастроекОбработки = "<Изменить параметры>"; Иначе Для каждого СтрокаПринадлежности Из СтрокиПринадлежности Цикл СтрокаПринадлежности.ЗаменяемаяПечатнаяФорма = "Т8_от_5_1_2004"; ДополнительныеПараметрыОбработки = СтрокаПринадлежности.ДополнительныеПараметрыОбработки.Получить(); //Вар.: очистка //НоваяСтрока.ДополнительныеПараметрыОбработки = Неопределено; //НоваяСтрока.ПредставлениеНастроекОбработки = "<Задать параметры>"; //Вар.: установка (изменение) Если ДополнительныеПараметрыОбработки = Неопределено Тогда ДополнительныеПараметрыОбработки = ИнформационнаяБаза_ОбъектПодключения.NewObject("Структура"); КонецЕсли; Если ДополнительныеПараметрыОбработки.Свойство("Параметр1") Тогда ДополнительныеПараметрыОбработки.Параметр1 = Ложь; Иначе ДополнительныеПараметрыОбработки.Вставить("Параметр1", Ложь); КонецЕсли; Если ДополнительныеПараметрыОбработки.Свойство("Параметр2") Тогда ДополнительныеПараметрыОбработки.Параметр2 = Истина; Иначе ДополнительныеПараметрыОбработки.Вставить("Параметр2", Истина); КонецЕсли; Если ДополнительныеПараметрыОбработки.Свойство("Параметр3") Тогда ДополнительныеПараметрыОбработки.Параметр3 = 123; Иначе ДополнительныеПараметрыОбработки.Вставить("Параметр3", 123); КонецЕсли; Если ДополнительныеПараметрыОбработки.Свойство("Параметр4") Тогда ДополнительныеПараметрыОбработки.Параметр4 = "Бла, бла, бла..."; Иначе ДополнительныеПараметрыОбработки.Вставить("Параметр4", "Бла, бла, бла..."); КонецЕсли; Если ДополнительныеПараметрыОбработки.Свойство("Параметр5") Тогда ДополнительныеПараметрыОбработки.Параметр5 = ТекущаяДата(); Иначе ДополнительныеПараметрыОбработки.Вставить("Параметр5", ТекущаяДата()); КонецЕсли; СтрокаПринадлежности.ДополнительныеПараметрыОбработки = ИнформационнаяБаза_ОбъектПодключения.NewObject("ХранилищеЗначения", ДополнительныеПараметрыОбработки, ИнформационнаяБаза_ОбъектПодключения.NewObject("СжатиеДанных")); СтрокаПринадлежности.ПредставлениеНастроекОбработки = "<Изменить параметры>"; КонецЦикла; КонецЕсли; КонецЦикла; КонецЕсли; КонецЕСли; Попытка ОбработкаОбъект.Записать(); Сообщить(Режим + " элемент ВПФ " + СокрЛП(ОбработкаОбъект.Наименование)); Результат = Истина; Исключение ОписаниеОшибки = "Ошибка " + НРег(Режим)+"ия" + " элемента ВПФ " + СокрЛП(ОбработкаОбъект.Наименование) + Символы.ПС + ОписаниеОшибки(); КонецПопытки; Иначе ОписаниеОшибки = "Файл обработки не найден!"; КонецЕсли; Исключение ОписаниеОшибки = ОписаниеОшибки(); КонецПопытки; |
1. У нас стоит сервер windows server 2008 r2 enterprise и много файловых баз с доступом через терминал. Когда я запускаю пакетное обновление и отхожу от компьютера на 30+ минут, меня сервер отключает, потому как "ваш сеанс отключен, т.к превышено время бездействия..". Приходится заново подключаться, заново запускать обработку. Либо двигать мышкой через каждые 30 минут. Говорил с сисадмином по этому вопросу, были предложены решения, такие как:
1) подключиться к своему компу(домену) на работе через тимвьюер, а дальше зайти на сервер через терминал - проработал около 1часа 40 минут, дальше тоже самое.
2) запускал прогу имитирующую активные действия (автокликер), тоже не помогло.
Сисадмин не видит возможности в увеличении времени бездействия. Нужно чтобы программа работала без моего участия. Как решить?
2. Реально ли запустить 50+ баз на одном физическом сервере средней конфигурации через ms sql? Все базы занимают около 1 Гб. Во всех базах 0-3 пользователя, Знаю, что если пользователей в базе немного, около 1-5, то sql база будет работать медленнее, чем в файловом варианте процентов на 10-20. Оправданно ли в такой ситуации переходить на sql? С понижением производительности на 10-20 процентов готовы мириться, ради возможностей архивирования и запуска регламентных заданий.
Спасибо.
Если бы базы "висели" на сервере, то можно было бы запускать обновление либо регламентом, либо одновременно в нескольких параллельных потоках.
Перевод такого количества баз на MS SQL вполне оправдан. Как Вы верно сказали, падение производительности возможно, но не обязательно.
(210) insurgut, кардинальное решение вопроса :)
По поводу количества баз - это скорее всего вариант, когда велика вероятность оперативного вывода юрлиц за периметр обслуживания. Из общей базы данные придется дополнительно выгружать и т.д. и т.п., а отдельную базу выгрузили, отдали и забыли.
Первое что бросилось в глаза это почему расположение платформы получаем на сервере? а вдруг на клиенте умудрились в другой каталог положить платформу? Или клиентский сервер х32
Или я что-то не заметил там?
Я не знаю, насколько это все правильно. Но мне это кажется правильнее
WebСервисWebCommonInfoBases.ПолучитьТекстДляЭлемента(ЭлементСпискаБаз) я думаю следует для OrderIn* сделать формат "ЧГ=0"
|OrderInList=" + Формат(ЭлементСпискаБаз.OrderInList, "ЧГ=0") + "
|OrderInTree=" + Формат(ЭлементСпискаБаз.OrderInTree, "ЧГ=0") + "ЗадачиНаСервере.СформироватьИмяФайлаАрхива(ИнформационнаяБаза) симпатичнее (ИМХО) будет выглядеть так:
СтрокаДата = ""
+ Формат( Год(ТекущаяДатаСеанса()), "ЧЦ=4; ЧВН=; ЧГ=0")
+ Формат(Месяц(ТекущаяДатаСеанса()), "ЧЦ=2; ЧВН=; ЧГ=0")
+ Формат( День(ТекущаяДатаСеанса()), "ЧЦ=2; ЧВН=; ЧГ=0");ЗадачиНаСервере.ПолучитьСтрокуПодключенияКИБ(ИнформационнаяБаза) Почему так, уже не помню, кажется если парсить список баз (v8i) где-то это выскакивало. Все таки порт по умолчанию можно не отображать.
Результат = "Srvr=""" + СерверИБ.Наименование + ?(СерверИБ.ПортКластера=1541,"",":" + Формат(СерверИБ.ПортКластера, "ЧГ=")) + """;Ref=""" + ИнформационнаяБаза.ИмяКаталогИБ + """;";Формат числовых значений, конечно, можно подправить. По поводу указания порта однозначно соглашаюсь -добавлю "скрытие" стандартного порта.
Спасибо за обратную связь!
Ранее все отлично работало.
Попробовали обновить вашу конфигурацию, обновились на 5.3 - результат тот же. Даже не делает выгрузку в dt.
Для фоновых процессов часто выскакивает ошибка "неожиданно завершен фоновый процесс"
Может кто-то сталкивался с этим? Как-то решили?
И рекомендую для профилактики сделать Полное тестирование и исправление базы, Выгрузку и загрузку CF. База себя некорректно вела после обновления с 4 версии (часто ошибка выбивала "Неопознанная ошибка HRESULT=80004005"
upd
Еще столкнулся со "спящими" сеансами в 8.3 может стоит как-то их прибивать перед выгрузкой архива?
1. Обновили релиз платформы на сервере
2. Обновили на клиенте
3. Не обновили релиз в записях списков баз конфигурации: "администрирования информационных баз"
4. Запустили обновление базы - обработкой
5. В журнале образовались записи о несоответствии релизов на сервере и клиенте.
6. После этого обновили записи о релизе платформы
7. Но обновления уже не устанавливались. Выдает ошибку что в базе идет установка обновления, но на самом деле этого не происходит
8. Создали новую тестовую запись в списке баз конфигурации "администрирования информационных баз" - подключение к той же базе, но запись новая
9. Обновление заехало.
Такое впечатление что в каком то регистре в конфигурации "администрирования информационных баз" хранится информация что по текущей базе все еще идет обновление, хотя этого в реальности не происходит.
По поводу сообщения о том, что база уже обрабатывается - действительно есть признак, который блокирует повторный запуск задач над базой (визуально в списке такая база выделяется жирным синим цветом). Данный признак не хранится в отдельном регистре, а устанавливается прям в реквизитах информационной базы: на вкладке "Системные параметры" устанавливается флаг "Выполняется обработка".
(222) stneon, в Вашем случае его (флаг) достаточно снять либо вручную (по всем подобным базам), либо какой-либо групповой обработкой объектов. Обработки по групповому изменению справочников/документов в большом количестве есть на Инфостарте, в сети, а так же на диске ИТС.
(224) stneon, в самой Админке обработок по удалению помеченных объектов нет, но самое простое - это использовать штатный функционал через Главное меню -> Все функции -> Стандартные -> Удаление помеченных объектов
Если опция "Все функции" недоступна в Главном меню, то ее можно включить через Главное меню -> Сервис -> Параметры -> включить отображение команды Все функции
По поводу ошибки
{ОбщийМодуль.ЗадачиНаСервере.Модуль(200)}: Значение не является значением объектного типа (АвторизацияWindows)проверьте, что указан пользователь для подключения к базе. Такое ощущение, что его не указали, поэтому и появляется ошибка обращения к реквизиту объекта.
Это в АИБе нужно смотреть, справочник Учетные записи
upd И еще проверить если этот пользователь на Сервере приложений в Администраторах.
Lars Ulrich Думаю имеет смысл прикрепить к Виду конфигурации, обработчик после обновления. Что бы не заполнять каждый раз для каждой базы обработчик.
Соглашусь, что для вида конфигурации это тоже будет актуально. Исключения могут быть для тех случаев, когда, например, под общим видом конфигурации "ЗарплатаИУправлениеПерсоналом" работают ИБ на релизах 2.5 и 3.0 - в этом случае обработчики будут разными.
РЕБЯТА вы офигеть как круты!!!!!!!!!!!!! я столько перерыл как сделать автоматическое обновление для тех конфигураций которые я обслуживаю!!!!
у меня реальный головняк с косяками поставщиков по ЕГАИСу потсоянно находятся поставщики которые создают все новые и новые косяки которые разработчик не успевает исправлять, да и не считает нужным их исправлять так как может начать рушиться задумка о идеальных ТТН. и я постоянно допиливаю то там то сям. и приходится ручками подключаться к клиенту которому нужно исправить очередной косяк и править код непосредственно на его ПК.
да конечно у меня базы находятся на клиентах, а не на моих серверах, что осложняет мне жизнь, но никто не отменял админить эту базу через сообщения посланные через ФТР, это допилить не составит труда, труднее запустить данную программу в качестве службы на сервере клиента, да еще если сервер не терминальный, то запустить только один раз. но это все таки решает мою проблему авто обновления клиентов. т..е. я в своей конфигурации прописываю проверку команды на ФТП и если есть команда то запускается эта конфигурация которая скачивает обновления, выгоняет пользователей, делает архив, и обновляет, и отсылает результат в центральную базу.
а если мне удастся наладить локальную виртуальную сеть по клиентам, то запускать на клиентах эту программу вообще не составит труда!!!!
Разработчики ВЫ БОГИ.
если сможете решить мою проблему я на вас молиться буду!!!!
но это когда я решу свою задачу БАЗА ТОВАРОВ, Автоматическое сопоставление номенклатурыЕГАИС с номенклатурой магазинов. скоро тестовый запуск, и для этого мне нужно тоже автообновление, чтоб п клиентам не подключаться по очереди и устранять всплывающие косяки!!!!
Конфигурация работает в клиент-серверном варианте.
(236) В тестовом режиме при формировании строки подключения действительно всегда выводился номер порта даже стандартный. В посте (214) уже отметили данную особенность, которую откорректровали в очередном релизе. Там же приведен вариант самостоятельно корректровки кода.
все те же яйца только теперь в профиль :)
Функция ПолучитьПараметрПодключенияПоТипуБазы(ИнформационнаяБаза) Экспорт
КонецФункцииИспользуем порт кластера по умолчанию. из-за этого когда запускается 1С, она получает УИД 00000000-0000-0000-0000-000000000000 из-за того что не находит ее в списках баз.
И если запустить несколько баз они все буду использовать этот путь к кэшу.
Короче, нужно везде где используется порт-кластера вставить
?(СерверИБ.ПортКластера=1541,"",":" + Формат(СерверИБ.ПортКластера, "ЧГ="))(235) я думаю это тоже вашей проблемы касается.
И проследить что бы пользователь под которым запущен сервер имел список баз.
Если делать импорт баз из списка через обработку "ИмпортДанныхИзСпискаБаз", то сравнение по строке подключения работает некорректно с серверными базами.
Если база уже импортирована, то функция ПолучитьПараметрПутиПоТипуИБ(ИнформационнаяБаза) добавляет к строке подключения порт кластера серверов чего нет в исходной строке подключения из файла.
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm:
по причине:
Ошибка СУБД:
Microsoft SQL Server Native Client 11.0: Ошибка операции. Для индекса "idx2" длина элемента индекса, равная 2000 байт, превышает максимальную длину, равную 900 байт.
HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=3, Severity=10, native=1946, line=1
|ИНДЕКСИРОВАТЬ ПО
| ВЫРАЗИТЬ(ИдентифицированныеДанные.ВидКонфигурации КАК СТРОКА(500)),
| ВЫРАЗИТЬ(ИдентифицированныеДанные.НомерРелиза КАК СТРОКА(500))Не слушай советы "гуру"
Индексировать нужно там где это действительно нужно, а у нас 4 калеки в справочнике.
Функция СоздатьПодключениеSQL(ПараметрыОбработки) Экспорт(243) wingnut, по поводу длины строки запуска пока ничего не могу посоветовать, т.к. с ограничениями ОС трудно споирть :), а по второму пункту обновитесь до версии 5.4 или вручную замените код для соответствующей функции в модуле ЗадачиНаСервере, чтобы исключить использование WshShell:
Функция ЗапуститьПриложениеСервер(ПараметрыОбработки, КомандаЗапуска, КодВозврата = -1) Экспорт
Результат = Истина;
Попытка
КодВозврата = 0;
ЗапуститьПриложение(КомандаЗапуска, , Истина, КодВозврата);
Исключение
ПараметрыОбработки.ОписаниеОшибки = "Ошибка при выполнении приложения! " + ПараметрыОбработки.ИнформационнаяБаза + Символы.ПС + ОписаниеОшибки();
ЖурналЛоговСервер.ВывестиСообщениеВЛог(ПараметрыОбработки);
КонецПопытки;
Если КодВозврата <> 0 Тогда
Результат = Ложь;
ПараметрыОбработки.ОписаниеОшибки = "Ошибка при выполнении инструкции запуска приложения! " + ПараметрыОбработки.ИнформационнаяБаза;
ЖурналЛоговСервер.ВывестиСообщениеВЛог(ПараметрыОбработки);
КонецЕсли;
Возврат Результат;
КонецФункции
ПоказатьВроде разобрались с cfu. Длина строки запуска ни при чем. Перед обновлением ставил "Отключать сеансы" и это блокировало базу, в том числе для обновления через cfu. При этом в лог просто писалась ошибка запуска приложения. Есть возможность это пофиксить? Ведь я так понимаю, идея была в цепочке "блокировка - обновление - снятие блокировки". Или надо что-то еще донастроить?
Регламентные так и не запускаются. Не работает на кластере, не работает на мини-сервере, куда копать - не очень понятно.
Ну и как бы получить 5.4? Написал в личку запрос.
Ну и я уже сообщал, вот эта строка в Windows Server 2012 не работает
Если СтрЧислоВхождений(НРег(СистемнаяИфнормация.ВерсияОС), "windows") > 0 Тогда
WshShell = Новый COMОбъект("WScript.Shell");
Во-первых ВерсияОС сообщает другое, во вторых Wscript.Shell на 2012 как-то работает, наверно проблемы с правами.
Версия конфы 5.2.
Опцию "подсветки" наличия обновлений реализовать конечно же можно. Посмотрю при случае.
(247) wingnut, ответил в личку
(248) Гость, в текущих версиях для платформы 7.7 функционала, к сожалению, нет. Если я правильно помню, то весь функционал для 7.7 и не может быть реализован, т..к. возможности того же пакетного запуска были ограничены в сравнении с 8.x. Возможные функции: выгрузка/загрузка базы, ТИИ.
Для работы админки к каждой базе "привязывается" только одна технологическая учетная запись (она может быть общая для всех ИБ), под которой будет выполняться ряд операций (запуск пакетного режима, запуск системы и т.д.). В описанном Вами контексте это никогда не рассматривал, но фактически получается, что может быть реализован и такой сценарий (с некоторыми доработками). Т.е. теоретически достаточно легко можно доработать функционал, позволяющий опционально выбирать учетную запись для запуска конфигуратора или предприятия.
"Дополнительные настройки -> Настройка параметров системы -> вкладка Параметры ИТС -> опция Загружать релизы обновлений автоматически"
он у меня почему то недоступен для редактирования
зы. зашел в конфигуратор посмотреть - доступность опции = НЕ файловая база.. у меня файловая.. все, никак получается ?
А идея какая - у меня сервак, на нем с полсотни типовых файловых конфигураций. сервака 1с = не нужен просто. Ессно, и "админка" тоже файловая - не ставить же целый сервер со скулем впридачу ради одной конфигурации.
Ну и вот, она у меня в консоли торчит постоянно открытая, никому не мешает. время от времени захожу, тыкаю на проверку обновлений, скачиваю. руками. И просто просится сие действие на автомате делать :) Как только обнова какая вышла - уже знаешь, что у тебя она скачана, осталось только установить. А то, глядишь, и сами обновы накатывать регламентно, тогда достаточно лишь логи будет смотреть - МЕЧТА НАНАЙЦА ))))
1. Есть проблема с сортировкой релизов. У Бухгалтерии Предприятия текущий релиз на данный момент 3.0.43.257. Однако он не встает, как положено, на первую строчку - болтается в середине списка. Наверху стоит релиз 3.0.43.89. он и отображается как "Актуальный". Дело понятное, сортировка по строке, пока не релиз не перескачет на версию 3.0.44.хх, будет такая ерунда. Но может есть какой нибудь "внутренний" номер-идентификатор у релизов, в числовом эквиваленте, некое ID ? По нему было бы сортировать гораздо лучше.
Если такого поля нет, тогда есть другой вариант. Заделать функцию, которая будет приводить номера релизов к виду х.х.ххх.ххх, т.е. что бы 3.0.43.89 превратился в 3.0.043.089. тогда сортировка по такому полю будет правильная
2. У меня часть баз переведена на 3.х, часть пока еще в 2.х. Обновления скачиваются и те, и те, как положено. Но в колонке "актуальный релиз" во всех базах везде стоит 3.х версия (3.0.43.89). Этот случай тоже бы неплохо обрабатывать, Причем не только в БухгалтерияПредприятия, в ЗарплатаИУправлениеПерсоналом такая же ситуация. Понятное дело, что 2.х в конце концов придется обновлять на 3.х, и реально, 3.х релизы являются как бы "актуальными" даже и для 2.х. Но пока конфигурация болтается в состоянии 2.х = лучше наверно бы показывать актуальный релиз из 2.х релизов..
1. Конфигурация подходит для работы для администрирования баз данных в одной локальной сети или для администрирования удаленных баз данных? Если удаленных, то можете поподробнее объяснить процесс обновления?
Например есть сеть магазинов на 1С Рознице 1.0 и стоит задача обновления всех баз. Можно это реализовать через вашу конфигурацию?
Может кто знает как этот процесс можно автоматизировать? Когда магазинов было 5 еще было терпимо, сейчас их приближается к 10 и простое добавление реквизита становится целой проблемой...
2. Есть ли возможность контролировать обновления баз из хранилища для нетиповых баз?
1. Для администрирования баз в локальной сети или по VPN однозначно да. Для удаленных - скорее всего с некоторыми ограничениями в типовой конфигурации, либо немного доработать. Не до конца понимаю структуру Ваших систем, поэтому на вскидку варианты использования:
- если есть VPN до удаленных систем, возможно, достаточно одного экземпляра админки: настраиваете расположение баз, и по необходимость запускаете групповые процессы отключения клиентских сеансов/архивирования/обновления (cf, cfu, хранилище)
- если связь с удаленными системами проблемная (не особо важно используется РИБ или нет), то вариант - поставить в каждом удаленном магазине админку с некоторыми доработками: например, запуск процессов по команде (почта, ftp, telegram и т.д. ) или по расписанию.
Суть большинства операций - это пакетный запуск платформы. При обновлениях в качестве параметров передаются источники в виде файлов cf, cfu, или ссылки на хранилище. В случае файлов они могут быть как загруженным в хранилище самой системы, так "внешними", т.е. храниться в каталогах файловой системы или в общих каталогах в сети.
2. Собственно выше уже отметил - да, возможно обновление из каталога хранилища.
В актуальной версии регистрируется номер используемой платформы, а так же настраивается расположение рабочего каталога.
Новый релиз Админки в виде файла конфигурации (*.CF) загружается в хранилище системы, и доступен через штатный справочник "Релизы обновлений" с видом конфигурации "АдминистрированиеИнформационныхБаз".
Необходимо открыть соответствующий элемент справочника, выбрать опцию "Открыть архив текущего релиза", а затем выгрузить в файл через опцию "Сохранить двоичные данные архива в каталог". Сохраненный файл конфигурации можно либо полностью загрузить в текущую систему, либо выполнить объединение, если были какие-то собственные доработки.
1. Я хочу во все базы добавить 4 пользователя с разными паролями. Как это можно сделать?
2. Посоветуйте как лучше. У меня бухгалтер периодически меняет пути к базам. В администрировании забывает сменить. Я допустим хотел, чтобы при загрузке "1С Предприятия" получал список баз в администрировании. Тогда не было бы проблемы изменить к базе.
Но так же возможен случай, когда при загрузке "1С Предприятие" она добавляет базу, которую нет в администрировании. Как организовать доступ к базам?
3. Когда удаляю через помеченные на удаление объекты (из списка баз), то они не удаляются, т.к. в Логах есть ссылка на данные объекты. Возможно ли, чтобы тогда и Логи удалялись. Логи почистил. Приложил скриншот. Где бы удалить ТО что ссылается на базу?
2. По данному пункту сложно посоветовать. Немного "скомканное" описание. Но если я правильно понял, то Вы хотите, чтобы список баз пользователю сообщала Админка. Для этого в Админке есть веб-сервис публикации списка баз, а так же функционал по их настройке. Небольшое но вроде достаточное описание есть в тексте текущей публикации - абзац "Публикация интернет-сервиса списков информационных баз"
3. Используется функционал по удалению помеченных объектов стандартный для платформы. По скриншоту речь идет о регистре сведений "Результат выполнения последней операции" - в нем необходимо удалить всего одну запись с данной базой. В регистр можно попасть через меню "Все функции". На всякий случай (примерно второй половине страницы) есть описание включения этого меню.
4. Замену можно сделать любой групповой обработкой - хоть из состава ИТСа, хоть с Инфостарта,
1. Может можно добавить в Групповые обработки "Релиз техн платформы". Тогда и внешней обработкой не придётся пользоваться?
2. По поводу удаления помеченных баз.
""Результат выполнения последней операции" - в нем необходимо удалить всего одну запись с данной базой"
Может при удалении автоматизировать данный пункт?
3. Было бы полезно "Обновление информации о базе" и "Выгрузка архива" делать с рабочего стола. Т.е. выделил через shift или ctrl базы и нажал обновить или выгрузить.
4. Когда выполняется групповая обработка "Обновление ИБ" справа внизу как бы информирование. Можно ли сделать его более полным? Показывать что в данный момент происходит?
5. Очень странно при групповой обработке, поставил 20 баз. Процесс в диспечере задач с АИБ в статусе "Не отвечает"
Хотя потихоньку все обновляется. Загрузка процессора на 30% и физической памяти на 30%. При обновлении по одной базе работать можно спокойно. И после групповой обработки открываются сразу все базы.
Почему нельзя сделать следующий порядок:
1. Блокировка базы
2. Выгрузка архива (если стоит галочка)
3. Установка обновления
4. Запуск обработчика (в моем случае я указываю Обновление ИБ для БП 3.0)
5. Открытие базы
И дальше этот цикл повторяется.
2. Удаление записей в справочнике Информационных баз в системе вообще никак специально не обрабатывается, т.к. предполагается, что штатных средств платформы вполне достаточно.
3. Над функцией множественного выделения тоже думал. Сейчас не вспомню почему именно так и не сделал. В итоге - это аналог групповой обработки, но еще подумаю над этим, спасибо.
4. Информация о ходе выполнения обработки выводится в лог. Текущий или актуальный последний лог доступен по пиктограмме в строке списка информационных баз, а все логи доступны в журнале логов.
5. У Вас файловая Админка или серверная? При выполнении операций в фаловой Админке действительно блокируется окно программы, т.к. обработка выполняется в том же процессе. Для серверных баз доступно фоновое выполнение, когда блокируется только форма обработки, но сама Админка доступна для другой параллельной работы.
В последних версиях Админки для файлового варианта так же доступно включение фонового выполнения, но только если используется платформа не ниже 8.3.3, а так же в свойствах конфигурации необходимо вручную установить режим совместимости не ниже "Версия 8.3.3".
Базы открываются, т.к. скорее всего установлена соответствующая опция "Открывать после обновления" в настройках. Действительно ли она нужна, если используется обработчик?
Все базы открываются, когда после длительного зависания процесса программы управление передается клиенту - это решается включением фонового выполнения, описанного в пункте №5. Тогда как раз базы должны открываться последовательно по мере выполнения групповой обработки.
После открытия базы
- подтверждается ее легальность (если нужно, надо снять галочку, чтобы не отправлялись данные на сервер 1с)
- закрывается база.
Желательно встроить в тот цикл как описал выше.
7. Поставил я 50 баз на обновление. Серверу уже при открытии не хватает памяти.
Поэтому думаю, надо в настройках по групповому обновлению сделать, что-то наподобие партий. сделал 5 штук остановился. Я или программа позакрывала открытые, нажимаю на кнопку продолжить. Хотя если сделать пункт 5, то данное решение не нужно
8. Установил платформу 8.3.9.1818 и не могу обновиться групповой обработкой несколько баз. Одну базу могу, а вот 2 и более - нет
выдается ошибка Даже если добавить несколько баз, а обновлять только одну, тоже получается такая же ошибка.
------------ НАЧАЛО ОБРАБОТКИ 01.10.2016 23:41:57 ОПЕРАЦИЯ Обновление ИБ
Установлена блокировка базы <_______>:
Установлена блокировка сеансов информационной базы <_______>
Ошибка при выполнении инструкции запуска приложения! <_______>
<_______> Операция выгрузки архива не выполнена:
Снята блокировка сеансов информационной базы <_______>
Успешно обновлены сведения информационной базы <_______>
Снята блокировка базы <_______>:
Технологический лог:
Начало сеанса с информационной базой запрещено.
Выполняется обновление конфигурации!
В чем может быть проблема?
7. Опять же решается описанным в пунке №5 фоновым выполнением. Так же при этом становится доступна опция параллельных потоков - т.е. сколько процессов обновления одновременно могут быть запущены в фоне. В Вашем примере это может выглядеть как 10 итераций по 5 параллельных процессов обновления.
8. Не могу однозначно сказать, но проверьте, установлен ли явно код блокировки сеансов для учетной записи, под которой выполняется подключение к базе. Если нет - проставьте любое значение.
После обновления до версии 5.9 перестала выполняться групповая обработка по обновлению баз. Выполняется обновление сведений по базам и все.
В случае запуска обновления одиночной базы, из списка баз на главной странице, обновление проходит.
Подскажите куда копать?
Лог:
-------------------------------------------------------------------------
------------ НАЧАЛО ОБРАБОТКИ 04.10.2016 17:00:03 ОПЕРАЦИЯ Обновление ИБ
-------------------------------------------------------------------------
Установлена блокировка базы <ООО ХХХХ>:
-------------------------------------------------------------------------
Установлена блокировка сеансов информационной базы <ООО ХХХХ>
-------------------------------------------------------------------------
Снята блокировка сеансов информационной базы <ООО ХХХХ>
-------------------------------------------------------------------------
Успешно обновлены сведения информационной базы <ООО ХХХХ>
-------------------------------------------------------------------------
Снята блокировка базы <ООО ХХХХ>:
-------------------------------------------------------------------------
В момент обновления в базе есть другие подключения?
Посмотрите код в общем модуле ЗадачиНаСервере функция ПроверитьВозможностьМонопольногоЗапуска:
Функция ПроверитьВозможностьМонопольногоЗапуска(ПараметрыОбработки) Экспорт
...
Если КоличествоСоединений > 1 Тогда
...
Иначе
ВозможенМонопольныйЗапуск = Истина;
КонецЕсли;
...
КонецФункции
ПоказатьСеансов нет на момент запуска групповой обработки.
но выкрутился весьма неожиданным способом. заметил, что с релиза 5.9 при запуске обработок пропал монопольный захват окна, т.е. раньше запускаешь групповое обновление или вообще неважно что - ничего нельзя делать в админке, ждешь, когда все обновится. а сейчас нет! запустил - обработка уходит в некий отдельный процесс и выполняется там сама себе. за это РЕСПЕКТИЩЕ :). так вот... груповая обработка наката обновлений не работает, но из начального окошка списка баз отдельная база прекрасно обновляется. ну я тыкнул в одну обновить, она "посинела", я тыкнул во вторую - ничего не произошло. жаль, думаю. но потом смотрю - а базы то ОБЕ обновились ))). короче. на данный момент тыкаю в некую "очередь" из списка баз все базы подряд на обновление. они по очереди и обновляются. profit 8-)
это костыль конечно, с групповой обработкой было бы определенно лучше, но лучше так, чем по одной базе обновлять
Подскажите, планируется ли исправление ситуации с невозможностью выполнения групповой обработки обновления баз?
К самим базам есть монопольный доступ. В момент обновления пользователей в базе нет.
Возможность загонять базы в невидимую очередь, как писали в (274) есть, но это не очень удобно.
Если включено регламентное задание проверки наличия обновлнений по конфигурациям, то новый релиз должен загрузиться в хранилище, и быть доступен через штатный справочник релизов. Так же можно вручную проврить наличие обновления в меню настроек параметров системы.
Все базы файловые.
По поводу проблем при повторном обновлении сказать ничего не могу. Подобные ошибки ранее не воспроизводились.
Постараюсь для 4.0 воспроизвести описанные ошибки, но по времени пока не сориентирую.
Для 5 версии функция выстраивания цепочек обновлений так же присутствует, проблем пока не возникало.
зы. есть у меня смутное подозрение, что ноги растут от того, что у меня все базы файловые, в т.ч. и админская, не знаю...
ззы. да, кстати. не заметил если честно, с какого момента это началось, но у меня перестали обновляться "старые" базы до последнего релиза. раньше работало, отлично помню. сейчас - нет. к примеру, в списке базы версий 2.0.65.48 и 2.0.65.27.. базы 2.0.65.48 предлагает обновить на 2.0.66.1, а вот базы 2.0.65.27 только на версию 2.0.65.34
- фоновые процессы для файловой базы доступны только если в свойствах конфигурации установить режим совместимости не ниже 8.3.3; в типовой конфе он стоит на 8.2.16, чтобы обеспечить возможность работы на более ранних версиях платформы, поэтому при необходимости его необходимо вручную изменить;
- подбор всех доступных обновлений выполняется только если в форме параметров обработки или в списке групповой обработки выбран обработчик обновления; если обработчик не выбран, то предлагается только на ближайший "прямой" релиз;
- по поводу выполнения операций с монопольным захватом базы не совсем понял - если речь идет о том, что при выполнении одной операции над базой нельзя запустить параллельно другую, то да - это обязательная функция; нельзя одновременно выполнять выгрузку архива и устанавливать обновления - это можно делать только последовательно;
- по групповой обработке тоже не совсем ясно.. не могу воспроизвести проблему, вроде все корректно выполняется;
При переходе на новый релиз Админки выполняете объединение или полную загрузку новой конфигурации? Нет ли собственных доработок в конфигурации?
всегда ставил самую верхнюю из возможных, на данный момент стоит 8.3.8, с фоновыми процессами вроде норм, обновления с тырнета по крайней мере скачиваются "сами по себе"
ясно, проверю, когда появится возможность, сейчас нет под рукой базы со старым релизом, все пообновлял уже ))
проблема тогда получается в самом интерфейсе. последовательность такая. начальный экран, список баз. выбираю конкретную - правая кнопка мыши - "установить обновление"-выходит окно со списком релизов. до обработчика еще дело не дошло, не предлагали выбрать. первое, что на ум приходит - во самих базах прописать обработчики, тогда может получится..
- по поводу выполнения операций с монопольным захватом базы не совсем понял - если речь идет о том, что при выполнении одной операции над базой нельзя запустить параллельно другую, то да - это обязательная функция; нельзя одновременно выполнять выгрузку архива и устанавливать обновления - это можно делать только последовательно;
поясняю. находимся на "главном экране" со списком баз. тыкаем в первую-ПКМ-установить обновление-ок. база подсвечивается синим, управление мышью возвращается, список баз доступен. далее тыкаем вторую базу-ПКМ--установить обновление-ок. и так далее, все базы подряд. создается "виртуальная очередь" (я ее так обозвал сам) по которой последовательно все базы, на какие потыкал будут обновляться. это появилось в 5.9 версии. может и раньше было, но обнаружил эту фишку именно в 5.9
в 6.0 же после установки первой базы на обновление курсор превращается в песочные часы и база не реагирует ни на что, если много потыкать мышой, в заголовке окна админки даже появляется приписка "не отвечает". т.е., последующие базы поставить на обновление уже не получится, приходится ждать, пока первая не обновится. тогда курсор "отдается" обратно, и возможность навигации по админке возобновляется. вот это я и называю "монопольным режимом на операцию"
- по групповой обработке тоже не совсем ясно.. не могу воспроизвести проблему, вроде все корректно выполняется;
При переходе на новый релиз Админки выполняете объединение или полную загрузку новой конфигурации? Нет ли собственных доработок в конфигурации?
Вопросы:
1. Код открыт?
2. Поддерживается ли работа с Unix серверами?
3. Поддерживается ли работа с PostgreSQL?
4. Интеграция с БСП планируется?
1. Код открыт.
2. Доступна только стандартная функиональность платформы. Какого либо специального функционала самой конфигурации под unix не реализовано.
3. СУБД в данном случае не особо важна, т.к. используется функионал самой платформы (например, та же выгрузка архива.)
4. Впубличном решении интеграции с БСП нет, т.к. конфигурация распространяется независимо от нее.
На всякий случай уточню: в настройках Админки реквизиты подключения к порталу обновлений указаны?
Загрузка вообще не работает (не работала) ни по каким конфигурациям?
Функция ПолучитьПараметрПутиПоТипуИБ(ИнформационнаяБаза) Экспорт
прмПутьКБазе = "Srvr=""" + СокрЛП(ИнформационнаяБаза.СерверИБ) + ?(ИнформационнаяБаза.СерверИБ.ПортКластера=1541, "", ":" + Формат(ИнформационнаяБаза.СерверИБ.ПортКластера, "ЧГ=0")) + """;Ref=""" + СокрЛП(ИнформационнаяБаза.ИмяКаталогИБ) + """;";Порт кластера по умолчанию, уже где-то выше писал что: оно где-то парсит не правильно или при подключении к базе на сервере или клиенте выдает нулевой УИД.
Есть одна хотелка, думаю стоит вынести Параметры подключения ИТС в справочник, там не сильно много нужно поменять для этого. Если найду старую наработку (при очередном обновлении, как-то случайно потерял это), могу куда-то закинуть.
И еще допилить обработку "ГрупповаяОбработка", добавить возможность динамического формированию списка ИБ при ее вызове. Тоже могу поделится, но после того как перейду на 6.0 окончательно
Добавлю обработку порта кластера по умолчанию. Помню, что как-то обсуждали проблему с импортом серверных баз для которых был указан порт, а этот момент видимо упустил.
По поводу групповой обработки - имеется ввиду, чтобы все базы сразу были в списке при открытии? Если так, то это не всегда нужно. В последних релизах добавил расширенный отбор для заполнения списка, вроде должно хватать.
Реквизит с наименованием для сервера - это точно нужно? С самим справочником серверов работа ведется достаточно редко, поэтому сильно его украшать вроде смысла особого нет.
"Порт кластера", насколько помню, вызов базы на стороне сервера с указанным портом 1541 и без него 1541, 1С считает как две разных базы. Если она не находит базу с портом 1541, она создает каталог кэша 0000-00000-000000 (нулевой УИД). При массовом обновлении могут быть проблемы когда 1С будет использовать один и тот же каталог кэша. (Где-то выше, я писал, что обязательно сервер должен видеть общий список баз из-за этого, иначе возникают проблемы с обновлениями)
"Групповой обработки", я имею ввиду что я выбрал настройки допустим по реквизиту "создавать бекап" = Истина, и список баз у меня формируется автоматически на основании этого реквизита на тек. момент. Что бы я его сам не дергал каждый раз, когда меняю настройки ИБ
"Реквизит с наименованием для сервера", ну у меня есть вариант когда на одном и том же сервере развернуто два сервера приложений (рабочий и тестовый) под разными портами. И когда нужно для новой базы выбрать сервер приходится открывать элемент и смотреть его порт
У меня это уже все исправлено и добавлено. И переносить это при обновлениях не составляет труда, я просто делюсь тем, что по моему мнению будет полезно для остальных.
По групповой - не уверен в широкой востребованности этого функционала. Само решение понятно и интересно. Но в таком случае еще должна быть настройка отдельно для каждого вида операции. А если я хочу обработать только одну базу, то сначала у меня список заполнится по настройке и надо его очистить? Хочу уточнить, что я не придираюсь, а просто хочу понять, что это действительно нужно добавлять в публичное решение.
Кстати, если есть возможность, сможете протестировать небольшую корректировку в функционале?
в функции ОбщийМодуль.ЗадачиНаСервере.ПолучитьИмяИсполняемогоФайлаПлатформы заменить "1cv8.exe" на "1cv8s.exe"
Это должно обеспечить более правильный выбор типа клиента при запуске, а так же "правильность" режимов открытия через команды: Открыть предприятие (управляемое приложение) и Открыть предприятие (обычное приложение).
ОбщийМодуль.ЗадачиНаСервере.ПолучитьИмяИсполняемогоФайлаПлатформыУ меня все базы пока на ОФ, УФ две базы. Доступ к базам я регулирую через АД и АИБом пользуюсь только я. Негде тестировать толком.
ФормаПараметрыЗаполнения.Функция ЗаполнитьПараметры(ПараметрыЗаполнения)
Если НЕ ЭтаФорма.РасширенныйРежим Тогда
Иначе
...
СхемаКомпоновкиДанныхНаверно это писал после какого-то корпоратива :-) или совсем был не в духе.
Почему не создал Макет СКД?
ТекущийОбъект = РеквизитФормыВЗначение("Объект");
СхемаКомпоновкиДанных = ТекущийОбъект.ПолучитьМакет("СКД");
Результат = Новый ТаблицаЗначений;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
Объект.КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
ПроцессорВывода.УстановитьОбъект(Результат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Показать(296) В "ГрупповаяОбработка" - "Операции" - "Заполнить". Там есть два варианта заполнения, один из них через СКД
(295) Еще нюанс заметил, сейчас бухгалтерия разделилась на 2.0 и 3.0 (Украина) Может что-то стоит придумать что бы автоматом не обновить с 2.0 на 3.0?
Неудобство при разных редакциях действительно есть. Сталкивался, но все никак с решением не получалось. Хотел получать данные о редакции из файлов поставок, но не нашел в открытом виде этой информации.
Можно попробовать сделать так: добавить в вид конфигурации или в карточку ИБ реквизит "Редакция", в который можно вручную (чего собственно и не хотелось) вносить номер редакции (например, 2.0 или 3.0) - этот номер редакции будет анализироваться при подборе релизов обновления, т.е. номер обновления должен начинаться с введенного номера редакции. Но почему-то меня подобный формат смущает.
(296) в (297) верно отмечено, что есть функция заполнения таблицы групповой обработки с использованием произвольных отборов, либо через подбор.
Для стандартных конфигураций, все будет нормально.
Для "дописанных", в которых изменили версию "программисты" или мэйжор релиз меняют при каждом изменении кода, можно будет через признак выкрутится.
Добрые люди!
Помогите написать (создать) обработчик для отключения интернет поддержки. 2.0 и 3.0.
Это дополнительно облегчит жизнь,и конечно расширит функционал конфигурации.
Мои попытки на уровне интуиции+google не увенчались успехом.
Скрытый текст |
|---|
| ------------ НАЧАЛО ОБРАБОТКИ 24.01.2017 5:15:50 ОПЕРАЦИЯ Выполнение обработчика
Установлена блокировка базы <ООО СТК Югра>: Запуск обработчика [Снятие ИТС потдержки ИБ для Бухгалтерия 2.0]... Ошибка выполнения обработчика [Снятие ИТС потдержки ИБ для Бухгалтерия 2.0] для ИБ <ООО СТК Югра>: {ОбщийМодуль.ЗадачиНаСервере.Модуль(850)}: Ошибка при вызове метода контекста (Создать): Произошла исключительная ситуация (1C:Enterprise 8.3.9.2033): Предупреждение безопасности Открывается "Выполнение обработчика в контексте информационной базы" из файла "C:\Users\Администратор\AppData\Local\Temp\2\eeefc8cd-1e96-4266-87df-d27318f55b34.epf". Рекомендуется обращать внимание на источник, из которого был получен данный файл. Если с источником нет договоренности о разработке дополнительных модулей, или есть сомнения в содержимом файла, то его не рекомендуется открывать, поскольку это может нанести вред компьютеру и данным. Разрешить открывать данный файл? Содержание ошибки исполнения: Успешно обновлены сведения информационной базы <ООО СТК Югра> Снята блокировка базы <ООО СТК Югра>: Технологический лог: ------------ КОНЕЦ ОБРАБОТКИ 24.01.2017 5:15:53 ОПЕРАЦИЯ Выполнение обработчика |
По коду обработчика отключения интернет поддержки можно посмотреть и
Если будете просто копировать код из этих источников в обработчик, то установите в свойствах обработчика контекст исполнения информационной базы.
ПереопределитьГлобальныеПараметрыДействийСАрзивамиПолучитьПараметрПодключенияПоТипуБазы()
Возврат ?(ИнформационнаяБаза.ТипИБ = Перечисления.ТипыИБ.Файловая, "/F""" + ИнформационнаяБаза.ИмяКаталогИБ + """", "/S""" + СокрЛП(ИнформационнаяБаза.СерверИБ) + ?(ИнформационнаяБаза.СерверИБ.ПортКластера=1541, "", ":" + Формат(ИнформационнаяБаза.СерверИБ.ПортКластера, "ЧГ=0")) + "\" + ИнформационнаяБаза.ИмяКаталогИБ + """") + " /AppAutoCheckVersion";Еще можно в Справочнике Сервера сделать Наименование формируемым автоматически(АйПи+Порт+Комментарий), для удобства быстрого выбора, а для адреса сервера добавить отдельный реквизит.
В версии 6.0 не удобно сделан справочник "Сервера"
Имя сервера задается в наименовании.
Ситуация когда на одном сервере крутиться несколько экземпляров на разных портах, то в справочнике указано несколько одинаковых записей и тратиться время на поиск нужной.
Дизайн, когда для имени сервера выделен отдельный реквизит считаю более удобным.
Тоже можно сказать про справочник "Учетные записи"
Да, спасибо, по данному неудобству в справочнике "Сервера" уже получал комментарии, соглашаюсь. Объясню это не архитектурным решением, а исторически сложившимся со времени, когда только появлялся небольшой функционал, переросший в текущее решение.
Для 6.1 данный комментарий постарался учесть: в справочнике "Сервера" используется поле "Комментарий" для расширения представления. Использование Наименования для хранения имени сервера оставил для того, чтобы не пришлось изменять как функционал системы так и доработок/расширений, которые могли быть сделаны на базе конфигурации.
Для справочника "Учетные записи" можно реализовать то же решение, если формат для справочника "Сервера" будет удобен.
В регламентных заданий должно использоваться параллельные процессы или нет? Может я где-то пропустил строчку кода?
(318)
Ну, это не страшно, я уже реализовал это :-)
Наверно из-за ошибки с каталогом AppData\*\1C\00000000-0000-0000-0000-000000000000, когда базы в эту папку пишут. Но если предварительно создать кэш папки (подключить список баз и зайти ими под пользователем, который крутит приложение) для 1С тогда все нормально работает.
+ еще пару ошибок видел, потом будет время скину, они не критичны, но иногда могут помешать.
(324) Приветствую. На текущей версии ошибка не воспроизводится. Давайте уточним формат систем: файловые базы или серверные?
Контекст исполнения команды передается на сервер, поэтому если на нем не установлен клиент - будут ошибки: пакетный запуск выгрузки через командную строку исполняется как раз на сервере.
Обнаружилась интересная ошибка.
Выгрузка в архив по команде "Выгрузить архив" не происходит
Фоновое задание весит вечно.
По моим наблюдениям не выполняются команды, которые требуют обращения к командной строке.
Сталкивались с этим?
Возникает когда сначала обновляешь информацию по базам, а зачем качаешь релизы обновлений от 1с.
При обновлении информации по базе создается отсутствующая запись в справочнике релизов.(В данном случае ЗУП 3.1.3.224)
Когда же подкачиваешь обновления, то создается еще один элемент с таким же номером
При первичном анализе доступных обновлений те релизы, которые уже имелись в системе, не должны были помечаться для загрузки - видимо дополнительно были отмечены все записи в списке доступных для загрузки релизов. Но не смотря на это соглашусь, что нужен поиск имеющихся номеров релизов при загрузке, чтобы не плодились дубли. Добавлю.
У Вас релиз 6.2 загружен? Если нет, проверьте наличие релиза 6.2 в справочнике "Релизы обновлений" по виду конфигурации "АдминистрированиеИнформационныхБаз": возможно необходимо обновить конфигурации админки.
Рассматриваю в приобретение данный продукт, потому что другой не справляется. Хотел бы спросить, есть ли у вас в программе
- отключение активных пользователей в обновляемой базе
- вывод предупреждение перед отключение активных пользователей
- выгрузка базы в dt
И самое интересное, на платформе 8.3.10 в заблокированной базе выполняется выгрузка?
У меня сейчас проблема именно в последнем вопросе, в заблокированных база не выполняется выгрузка в dt.
- функционал отключение пользователей есть, но актуален только для серверных баз - для файловых не актуально;
- вывод предупреждения не предусмотрен, т.к. отключение сеансов выполняется непосредственно перед операциями, требующими монопольного захвата базы;
- выгрузка базы в dt есть
По поводу базы на 8.3.10 не совсем понял. Предполагается, что выполнена ручная блокировка сеансов, и при этом необходимо выполнить выгрузку? Если так, то да - это возможно. Для этого необходимо указать в настройках учетной записи, под которой будет выполняться подключение, код блокировки сеансов, тогда система сможет подключиться к заблокированной базе. Так же нужно отметить, что для серверных баз все эти процедуры: блокировка, выгрузка - выполнятся автоматически и последовательно. Если на момент выгрузки база не была заблокирована, то по окончании операции блокировка будет так же снята автоматически.
Приобрел продукт, все замечательно. НО обработчик после добавления пользователей в БП 3.0 не актуален. И своей функции не выполняет.
После выполнения обработчика элемент справочника пользователи добавляется, но все "права" сбрасываются в пользователи ИБ.
Вопросы:
1. Возможность одновременного обновления множества клиент-серверных баз на разных платформах. Например, 8.3.10 и 8.3.11
Это возможно в данной разработке?
2. Возможность полного последовательного обновления конфигураций при смене релиза? Например, при обновлении УТ с 11.1 на 11.2,11.3 до 11.4
3. Возможность обновления конфигурации до определенного релиза?
Одновременная корректная работа без дополнительных действий доступная только для различных версий платформы (8.1, 8.2, 8.3). Т.к. для 8.3.10. и 8.3.11 библиотека переопределяется, то без дополнительных действий (н-ер, регистрации их в Component Services) корректная работа не гарантируется.
Последовательное обновление до определенного релиза возможно. Полагаю, что переход на новую версию для УТ может быть так же выполнен последовательной установкой соответствующих релизов.
Для настройки серверной базы необходимо:
1. Открыть форму новой или существующей ИБ на вкладке "Подключение", и установить "Тип ИБ = Серверная"
2. Задать имя базы как оно задано на сервере "Имя ИБ = [ИмяВашейБазы]"
3. Указать настройки сервера 1С
4. Если ранее настройки сервера 1С не указывались, то создаем их в справчонике "Сервера"
5. В наименовании указывается имя сервера как оно задано в его параметрах
6. Указываем "Тип сервера = Сервер 1С"
7. Если сервер устанавливался с параметрами по умолчанию, то менять значения портов не нужно.
Если в настройках сервера задавались параметры учетной записи администратора, то соответствующую учетную запись необходимо задать в поле "Пользователь".
Если в настройках сервера НЕ задавались параметры учетной записи администратора, то поле "Пользователь" остается пустым.
8. После установки параметров сервера проверяем соответствие релиза технологической платформы, битность, каталог расположения исполняемых файлов клиентской платформы и тип COM-коннектора
Да, система проверяет доступность нового релиза (при наличии активного интернет соединения), загружает его в хранилище релизов, и выводит информационное сообщение.
Новый релиз будет отображаться в справочнике "Релизы", а сам файл релиза должен быть загружен в хранилище, которое указано у Вас в настройках.
Файл релиза - это конфигурация Админки aub.cf, который при необходимости можно загрузить в систему в режиме Конфигуратора (т.е. установка релиза не выполняется автоматически).
Последний актуальный релиз 6.2
Если по каким-то причинам получить его не удается, напишите мне в ЛС: скину ссылку для скачивания, либо отправлю на почту.
Если не хватает какой-то функциональности, пишите разработчику.
Все пожелания или ошибки, про которые я писал и они были действительно важные исправили.
35$ не такая большая сумма (тем более для разработчика из !Москвы!).
PS: Я с версии 2.3 или 3.2, Немного доработал некоторые нюансы. Добавил поддержку AD из своей аналогичной 7.7.
Списки баз пользователей, доступ к базам, бэкапы, обновления баз из хранилища, обновления конфигураций на поддержке... я уже забыл что это такое.
PS1: Скинь в ЛС дешевое и функциональное решение, посмотримс...
В "ПолучитьКомандуОткрытияВРежимеКонфигуратора()" процедуре формирования команды запуска конфигуратора, нужно добавить пробел для баз с подключением хранилища.
Про "СохранитьДвоичныеДанныеАрхиваВКаталог" удалось посмотреть инфу из ЛС?
СтрокаПараметровПодключенияКХранилищу = " " + ПолучитьСтрокуПараметровПодключенияКХранилищу(ПараметрыОбработки.ХранилищеКонфигураций, ПараметрыОбработки.ПользовательХранилища);
Загружать новые релизы можно либо через полную загрузку конфигурации, либо через сравнение/объединение, если хотите точечно перенести изменения.
Релизы обновлений "связываются" с соответствующей редакцией. Автоматическое "связывание" релизов и видов конфигураций выполняется, например, при загрузке сайта ИТС. Если на момент изменения редакции уже были загруженные релизы обновлений, то самостоятельно система их не "перепривяжет".
Очень мутно написали, Что значит "база стала закрываться" и "Работа и обновление баз в штатном режиме..."
Вы противоречите себе, Либо база закрывается либо работает в штатном режиме......
Нашел ошибки и неточности в МенеджерRAS
Функция СуществуютИсполняемыеФайлыRASRAC(ПараметрыОбработки = Неопределено) Экспорт
Функция ПолучитьРасположениеRAS(ПараметрыОбработки = Неопределено, ДополнятьКавычками = Истина) Экспорт
Функция ПолучитьРасположениеRAС(ПараметрыОбработки = Неопределено, ДополнятьКавычками = Истина) ЭкспортПараметры не нужны, нужно использовать КаталогПрограммы(), у меня несколько 1С стоит на сервере и не на всех установлен RASRAC
Функция ПолучитьКомандуУправленияБазами(ПараметрыОбработки, ИдКластера) ЭкспортНужно еще указать --cluster-user="" и --cluster-pwd="" если для кластера серверов установлен пользователь.
Функция ПолучитьКомандуДетальнойИнформацииПоБазеКластера(ПараметрыОбработки, ИдКластера, ИдБазы) ЭкспортНужно еще указать --infobase-user="" --infobase-pwd="" если для ИБ установлен пользователь.
Функция ПолучитьДанныеИзВременногоФайла(ПолноИмяВременногоФайла) ЭкспортПринудительно установить кодировку текста ANSI
Функция ПодготовитьКоманду(ПараметрыОбработки, Знач Команда, ПолноИмяВременногоФайлаРезультата) ЭкспортДобавить изменение кодовой страницы перед текстом команды
"chcp 1251 && " + КомандаПервоначально чтение результат происходит в 1251, при этом запись результата в 866. Но т.к. у меня есть пару баз с укр. "І" лучше сразу писать и читать в 1251
По каталогу расположения файлов совсем неоднозначно. Соглашусь, что и текущая реализация не универсальна, но и предложенная выглядит тоже.
У кого-то Админка - это серверная база на том же кластере, что и обслуживаемые ИБ; у кого-то это разные кластеры; а где-то вообще Админка локальная файловая база, обслуживающая удаленный кластер. Получается, что нужно давать возможность опционально настраивать расположение исполняемых файлов - это и хорошо и плохо одновременно.
По аутентификации для кластера и ИБ добавлю, спасибо!
По кодировке тоже дельное замечание. Ее вроде еще можно указать в методе ПодготовитьКоманду : "cmd /a /c " - ключ /a
По поводу расположения: все однозначно. RASRAC не зависит от версии платформы и от того где он установлен. Если база файловая, значит пользователь должен себе установить файлы и запустить сервер RAS на сервере приложений или у себя с указанием назначения сервера. т.е. обслуживаемые базы могут быть на 1 сервере, RAS запущен на 2 сервере, а RAC запускать на 3 сервере.
Почему спрашивал про развитие, остались процедуры "ВыполнитьОтключениеСеансов" и "ПроверитьВозможностьМонопольногоЗапуска", которые тоже можно перевести на RAS (долой COMОбъекты) и немного оптимизировать получение идентификаторов (хранить где-то в кэше)
Еще немного багов.
Функция ПолучитьКомандуУстновкиБлокировкиСеансов(ПараметрыОбработки, ИдКластера, ИдБазы, Блокировка) Экспорт--denied-from="yyyy-MM-ddTHH:mm:ss"
--denied-to="yyyy-MM-ddTHH:mm:ss"
--permission-code="" // Код разрешения важен, остальное все опционально. Без кода проблема с запуском бэкапов DT
--denied-message=""
PS: Пора брать уже брать на четверть ставки как тестировщика :-)
Спасибо!
видел решение админское-
1)на каждую базу / группу баз - отдельную группу
все файлы списков баз лежат в одном месте и в зависимости от прав в домене они или видны или нет конкретному пользователю.
соответственно подхватываются или нет платформой пользователя.
Мы получаем для пользователя список баз в котором базы ему нужные.
2)так же видел создание одного файла списка баз , пользователь может зайти в ту базу куда ему назначены права.
и если баз 150 а ему можно работать с 10 то он все равно будет наблюдать все эти 150 баз в общем списке.
3) создается базулька в которой ведется администрование пользователей к списку баз компании , пользователь запускает ее как единую базу входа.
у него не прописано в списке других баз кроме этой, база общедоступна - все пользователи компании в ней есть у всех доменная авторизация например = тыркнул и зашел в нее . пользователю открылся какой нибудь динамический список с ссылками доступных ему баз
с удобными группировками откуда он стартует нужные ему базу.
4) этот способ я вижу как возможный для своей компании:
мне надо чтобы у пользователя не было в списке ненужных ему баз
у меня один терминальный сервер
Допустим отдельная база для этой задачи.
а) прочитали AD (новых пользователей добавили) - ведем список пользователей, ок.
b) Например у нас один терминальный сервер , Прочитали все файлы в профилях пользователей C:\Users\Пользователь\AppData\Roaming\1C\1CEStart\ibases.v8i
и составили список баз, с проверкой наличия базы.
у нас есть список баз и список пользователей. ОК
заполнили матрицу доступности. ОК
Как мне пользователю дать доступный ему список баз?
была мысль на основании списка доступных пользователю баз перегенерировать файл bases.v8i в его профиле C:\Users\Пользователь\AppData\Roaming\1C\1CEStart\ibases.v8i
или лучше поступить как в п3. ?
как в этом решении эта задача реализована ?
В Админке реализовано что-то похожее на Ваш п.3:
- система реализует сервис WebCommonInfoBases, который прописывается у пользователей, как источник списков ИБ;
- заводится либо одна учетка, под которой предоставляется доступ к сервису, либо персонифицированная учетка на каждого пользователя;
- создаются списки ИБ; список может быть создан для одной или нескольких ИБ; одна ИБ может быть добавлена в один или несколько списков;
- для созданных учеток настраивается доступ к произвольному составу списков ИБ;
Т.о. пользователь получает данные из сервиса только по тем ИБ, которые ему явно назначены как доступные.
На всякий случай инфа по сервису:
есть замечательная статья, разжевано по буковкам
вкратце: разруливается через *.cfg и кучу *.v8i файлов, у каждого *.v8i файла своя настройка безопасности, завязанная на группы пользователей в AD, поэтому определенный пользователь, помещенный в определенную группу AD видит конкретно только свой определенный список баз
Я себе подобное сделал, чуть попроще правда, без AD - не нарадуюсь.
Давно у вас покупал 4ю версию.
И сейчас встал вопрос обновления БП на несколько релизов вперёд.
Сейчас 3.0.85.28, подскажите как сделать так, чтоб не устанавливать поочерёдно руками все релизы, а указать последний, а конфигурация уже сама установит так как надо.
Вроде с базами ЗУП этот функционал работает.
А вот с БП не могу добиться.
Заранее спасибо!
Уточните пожалуйста, какая версия Админки сейчас используется: 4-я как указано в сообщении или более поздняя?
На всякий случай проверьте какая инструкция используется в коде модуля ЗадачиНаСервере в методе ПолучитьКомандуОткрытияКонфигуратора: должна быть вида "... DESIGNER ..." , а не вида "... CONFIG ..."
Админка 4.0.
Было "... CONFIG ...", переделал, и добавил ключ : /DisableStartupDialogs.
На платформе 8.3.18.1289 теперь при групповой обработке не загружается каждый раз конфигуратор и не просит нажимать принять и т.п в каждой базе.
А вот скопом установить обновления всё равно не хочет. Указывает последний релиз и обработка пытается обновить именно этот релиз, а не тот который подходит и так по очереди пока не дойдёт до того релиза который указываю.
Решение поддерживается в рамках текущей функциональности, можно констатировать, что глобальные изменения давно не вносились.
Целенаправленного тестирования работоспособности в окружении с англоязычными настройками не было. Специальной адаптации под язык отличный от русского так же не проводилось.
Купили данную конфигурацию. Пробуем настроить различные операции по своим базам. Архивирование файловой базы получилось сделать без проблем. Выявили проблему при попытке сформировать архив серверной базы. Метод ЗапуститьПриложение вернул КодВозврата = 4 294 967 295.
Обратили внимание, что комманда запуска
cmd /c ""c:\program files (x86)\1cv8\8.3.20.1590\bin\rac.exe" ИМЯКЛАСТЕРАСЕРВЕРОВ:1545 cluster list > "C:\Users\USR1CV8.CLOUDOFFICE\AppData\Local\Temp\c294c003-09b1-49e3-b8f6-054790c37f6e.txt""
Не содержит имя самой базы , к которой применяем функцию архивирования
Логирование убираем, то все нормально. Но это уже вопрос либо администрирования. Речь идет о параметре, который после комманды /Out идет.
А вот проблема , с которой столкнулись это запуск процесса в фоновом задании. При запуске архивирования в обычном режиме все происходит нормально. (Функция ВыгрузитьАрхив в модуле ЗадачиНаСервере ). Перевел режим работы в такой, где не стартует фоновое задание. Нехорошие проявления работы в режиме фонового задания заключаются в том, что база - объект действия переводится в состояние "Блокировка начала сеансов включена" и из этого состояния не возвращается.
Предполагаю, что эта проблема также объясняется правами доступа на временный каталог. Проверю этот момент, напишу комментарий.
Есть подозрение, что не выполнены необходимые условия для работы конфигурации.
Вы могли бы дать ссылку, где указаны требования для работы конфигурации, например, запущенный сервер RAS, необходимые права пользователей в ОС и прочее.
Спасибо!
Убедитесь, пожалуйста, что COM-компонента зарегистрирована на рабочих серверах кластера. Пока непонятен контекст Вашей проблемы, но как вариант.
Наличие службы RAS не является обязательным условием работы, т.к. основным механизмом для работы остается COM.
Для учетной записи, под которой запущена служба кластера, необходимы права на тот каталог, в который осуществляется выгрузка архива. Если целевой каталог сетевой, убедитесь, что учетная запись имеет права на доступ к каталогу на уровне сети. Особенности настройки сетевых доступов лучше обсудить с коллегами, которые у Вас осуществляют профильную поддержку (надеемся, такие имеются). Чтобы избежать хотя бы на начальном этапе необходимости заниматься подобной настройкой, можно рассмотреть сохранение архива ИБ в каталог непосредственной на локальных дисках кластера.
Для реализации операций с использованием командной строки необходимо наличие установленного клиентского приложения (толстый клиент + конфигуратор) на рабочих серверах кластера.
Поддерживается работа с ИБ как файлового так и серверного формата работы. При указании параметров сервера для серверной ИБ обратите внимание на корректность указания портов кластера, если они отличаются от дефолтных.
Все базы не снятые с поддержки бух 3.0,
Используем клиент серверный вариант, клиент от 1с. При попытке обновления из регламентного задания, локальные клиенты получают сообщение что сеанс удален однако в списке баз соединение есть, правда с пустым пользователем, видно из самой консоли. Затем попытка провести обновление, ошибка монопольного доступа. И это продолжается пока локально у пользователя не нажать (2 кнопки перезапустить, завершить) завершить. Прошу помочь с данной проблемой
ЗагрузкаОбновленийКонфигураций
Допущена ошибка в запросе (пропущена запятая после ВидКонфигурации, Задание всегда выходит с ошибкой
"ВЫБРАТЬ
| ВидыКонфигураций.Ссылка КАК ВидКонфигурации,
| ВидыКонфигураций.Редакция КАК Редакция
|ИЗ
| Справочник.ВидыКонфигураций КАК ВидыКонфигураций
|ГДЕ
| НЕ ВидыКонфигураций.ПометкаУдаления
| И НЕ ВидыКонфигураций.ОтчключитьАвтоматическуюЗагрузкуОбновлений"; 2)Кроме этого
//Если НЕ ЗначениеЗаполнено(Константы.КаталогОбновлений.Получить()) Тогда
// ЗаписьЖурналаРегистрации(ОбработкаЗагрузкаОбновлений.мИмяСобытияВЖурналеРегистрации + "Регламентное задание загрузки обновлений не выполнено: не заполнен каталог обновлений", УровеньЖурналаРегистрации.Предупреждение);
// Возврат;
//КонецЕсли; Проверяется заполнение каталога релизов обнволений (хотя оно сделано опционально) и задание выходит на возврат всегда. На текущий момент заремарил (считаю это ошибкой)
Ошибка при обновление стостояни базы, базы все серверные, сама обработка стоит на 8.3.22. а хочу еще прочитать базу которая стоит на 8.3.18, платформа правильно указана внутри базы и добавлена в список платформ, может что не сделал?
Есть статьи, описывающие "ручное" решение для обеспечения работы через COM на разных релизах одной версии платформы. Как пример: . Под эту реализацию потребуется кастомная доработка Админки: ручная регистрация компонент от разных релизов плфтормы, добавление в Админку индентификаторов компонент в привязке к релизам платформы.
да я нашел эту статью и сделал, но в дальнейшем как я понимаю надо переделывать конфу уже чтобы каждый com работал со своей платформой.
если вас интересуют масс обновления типовых конфигураций - крайне рекомендую посмотреть в сторону Обновлятора1С. Я на него с АИБ перебрался - ничуть не жалею, в полном восторге. ссылку давать не буду, в любом поисковике наберите, офф сайт найти не проблема. можно юзать бесплатно с небольшим ограничением (одновременная работа только с 2 базами), остальной функционал полный (хватит для ознакомления). покупка лицензии, ессно, исправляет этот "недочёт". там просто нереальное количество настроек, на все случаи жизни - обновления, операции с базами, резервное копирование и т.п... например, у меня настроена алярма, которая прилетает в телеграм, причем прилетает только в том случае, если при обновлениях возникла какая либо ошибка. в любом другом случае не беспокоит. настроено на 5 серваках, на каждом от 20 до 150 типовых баз. работает как часы уже который год
зы не реклама, просто делюсь опытом
Обнаружено дублирование ключевых значений в колонках: Ссылка.
Отображение данных в списке невозможно.
Что это может быть?
Обнаружено дублирование ключевых значений в колонках: Ссылка.
Отображение данных в списке невозможно.
Что это может быть? Как можно исправить?
Вы можете заказать платную консультацию или разработку у автора. Будет создан приватный заказ на «Бирже заказов» для автора.
№ 193384
Создание 05.07.13 21:16
Обновление 12.11.21 08:29
Просмотры 118921
Загрузки 847
Рейтинг
378
Комментарии 410
Код открыт Да
Рубрики Инструменты администратора БД Архивирование (backup)
Кому
Системный администратор
,
Разработчик
Тип файла Конфигурация (md, cf)
Платформа 1С:Предприятие 8
Конфигурация Универсальные
Операционная система Не имеет значения
Страна Не имеет значения
Отрасль Не имеет значения
Налоги Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)