Как настроить сервиса администрирование 1с зуп
В жизни так бывает, причём бывает чаще чем хотелось бы, хоть в целом и довольно редко – надо интегрировать Битрикс24 с ЗУП. Сими дружественными компаниями заявлена штатная интеграция (но только для коробки Б24), которая осуществляется по следующей принципиальной схеме:
Обмен инициирует всегда 1С. Это либо штатный, либо устанавливаемый самостоятельно и доступный модуль обмена, который посылает запросы.
На стороне Б24 имеем в качестве точки обмена скрипт, если быть точнее скрипты (но об этом будет ниже), в одном из которых вызов метода IncludeComponent, который подключает контроллер. Он и таит в себе логику обмена.
Штатный обмен, в принципе, если быть экспертом одного из продуктов можно освоить за небольшое количество минут или часов – информация представлена на одном из официальных сайтов 1С-Битрикс.
Пролог
Нам же это скучно, поэтому ввязываемся в авантюру по интеграции ЗУП с Б24 Enterprise, а чтобы было интереснее – берем закрытый объект, почти совсем не бизнес даже, а учреждение с многоуровневой и чудно ветвленой системой безопасности.
В общем, на руках бэкап Б24 с обезличенными данными и обезличенный же XML-файл обмена из ЗУП.
Итак, сама задача… Хотя, нет. До самой задачи ещё далеко – не помешало бы сначала наладить тестовый механизм для того, чтобы по заверениям работающий штатный алгоритм проверить.
Виртуальная машина VMBitrix – 1 шт.
1С-Битрикс24 (копия для разработки) – 1 шт.
Файл обмена, выгруженный предположительно штатным модулем обмена 1С – 1 шт.
VS Code + SSH FS плагин на будущее – 1 комплект.
Виртуальная машина VMBitrix
По правде говоря, это никакая не виртуальная и даже не машина, а CentOS 7 (ну, или 6) со всеми вытекающими. Можно из чистой центоси сделать своеобразный и уже сконфигурированный LAMP+ для Битрикс несколькими командами.
Для дотошных читателей следует рассказать, что виртуальная машина в реальности всё же существует. На клиентском сайте вендора в разделе скачать. Образы уже сконфигурированных ОС под популярные виртуализации выложены и в корне сайта по умолчанию уже лежит скрипт установки демо и скрипт восстановления. Именно скрипт восстановления был использован для создания локальной копии портала.
Следует ещё отметить, что VMBitrix не единственное, но самое быстро-разворачиваемое универсальное окружение для Б24.
1С-Битрикс24 Enterprise
Не буду много распространяться про то, что отличает Энтерпрайз от других коробок. Наверное, в данном повествовании хватит акцента на цене и уровне ответственности. Тем более, модули связанные с масштабированием не используются. Впрочем, как и многосайтовость.
Файл обмена из 1С ЗУП
Если вы хоть раз занимались интеграцией двух систем, будучи ответственным только на одном продукте, то вам знакомо как велик соблазн спихнуть на ту сторону любую мелочь, которую лень проверять на своей стороне. Этот недуг поражает даже самых ответственных людей, выступающих в любой роли и с любым уровнем погружения. Поддавался недугу и я.
Попытка повлиять на то чтобы пришли нужные данные сами чудесным образом, догадавшись, куда и в какой последовательности записываться, для очистки совести тоже осуществлена.
VS Code + SSH FS плагин
Итак, вооружившись доступом к файловой системе проекта, мы начинаем свое путешествие в увлекательный мир не задокументированных интеграций.
Не зря в самом начале статьи была реплика про то, что «Обмен инициирует всегда 1С». Для понимания архитектуры это был первый шаг, в модуле обмена на стороне 1С прописан адрес скрипта, выступающего узлом обмена в Б24 – по умолчанию это /bitrix/admin/1c_intranet.php.
В нем, согласно правилам системы ничего не хранится. Подключается один из служебных скриптов системного модуля Интранет(intranet) /bitrix/modules/intranet/tools/1c_intranet.php.
Именно этот модуль нам дает программный интерфейс для организации работы с сотрудниками и структурой на портале. Модули в BitrixFramework занимают место модели в архитектуре MVC.
Postman
При упоминании должности почтальона в наших широтах перед глазами встает образ скорее Печкина из Простоквашино, нежели герой Кевина Костнера из одноименного заокеанского фильма.
Эпилог
Путем нехитрых манипуляций вычитки кода того самого системного компонента и экспериментов с программой-почтальоном за пару часов выработан полуавтоматических алгоритм, позволяющий подсунуть в Б24 файл выгрузки из 1С.
Что важно знать про обмен:
Протокол обмена – GET
Нужно несколько последовательных запросов с разными параметрами
Если файл выгрузки 1С ЗУП в архиве, то нужно использовать галочку «Использовать сжатие zip, если доступно» в настройках модуля Интранет в админке. И наоборот – если XML без архивной оболочки – галочку нужно снять.
Первый запрос, авторизация по логину и паролю:
Возвращает PHPSESSID. Его необходимо в последующем передавать с каждым запросом.
Подготавливает/вычищает папку для загрузки файла. Возвращает что-то вроде zip=no
file_limit=204800 , если всё отработало.
В случае успешной передачи и записи файла на сервер возвращает success. Будьте бдительны – нужно передать в Body сам файл бинарно, и указать его название в GET-параметре filename.
Надо отсылать несколько раз с теми же параметрами, пока не пройдут последовательно все шаги импорта. Все эти шаги также можно вычитать в коде вышеуказанного компонента, осуществляющего импорт. Возвращаемые значения:
Временные таблицы удалены.
Временные таблицы созданы.
Файл импорта прочитан.
Временные таблицы проиндексированы.
Проверка структуры успешно пройдена.
Метаданные импортированы успешно.
Обработано 2 из 2 пользователей.
Загрузка пользователей завершена.
Обработано 11 из 11 записей графика отсутствий.
Загрузка графика отсутствий завершена.
Импорт успешно завершен.
Постскриптум
Наверняка, кто-то из комментаторов укажет на другие инструменты, или сможет поделиться похожим опытом. Возможно, кто-то проведет параллели с импортом каталога из УТ в БУС.
По правде говоря, сам тоже, хоть в статье и опустил, но руководствовался аналогичным опытом. Продолжение следует – в следующей статье расскажу как решалась сама задача породившая такую хитроумную организацию труда.
Подключение сервиса в 1С:Зарплата и управление персоналом
Подключить сервис может только пользователь с полными правами.
Для начала нужно придумать название Кабинета. Это может быть адрес компании в интернете или любой похожий адрес, если он окажется не занятым другими компаниями, использующими данный сервис.
Ниже введите название информационной базы, к которой подключается сервис. Это может быть любое удобное название вашей организации.
Затем выберите сотрудника, ответственного за подключение и работу в сервисе. Впоследствии при необходимости его можно будет изменить.
Далее настроим сотрудников, которые будут пользоваться сервисом. В открывшейся форме можно отметить организацию (соответственно, если предполагается создавать кабинеты для всех сотрудников), подразделения или позиции штатного расписания.
Далее нажимаем Подключить и ждем завершения подключения.
Позже можно будет добавить и других сотрудников в сервис, перейдя по ссылке Изменить настройку публикации.
Для завершения регистрации ответственному лицу необходимо перейти по указанной ссылке.
Настройки в приложении 1С:Кабинет сотрудника
При переходе по ссылке в браузере появится форма для ввода кода подтверждения, который поступит на мобильный телефон ответственного (это требуется только при первом входе в кабинет), затем необходимо придумать и ввести пароль.
Сервис готов к использованию.
Можно приступить к использованию всех возможностей своего кабинета, ознакомиться с подробной информацией в других разделах, а также перейти в раздел Администрирование для создания кабинетов и отправки приглашений другим сотрудникам.
Отмечаем сотрудников и создаем для них кабинеты.
После этого отправляем приглашения сотрудникам для регистрации.
Кабинеты созданы, приглашения отправлены. Далее каждый сотрудник перейдет по полученной ссылке и придумает себе пароль для работы в сервисе (с мобильного телефона и компьютера).
Настройка правил обработки заявок и ответственных лиц в 1С
Вернемся пока в программу 1С:ЗУП для настройки правил обработки заявок и ответственных лиц.
Можно сделать указанную настройку по видам заявок:
Либо с точностью до структуры предприятия.
Например, согласовывать отсутствия и обрабатывать заявления на отпуск будет руководитель кадрового отдела. Остальные заявки будут поступать к бухгалтеру по заработной плате.
Можно настроить, чтобы руководители разных подразделений согласовывали отсутствия своих сотрудников, но для этого соответствующие руководители должны иметь доступ к 1С:ЗУП и права на работу в сервисе.
Настраиваем обмен сервиса с 1С:ЗУП
Настройка расписания обмена 1С:ЗУП и сервиса производится через Администрирование - Обслуживание - Регламентные операции - Регламентные и фоновые задания.
По умолчанию обмен производится с указанного числа каждые 10 минут, настраиваем в соответствии с производственной необходимостью.
Если информация в сервисе сформирована, и ее нужно быстро передать в кабинеты сотрудников, можно не дожидаться регламентной операции, а выполнить обмен в ручном режиме.
Кроме того, со стороны 1C:ЗУП можно настроить напоминания исполнителям задач (поступающих из Кабинетов сотрудников) через Администрирование - Органайзер - Бизнес-процессы и задачи.
Чтобы механизм напоминаний работал, должна быть настроена Системная учетная запись (электронная почта для отправки уведомлений из 1С:ЗУП).
Прочие настройки в сервисе 1С:Кабинет сотрудника
В сервисе необходимо проверить настройки по отражению и исполнению заявок по отпускам сотрудников.
А также дополнительно проконтролировать публикуемые виды контактной информации и настройки публикации по уволенным сотрудникам.
Подробнее о сервисе, стоимости и подключении:
1С:Кабинет сотрудника
- Обновление конфигурации БД в фоновом режиме;
- Доп.управление распределением по рабочим серверам кластера в разрезе ИБ, видов клиентских приложений и фоновых заданий:
- сервисов кластера;
- соединений с ИБ.
- безопасность расхода памяти за один вызов;
- количество инфобаз на процесс;
- объем памяти рабочих процессов, по достижении коего сервер считается производительным;
- максимальный объем памяти рабочих процессов;
- стратегия балансировки (по памяти, по производительности).
Почти все примеры изменений настроек, которые будут приведены в данной статье, иллюстрируют возможность Консоли сервера 1С, то есть, в свете новых правил, такие изменения на рабочем сервере требуют использования лицензии версии КОРП.
Консоль управления сервером 1С или консоль администрирования серверов 1С, или консоль кластера серверов 1С – это утилита, входящая в состав 1С Предприятие 8.3, которая необходима для:
- Управления сеансами;
- Управления списком баз;
- Создания кластеров 1С для отказоустойчивой архитектуры и для масштабируемости;
- Гибкой настройки работы рабочих процессов;
- Ограничения потребления ресурсов;
- Разграничения выполняемых задач рабочими серверами (чтобы выносить отдельные сервисы на различные рабочие сервера);
- Управления профилями безопасности.
Рис.1 Консоль администрирования
Если вы хотите подобрать сервер для 1С 8.3, обратитесь к нашим специалистам оп телефону или прямо на сайте.
Управление базами данных в консоли кластера
При работе в клиент-серверной архитектуре пользователи, скорей всего, так или иначе, сталкиваются с консолью администрирования серверов, как минимум, когда добавляют новую базу в список информационных баз. Чтобы добавить новую базу, необходимо кликнуть правой кнопкой мышки на информационные базы и выбрать пункт «Создать».
Рис.3 Окно управления
В этом окне заполняются настройки подключения к СУБД, а при ее отсутствии можно воспользоваться опцией «Создать базу в случае ее отсутствия». Остальные настройки можно оставить по умолчанию.
Также можно открыть окно этих же настроек уже созданной информационной базы, для чего необходимо кликнуть правой кнопкой мыши на информационную базу и выбрать пункт меню «Свойства».
Рис.4 Свойства
Здесь мы может установить блокировку начала сеансов (установить блокировку на определенный период). Пока установлена блокировка, ни один сеанс не сможет подключиться к базе.
Рис.5 Блокировка начала сеансов
Эта опция может применяться, например, при проведении каких-либо регламентных работ с базой (как правило, это обновление базы). Но когда требуется вход администраторов в базу с наложенной блокировкой сеансов, нужно воспользоваться опцией «Код разрешения». Указав код, в будущем, используя его, можно будет работать с базой. Например, установим код разращения 123, чтобы позже зайти в базу. С кодом разрешения необходимо использовать параметр /UC.
Рис.7 С кодом разрешения необходимо использовать параметр /UC
Параметр блокировки – произвольный параметр, который можно использовать в программном коде. Блокировка получится при использовании функции ПолучитьБлокировкуСеансов().
Блокировка регламентных заданий включена – означает, что в нашей базе данных не будут выполняться регламентные задания.
Рассмотренные опции используются наиболее часто. Остальные в жизни применяются очень редко, и информацию о них можно почитать на ИТС.
Работа с сеансами консоли администрирования
В консоли администрирования можно управлять подключенными сеансами определенной БД, а также общими сеансами на данном кластере.
Рис.8 Работа с сеансами
Рис.9 Окно с сеансами выглядит так
Из этого окна можно получить большой объем информации, начиная с того, какого пользователя этот сеанс, и заканчивая данными потребления памяти сеансом, а также – сколько было получено данных СУБД, сколько было затрачено процессорного времени и многое другое.
Рис.10 Задать текст
Рис.11 Профили безопасности
С помощью профилей безопасности можно настроить, какие модули могут расширяться расширениями, ограничивать расширения определенных модулей конфигурации, ограничивать доступ к файловой системе из прикладного кода, ограничивать доступ к COM объектам, к внешним компонентам, к сторонним приложениям и т.д.
Рабочие процессы (объединение в кластер)
В платформе 1С 8.2 можно было вручную создавать рабочие процессы сервера приложений (рабочий процесс rphost). В 8.3 рабочие процессы создает ragent. Количеством одновременно работающих процессов можно управлять косвенно, через настройки рабочих серверов.
Рис.12 Рабочие процессы
Рис.13 Объединение в кластер
При использовании настроек, заданных по умолчанию, будет использован один rphost на 8 информационных баз или на 128 соединений. Если у вас 32-разрядная ОС (т.е. существуют ограничения по потреблению оперативной памяти на один процесс), рекомендуется изменить эти значения, например, установить одну базу на процесс и уменьшить количество соединений. Оптимальное количество соединений подбирается эмпирически и во многом зависит от конкретной конфигурации и количества фоновых заданий.
Поскольку мы рассматриваем свойства рабочих процессов, стоит упомянуть про другие настройки:
Максимальный объем памяти рабочих процессов, значение в байтах (доступный всем рабочим процессам кластера на данном рабочем сервере).
Может принимать значение от -1 до 9 223 372 036 854 775 807:
- -1 – без ограничений;
- 0 – определяется автоматически как 80% объема оперативной памяти сервера.
Безопасный расход памяти за один вызов значение в байтах.
Может принимать значение от -1 до 9 223 372 036 854 775 807:
- -1 – любой вызов сервера считается опасным, если за время вызова сервера достигнут максимальный объем памяти рабочего процесса;
- 0 – значение объема определяется автоматически, как 5% максимального объема памяти рабочих процессов на данном рабочем сервере.
Если за время вызова объем памяти превысил параметр Безопасный расход памяти за один вызов, и общее потребление памяти всеми процессами rphost превысило значение, установленное в Максимальный объем памяти рабочих процессов, такой вызов будет прерван.
Объем памяти рабочих процессов, до которого сервер считается производительным, измеряется в байтах. Значение 0 показывает, что ограничение не установлено. Общий объем памяти, занятый всеми рабочими процессами этого рабочего сервера, по достижению которого на этот рабочий сервер перестанут назначаться новые соединения.
Флаг менеджер под каждый сервис означает, что будет назначен отдельный экземпляр менеджера кластера (процесс rmngr) под каждый сервис. Список сервисов, которые выполняются в кластере:
Рис.14 Список сервисов, которые выполняются в кластере
Флаг Центральный сервер означает, что данный сервер сможет применять соединения и выполнять синхронизацию реестра кластера.
Настройки рабочих процессов можно применять только при использовании КОРП лицензий! Если у вас ПРОФ лицензия, настройки будут доступны, однако на пользование ими у вас не будет прав.
Объединение серверов в кластер
Сервера 1С можно объединять в кластер для решения задач масштабируемости (распределения нагрузки) и отказоустойчивости. Объединяются сервера в кластер просто, достаточно создать рабочий сервер.
Рис.15 Создаем рабочий кластер
Если в новом сервере не устанавливать опцию «центральный сервер», то такой сервер будет считаться рабочим и не сможет принимать на себя подключение сеансов. Такая архитектура взаимодействия серверов применяется для масштабируемости, она не может быть отказоустойчивой, поскольку для этого должны быть центральные сервера, а также задан уровень отказоустойчивости в свойствах кластера.
Рис.16 Новый сервер
Рис.17 Окно настроек
Уровень отказоустойчивости задается как количество центральных серверов -1.
В окне настроек также можно задавать ограничения потребления ресурсов на рабочий процесс (rphost). Настройки будут заданы на весь кластер.
Рис.18 Настройки будут заданы на весь кластер
Интервал перезапуска – интервал в секундах, через который будет перезапущен рабочий процесс. Отсчет начинается с момента установки данной опции.
Допустимый объем памяти стоит устанавливать из расчета, что в случае срабатывания условия превышения показателя будет запущен еще один процесс rphost того же объема, т.е. момент времени у нас будет два процесса, пока соединения со старого не переключатся на новый.
Интервал превышения допустимого объема памяти – интервал в секундах, в течение которого допустимо потребление памяти, установленное в параметре Допустимый объем памяти.
Интервал превышения допустимого объема памяти. Если значение свойства Допустимого отклонения количества ошибок сервера равно 0, то проверка отклонения количества ошибок не выполняется. Вне зависимости от установленного значения этого свойства рабочий процесс, который совершает не более 1 ошибки на 100 запросов, считается функционирующим нормально и не признается проблемным. Рассмотрим пример работы свойства Допустимое отклонение количества ошибок сервера. Допустим, на 100 запросов фиксируется, в среднем, 2 ошибки за последние 5 минут. Если свойство Допустимое отклонение количества ошибок сервера установлено в значение 50, то проблемным будет считаться тот рабочий процесс, для которого будет фиксироваться более 3 ошибок на 100 запросов.
Перезапуск процессов происходит «мягко»:
- Запускается новый процесс rphost;
- Старый процесс rphost выключается, но не завершается;
- Соединения назначаются на только что созданный процесс rphost, который сразу полноценно включается в работу;
- Старый процесс будет поддерживать существующие на нем вызовы. Поддержка работы уже назначенных вызовов будет происходить в течение времени, установленного в параметре «Выключенные процессы останавливать через» секунд.
Назначение отдельных сервисов на различные рабочие сервера
При объединении нескольких серверов в кластер, мы можем выносить определенные сервисы на отдельные сервера. Например, мы можем вынести работу фоновых заданий на отдельный сервер или сделать сервер лицензирования (сервер, который будет раздавать клиентские лицензии). Полный список сервисов, которые выполняет сервер и которые можно переназначать:
Рис.19 Назначение отдельных сервисов на различные рабочие сервера
Назначение сервиса на определенный рабочий сервер выполняется через требования назначения функциональности.
Рис.20 Назначение сервиса на определенный рабочий сервер
Рис.21 Требования назначения функциональности
В статье были рассмотрены основные возможности консоли администрирования, но эта тема очень обширная и исчерпывающую информацию о конкретной функциональности утилиты администрирования можно найти на ИТС.
В этой статье выражено личное мнение автора, его видение мира, его путь, и это все не претендует на абсолютную верность и объективность. Автор не несет никакой ответственности за последствия использования данной информации, он только надеется что эта информация поможет сделать кому-то жизнь проще.
Предисловие
Сначала я просто хотел написать небольшую статью о том, как мы разносили базы по службам, но в ходе углубления в этот процесс мы добавляли всякие разные штуки (мониторинг служб, потом мониторинг пользователей внутри 1С, потом прикрутили заббикс, и, наконец, пришли к CI/CD на базе 1С). В итоге я понимаю что пихать это в одну статью будет слишком — решил разделить на несколько. Ну а название навеяно циклом статей "сети для самых маленьких", которые принесли мне много приятных минут и к которым я отсылаю всех, кто "хочет изучить сети". Итак, мы приступаем!
Когда ты признаешь проблему, значит ты на половину уже вылечился (с) один знакомый психиатр
В этой статье я хочу поделиться своим опытом администрирования большого числа 1С в корпоративном секторе. Базы все разные, есть разработка, есть тестовые, все как у всех. Но их просто достаточно много. И все было хорошо, но в определенный момент проводить какие-то админские работы стало крайне тяжело и рискованно.
Какие у нас были сложности:
- Подвисшая база тянула за собой перезапуск службы, а значит страдали невинные (пользователи других баз)
- Было тяжело понять кто сегодня "герой дня" — какая база заняла все ресурсы
- Обновление релизов — обновление одной тянуло за собой автоматическое обновление всех баз на этой службе
- Ручное подключение баз пользователям, ручное изменение в случае переездов
- Мониторинг
И только сейчас я понимаю что это была только вершина айсберга.
Акт первый, действие нулевое
Небольшое отвлечение на основные постулаты, осознание которых далось большой кровью и болью.
- Старые версии 1С (до 8.3.11+) имеют просадку по производительности при работе в виртуализированной среде. (Источник — Гилев и собственные тесты)
- Кластер есть, но с ним все крайне не просто. Возможно его доработают потом, но пока он в основном для галочки. (источник — собственный опыт)
- При выборе процессора смотрите только на частоту. Процессор в 6 ядер по 3,4Ггц порвет в куски процессор на 20 ядер по 2Ггц. Проблема в том, что 1С вообще ничего не знает про параллельные вычисления. По сути это работает так — у нас есть определенное число воркеров для каждой службы, их раскидывают по процессорам, и если в каком то воркере пользователь запустил какой-то тяжелый отчет то в системе будет загружено только одно ядро процессора. Именно то, на котором работает воркер с запущенным заданием… Для БД ситуация кстати ровно обратная. (источник — Гилев, собственный опыт, опыт коллег)
- Не используйте логи в "новом" формате (запись в SQLLite) — вы очень быстро столкнетесь с тем, что производительность этого решения еще хуже чем файлового варианта. (Источник — собственный опыт, опыт коллег).
По подсказкам из комментариев есть вариант вынести логи на отдельный инстанс.
В 8.3.12 обещали логи в нормальный скуль. - 1С оооочень не любит IPv6. На всех серверах с 1С лучше сразу понижать приоритет IPv6 до минимума. (Источник — Гилев, собственный опыт)
- Используйте для виртуальных серверов виртуальные сетевые карточки E1000. С остальными проблема по производительности (Источник — Гилев, но на собственном опыте не подтвердилось, хотя особо и не тестили)
- Обслуживание баз дает хороший прирост производительности, особенно периодический пересчет итогов, а так же обслуживание индексов SQL (Источник — собственный опыт, Гилев)
- Поиск причин падения 1С сродни поеданию неочищенного кактуса. Выяснить что-то толком можно только через боль, унижения и страдания. (Источник — собственный опыт)
- Нет ни одного официального образа ни под один гипервизор. Про докер я вообще молчу. (Источник — сайт 1С)
- Программная лицензия для сервера привязывается к — сюрприз, сюрприз — серийному номеру процессора (и еще огромному количеству параметров сервера). В эпоху повсеместной виртуализации ход потрясающий. Поясняю — активировали сервер, переехали на другую ноду, перезагрузили машину — 1С не запуститься. Расчехляйте новый активационный код. (Источник — собственный опыт, болтливая техническая поддержка 1С =))
- 1С — это учетная система, а не отчетная. Хотите много нормальных жирных отчетов и быстро — выводите это за рамки 1С. (Источник — собственный опыт)
- У 1С есть два неоспоримых достоинства, за счет которых она будет процветать еще долго:
- стоимость самого продукта/разработчиков
- скорость разработки
и к сожалению для российского бизнеса они являются первоочередными. А зачастую и единственными, на что вообще смотрят. (Источник — печальная реальность)
- Никогда не используйте файловую шару как место под хранилище конфигураций 1С. Только службу. Иначе маты со стороны разработки о упавшем черт знает когда хранилище станут вашим неизменным спутником по жизни. (Источник — собственный опыт, опыт коллег)
Акт первый, действие первое
Первая короткая сценка из корпоративной жизни
На сцене — Админ (А), программист 1С (П1С) и представитель бизнеса (ПБ)
ПБ — У нас медленно работает программа!
А — у меня в системе все хорошо!
П1С — я все написал правильно, у меня на компьютере все работает быстро!
ПБ (робко и растерянно) — но она же долго…
А и П1С хором — у нас все хорошо, проблема на вашей стороне!Проблемы всегда случаются не вовремя (с) (5-летний философ)
И вот в одно прекрасное солнечное утро (на самом деле это была глубокая зимняя ночь) мы поняли что завтра надо запустить новую базу. Завтра наступал тот прекрасный день, который уже много раз описывался тысячами авторов и имя ему — легион! Тьфу, простите, занесло. Имя этому дню был дедлайн. Час ночи, завтра на 200 компах должна запуститься новая база." Да не проблема, у нас же все компы в домене! Сейчас быстренько сделаем логин-скрипт и дело в шляпе!" подумаете вы. И будуте правы — так же подумали и мы. И сделали. Только, как обычно это бывает, погорели на мелочи — я в логон-скрипте я прописал %filename%.bat а коллега выложил %filename%.cmd.
Ну и понятное дело с утра хелпдеск побежал делать все руками, а мне было очень стыдно за такой тупой фейл. Извинялся перед парнями тортиком.
Но мысль автоматизации этого процесса у меня в голове засела очень крепко и стал даже вырисовываться план внедрения.
В итоге мы пришли к следующей идеологии:
- Все раздается через AD — создаются группы вида 1cbases-%версия платформы%-%имя базы% и туда силами хелпдеста добавляются пользователи, которым нужна база.
- одна группа — одна база
- 1cbases — это префикс по которому удобно искать группы
- версия платформы 81, 82 и 83 (релиз не принципиален)
- название базы соответствует имени файла с настройками
Как мы это делали:
- Через групповые политики добавляется новое задание в планировщик (задача планировщика прописать пользователю путь к файлу подключения базы):
- запускать от имени пользователя
- событие — разблокировка компьютера
- действие — запуск нашего скрипта
- Создаем нужные группы в АД и заполняем их пользователями
- Создаем нужные файлы для запуска самих 1С. Тут остановлюсь чуть поподробнее. Изначально мы долго мучили интернет своими запросами и нашли полное описание структуры файлов *.v8i. Но потом нашелся способ проще и гениальнее.
- запускаем 1С
- настраиваем подключение к базе
- проверяем что все работает
- кликаем правой клавишей по названию базы и выбираем пункт — "Сохранить ссылку в файл"
- Добавление баз теперь не было морокой — просто делали группу, добавляли файл с настройками — дальше все происходило автоматом
- Могли спокойно переносить базы куда угодно, просто меняя конфигурацию в файле с настройками подключения к базе (как показала практика — очень удобно)
- Сберегли обувь хелпдеску
Акт первый, действие второе
Вторая короткая сценка из корпоративной жизни
И с этой стороны ни чуть не лучше… (с) печальный ослик Иа-Иа в свой собственный день рождения
Вот представьте себе — сидите вы в удобном кресле, в одной руке чашка вкусного чая, в другой пышущая жаром и свежестью булочка из кулинарии ближайшего магазина, за окном приятно пахнет весной… И это, конечно же, самое подходящие время для звонка с проблемой! Коллега — Байконур, у нас %@па!
Я — я так понимаю что стадию Хьюстона с проблемами мы уже успешно пролетели?
Коллега — да. База %имя базы% подвисла, вообще не отвечает, ТОПы уже рвут и мечут. 3 раза мне уже звонили. Надо перезагружать службу.
Я — так там же еще пачка баз на этой службе.
Коллега — да, поэтому вторая половина ТОПов тоже рвет и мечет что их отключат.В итоге конечно все согласовали, перезапустили, но осадочек остался.
- В продуктовой среде мы должны следовать правилу — одна база — одна служба с разнесением по портам
- Запускаться службы должны исключительно из-под доменных учеток. Одна служба — одна учетка. Это удобно для раздачи прав на шары, доступ в скуль и прочее. Так же, если у вас внедрена RBAC то вы можете очень оперативно посмотреть куда имеет доступ конкретный экземпляр 1С
- Логи нужно вынести на отдельный диск и включить на эти папки сжатие (при разбитии по дням это очень сильно экономит место и ускоряет (незначительно) поиск по логам)
- Каждой службе выдается alias в DNS для того, чтобы отвязать разработку от ip и/или dns сервера (в этом случае разработка вообще не волнуется на предмет того, где фактически находится сервер — физика, виртуальная машина в приватном облаке или вообще в публичном облаке)
- На каждую службу мы выделяем 500 портов для пользовательских соединений (наше внутреннее решение)
Как мы это делали (для нового сервера. для уже существующего часть шагов не актуальны):
- Создаются учетки под каждую службу
- На машине, где они будут работать им выдаются права на "запуск как службе"
- Ставиться MS офис, обязательно с активацией по MAK-ключу
- Ставится sqlncli — утилита из набора MS SQL Native Client. На данный момент выше 2012 не появлялось
- Создается папка C:\Windows\SysWOW64\config\systemprofile\Desktop — в противном случае есть проблемы с выгрузками в Word/Excel
- Для Windows 2016 и 1С 8.1 нужно скопировать старую версию dll (В папке C:\Program Files\Common Files\System\Ole DB надо заменить два файла sqloledb.dll и sqloledb.rll взятых со старых серверов)
- Ставятся дополнительное ODBC драйверы, если нужно подключатся к MySQL/PostgreSQL
Настройка папки для службы и логов:
- Создается папка на отдельном диске называется в формате 1CServer%basename% (в стандартном случае это делает сама служба, ибо у нее есть в настройках запуска путь к логам)
- Если внутрь каталога только что созданной службы переносятся данные из другого каталога (другой службы, другого сервера), то необходимо заменить владельцев (иначе служба не получит к ним доступа) с заменой владельца подконтейнеров
- Владельцем папки делается учетная запись службы
- Для того, чтобы в службах не было кроказябр
- в cmd ввести команду chcp 1251
- файл надо сохранить в ANSI кодировке
- Обязательно надо проверить на отсутствие дублирующих ключей в строке запуска — служба с ними не стартует.
- Для того, чтобы удалить службу, можно воспользоваться командой — sc delete «Имя заданное в переменной name»
- Добавить порты используемые 1С в разрешения в firewall
- Нужен всего один физический ключ на сервер — все службы будут активироваться им
После проведения всех мероприятий в итоге мы пришли к:
- Базы можно спокойно перезагружать, не трогая другие базы
- Всегда можно найти "героя" — базу, которая съедает все ресурсы
- Любые работы с базой касаются только одной конкретной базы
В следующих статьях я планирую рассказать (если эта статья народу зайдет):
Оперативно настроим параметры учета под специфику вашей работы. Первая консультация бесплатно!
Комплексный функционал для управления персоналом, кадрового учета и расчета зарплаты
Поможем разобраться, как корректно настроить параметры учета 1С:ЗУП. Первая консультация бесплатно!
Программа ЗУП 3.1 в отличие от предыдущих зарплатных решений 1С – ЗУП 2.5 и Зарплата и Кадры 7.7, имеет более понятный и удобный для пользователя интерфейс, а также усовершенствованную логику структуры. Например, в панели разделов программы четко выделены основные пункты для работы: кадровый раздел, документы по зарплате, по налогам, по выплатам и другие. Настроить и доработать 1С ЗУП 3.1 штатными способами проще, так как логичнее организованы и настройки параметров учета. В данной статье мы рассмотрим, как производится комплексная настройка параметров учета, необходимых для успешной работы.
При первом запуске программы вы можете обратиться за помощью по 1С к специалистам, или самостоятельно произвести начальное заполнение данных, при котором ваши действия будет сопровождать помощник начальной настройки
Рис.1 Помощник начальной настройки
В этот момент информационная база заполняется различными справочниками, необходимыми для ведения кадрового учета и расчета заработной платы, а также формируется привычное нам меню программы. После этого помощник будет нас подробно «расспрашивать», как мы будем вести учет и что еще хотим получить для успешной работы в программе. То есть на первом шаге настраивается программа «с нуля» или осуществляется перенос данных из «Бухгалтерии предприятия», или, например, из предыдущей версии зарплатной программы.
Рис.2 Информационная база заполняется различными справочниками
На втором шаге можно отказаться от начальной настройки, отключить возможность расчета зарплаты и загрузить в электронном формате отчетность, ранее сданную в налоговые органы и в ПФР, чтобы программа могла использовать эти данные для формирования последующей отчетности (Рис.3-5).
Рис.3 На втором шаге можно отказаться от начальной настройки
На Рис.4 можно увидеть меню программы, настроенной только для ведения «кадрового» учета и применимое в том случае, когда в этой информационной базе мы не будем считать зарплату, но будем вести подробный и полноценный учет кадров.
Рис.4 Меню программы, настроенной только для ведения «кадрового» учета
Рис.5 Формирование последующей отчетности
В продолжение настройки программы для дальнейшей работы выбираем – будет ли вестись учет в нашей информационной базе по одной организации или по нескольким. Установив флажок «Выполнять расчет и выплату по организации в целом», будем считать заработную плату без детализации по подразделениям. При этом в документе «Начисление заработной платы и взносов» будет отсутствовать поле для выбора подразделения организации.
Рис.6 Начисление заработной платы и взносов
Далее можно сразу заполнить сведения об организации: наименование, ИНН, сведения о регистрации в налоговом органе.
Рис.7 Заполнение сведений об организации
Рис.8 Заполнение сведений об организации
Если на нашем предприятии вредные или опасные условия труда для работников, то есть для них исчисляется льготный стаж на пенсию, то нужно установить флажок «Есть сотрудники с правом досрочного выхода на пенсию» и далее флажки по определенным профессиям.
Рис.9 Есть сотрудники с правом досрочного выхода на пенсию
Рис.10 Флажки по определенным профессиям
Штатное расписание в программе ЗУП 3.1 можно вести или можно начислять заработную плату без ведения штатного расписания, тогда «галочку» не ставим. Если штатное расписание не ведется, тогда в кадровом учете используется справочник «Должности».
Рис.11 Штатное расписание в программе ЗУП 3.1
Штатное расписание может вестись тоже двумя способами – с историей изменения и без истории. Это регулируется установкой флажка «Утверждать штатное расписание специальным документом и вести историю его изменения».
Штатное расписание с историей изменения для пользователя выглядит более громоздко, с ним сложнее работать. Преимущество ведения штатного расписания с историей изменения – возможность быстро оценить, какое количество ставок конкретной должности имеется на предприятии на определенную дату.
Если в штатном расписании оклад по должности задается не конкретной суммой, а в диапазоне сумм, например, от 30 000 до 36 800 рублей, тогда необходимо установить флажок «Использовать «вилку» окладов и надбавок».
Рис.12 Использовать «вилку» окладов и надбавок
Далее необходимо сделать еще одну настройку для кадрового учета, установив флажок «Вести воинский учет».
Рис.13 Применить настройки
Если мы закроем окно и через какое-то время захотим возобновить настройку, то открыть эту обработку сможем только через меню «Все функции». В «Главное меню-Сервис-Параметры» поставить галочку «Отображать команду «Все функции».
Рис.14 Главное меню-Сервис-Параметры
Рис.15 Отображать команду «Все функции»
Не путайте «Главное меню» и раздел программы «Главное» (он подчеркнут красной линией, а «Главное меню» обозначено красным кружочком).
Рис.16 Не путайте «Главное меню» и раздел программы «Главное»
В меню «Все функции» можно вызвать обработку «Начальная настройка программы».
Рис.17 Начальная настройка программы
В процессе дальнейшей настройки программы мы создаем виды начислений и удержаний, используемых на нашем предприятии.
Это самое удобное отличие программы ЗУП 3.1 от предыдущей версии 2.5. В ЗУП 2.5 необходимо было самостоятельно создавать новые начисления и удержания, при этом настраивать их налогообложение и вытеснение другими видами расчета.
В современной версии программы пользователь поставит «галочки» в «Настройке» и все виды расчетов будут созданы автоматически и настроены согласно налоговому и трудовому законодательству. Если в нашей организации сотрудники будут ездить в командировки, им будет начисляться премия, а также надбавки за вредность и за выслугу лет – поставим флажки согласно этим условиям.
Рис.18 Начальные настройки программы
Рис.19 Надбавки
Рис.20 Командировки
Если у нас будет начисляться заработная плата «сдельно», мы будем производить доплаты за праздничные и выходные дни, выплачивать сотрудникам материальную помощь, а также регистрировать невыходы, прогулы и простои – поставим соответствующие флажки.
Рис.21 Доплаты за праздничные и выходные дни
Рис.23 Матпомощь
Флажки для удержаний по исполнительным листам и профвзносам.
Рис.24 Флажки для удержаний по исполнительным листам и профвзносам
На этом настройка инструментария решения закончена и можно вносить данные.
Рис.25 На этом настройка инструментария решения закончена и можно вносить данные
Все еще в рамках первоначальной настройки также можно заполнить должности, подразделения и даже выполнить первый расчет заработной платы.
Рис.26 Штатное расписание
Рис.27 Первый расчет заработной платы
Во-вторых, выполняются настройки учетной политики организации. Помощник нам сразу предложит выполнить их, если мы ранее укажем, что учет у нас будет проводиться для одной организации. Если же у нас будет несколько организаций, то помощник выполнит общие настройки, а учетную политику для каждой организации мы позже настроим уже самостоятельно в меню «Настройка-Организации», открыв организацию и перейдя на закладку «Учетная политика».
Рис.29 Настройка-Организации
Рис.30 Учетная политика
Рис.31 Помощник сформирует нам состав начислений и удержаний
Внедрение 1С:ЗУП
Внедрим комплексный функционал для управления персоналом, кадрового учета и расчета зарплаты
Настроим параметры учета в 1С:ЗУП
Оперативно настроим параметры учета под специфику вашей работы. Первая консультация бесплатно!
Рис.32 Масштаб изображений
Рис.33 Изменение масштаба
Таким образом, мы рассмотрели все настройки основных параметров как с использованием помощника, так и «вручную». Если у вас остались вопросы по настройке программы, вы можете задать их нашим специалистам, которые ответят на ваши вопросы, а также подберут для вас в случае необходимости оптимальную стоимость сопровождения 1С, исходя из ваших задач и индивидуальных требований.
Читайте также: