Администрирование 1с 8.3 с нуля для начинающих. Администрирование серверов1С предприятие. Изучение предметной области автоматизации

  • Программирование
  • Предисловие

    Данная статья посвящена ИТ-специалистам нулевого уровня владения, как платформой 1С, так и конкретными стандартными конфигурациями. Данная статья должна ответить на вопрос: «С чего начать?»

    Мой личный путь к 1С был своеобразным. Будучи программистом аналитического модуля товароучетной системы (писал на vb6), я время от времени брал работу системного администратора, а если точнее, то выполнял функции эникейщика. На четвертом году работы я остался один из старого состава ИТ-отдела, и отвечал за сеть из 60 ПК и 5 серверов. Сеть построил максимально отказоустойчивой (ввиду своей лени, даже все ПО устанавливалось как управляемое, при добавлении ПК в группу безопасности), делать стало нечего. Куда дальше? Навыки первичных обязанностей в организации не были забыты, по этому были внедрены два проекта на VB.NET и C# используя платформу.NET. Примерно в это время начал писать небольшие отчеты для конфигурации «управление торговлей» на платформе 8.1
    Я не буду указывать где читать, я буд говорить, что искать для прочтения.

    Кто такие 1С программисты?

    Наверное часто можно услышать, что 1Эсники не программисты. Забавно конечно, но был такого же мнения, когда мне – системному администратору 1С-программист приносил флэшку с вирусами. В моей голове не укладывалось, что ИТ-специалист может себе позволить такую роскошь, как вирусы на flash накопителе. Позже мне стало понятно, что оббежав 2-3 организации и скопировав им новые отчеты, то flash накопитель нужно обязательно чистить. А вообще, бывает, что и программистов других платформ назвать программистами сложно. Разные платформы? Язык программирования на русском языке? Это же всего лишь синтаксис и возможности платформы, о которых, ты, либо знаешь, либо нет, а если и знаешь, то, либо умеешь с ними работать, либо не умеешь. А теперь я осмелюсь классифицировать 1С программистов и разделить их на три категории:
    • Бухгалтера
    • 1С программисты определенной предметной области
    • «Программисты»
    Первая категория хоть и относится к конкретной предметной области, но я все же выделил их в отдельную категорию. Что самое интересное, то эта категория часто даже ничего не пишет. Да, они могут написать, но зачем? Их нанимают организации в бухгалтерию перед закрытием месяца тогда, когда бухгалтерия имеет общий низкий уровень компетенции своей предметной области. Да, эти программисты знают бухгалтерский учет. Не думаю, что читатель данной статьи, задавшийся вопросом: «С чего начать?», попадет в первую категорию, хотя всякое бывает, может лет через 10, то вполне возможно.
    Я не могу описать первую категорию программистов, не процитировав Андрея Орлова и его «записки автоматизатора». Он пишет:
    Я, например, вполне прилично разбираюсь в технологиях склада, магазина и оптовых продаж, то есть свободно владею менеджерским, складским, программистским и русским языками. На этих языках я понимаю их носителей, могу сформулировать свои мысли и, самое главное, думать сам. А вот бухгалтерский язык для меня – иностранный. Я понимаю написанное на нем другими, если напрягусь, и сам могу написать шаблоны проводок для хозяйственной операции, но у меня не могут появиться идеи на этом языке.
    И он приводит пример такой идеи:
    Нам не нужна отдельная система контроля исполнения поручений, все можно сделать в модуле „Бухгалтерия“ нашей системы: когда поручение дается, датой отчета по поручению делается проводка на штраф ответственному, а если он поручение случайно выполнит, то проводка сторнируется.
    Для того, что бы стать программистом из первой категории нужно знать бухгалтерский учет и точка, остальное синтаксис, гугл и креативность.
    Вторая категория – это программисты знающие конкретные конфигурации, а точнее конкретный вид учета: складской, общепит, производство. Думаю тот, кто прочитав статью, будет работать в этом направлении должен стремиться именно в эту категорию (не забыв конечно, пройти третью категорию). Собственно тут решает опыт, опыт работы с конкретной конфигурацией и работы в определенной предметной области. Если вы системный администратор и в вашей организации есть такие конфигурации, то вам пора начинать.
    Третья категория. Как говориться: «Добро пожаловать». Тут мы будем клепать формочки, строить отчеты, которые работают несколько часов, будем делать умное лицо и напрягать сервера гугла.

    Чего ожидать?

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

    Быстрый старт

    Администрирование 1С баз
    Для того, что бы начать тренироваться писать код, вы должны уметь создать хотя бы файловую базу данных.
    • Нужно понимать четко, что такое платформа 1С и что такое конфигурация 1С, версии есть, и у платформы, и у конфигурации
    • Различия файлового и серверного режима работы. Попробовать создать базы обоих типов
    • Попробовать почитать и понять различия режимов конфигурации «Обычного приложения» и «Управляемого»
    Знакомство с основными объектами
    В сети много ресурсов, где можно почитать, посмотреть. На данном этапе будет достаточно ознакомиться с такими объектами как справочники, документы, регистры сведений и регистры накопления. Не надо пугаться, это все обычные таблицы, которые имеют разные свойства и методы, для удобства решения определенного круга задач автоматизации. Не надо забывать, что 1С язык – проблемно-ориентированный язык.
    Изучение языка запросов
    На данном этапе я бы посоветовал отойти от 1С и начать изучать SQL. Тут надо понимать, мало изучить операторы, нужно уметь ими пользоваться. Я бы посоветовал пройти обучающий этап на sql-ex.ru, ну или хотя бы процентов 50.
    Изучение предметной области автоматизации
    Тут два пути, пойти изучать систему, которая внедрена у вас в организации, но есть второй, о нем в заключении. Если у вас склад, то ходите задавайте вопросы, как двигается товар, какие документы используются. Если есть документация от внедренцев системы – это очень хорошо, читайте. Сделайте себе базу для тестов, пытайтесь выполнить задания.

    Заключение

    На написание данной статьи побудили вопросы от системных администраторов, а именно один и главный вопрос: «С чего начать?» Также я сделал несколько видео для автоматизации системными администраторами своей собственной предметной области. Самое простое научиться автоматизировать предметную область, которую ты знаешь, я попытался показать на видео, как это сделать. Есть еще и четвертая категория 1С программистов, но об этом пойзже…

    Видео

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

    • Файловый - 1С устанавливается только на один компьютер, работать с базами данных не может ни один менеджер. Этот вариант подходит для малых компаний с небольшим торговым оборотом.
    • Клиент-версия. В работе с 1С задействована система пользователей, базы данных расположены на одном компьютере, с которым связаны все остальные. Вариант работы имеет трехуровневую архитектуру, состоящую из клиентского приложения, сервера 1С Предприятия и баз данных в формате MS SQL Server или PostgreSQL. В этом случае применяется администрирование серверов 1С, чтобы обеспечить правильную настройку.

    Консоль администрирования серверов 1С: основные функции

    У сервера 1С отсутствует встроенный интерфейс для осуществления администрирования, поэтому используется консоль. Она входит в стандартный пакет поставки соответствующей версии 1С Предприятия. Эта стандартная утилита устанавливается на каждый локальный компьютер, при этом базы данных могут размещаться здесь же или на удаленном сервере.

    При помощи консоли для администрирования сервера 1С Предприятия можно решить следующие задачи:

    • Вносить изменение в функционирование сервера, создавать новые, удалять ненужные. На них можно размещать базы данных, определять взаимодействие между различными пользователями.
    • Создавать администраторов. Это пользователи, которые имеют права доступа для внесения изменений серверов. Каждый администратор может управлять только закрепленным сервером. Если не добавить ни одного администратора, администрированием сервера 1С может заниматься любой зарегистрированный пользователь.
    • Создание рабочих процессов кластера 1С. Добавление рабочих процессов позволяет оказывать влияние на производительность конкретного пользователя в системе. В свойствах можно установить максимальное значение производительности (до 1000). Запускаемые сеансы присоединяются к процессу с максимальной производительностью. Систематически система самостоятельно проводит анализ и перераспределяет эти значения для оптимизации.
    • Создание баз данных в 1С Предприятии. Можно установить возможность подключения к ней пользователей или разрешить работу только локально.
    • Принудительное завершение сеансов. Иногда сообщение сервера информирует о том, что под указанным именем пользователя уже производится работа. Система не всегда самостоятельно прекращает этот процесс, поэтому администрирование позволяет принудительно завершить сеанс для любого пользователя.

    Как начать работу в 1С?

    Клиентское приложение 1С Предприятия - это пустая платформа. Чтобы она начала функционировать, необходимо выполнить несколько последовательных действий:

    • Инсталлируется консоль. Она позволяет осуществлять последующее администрирование серверов 1С.
    • Создание Центрального сервера. После на его основе можно создавать подотчетные ему структуры. Для этого при помощи контекстного меню вводится имя, используемый протокол, номер применяемого для связи порта.
    • Создание кластера. В этом случае также поможет контекстное меню. Необходимо заполнить запрашиваемую информацию (имя кластера, используемого компьютера, порт для соединения, не обязательно совпадающий с портом, указанным ранее).
    • Создание информационной базы данных. В соответствующей ветке необходимо также воспользоваться контекстным меню. В нем вводятся требуемые параметры (наименование, описание, тип соединения, место дислокации, тип СУБД, имя пользователя и его пароль). После подтверждения правильности введенных данных база создана. Теперь в нее можно вносить необходимые данные.

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

    Администрирование профессионалами: основные преимущества

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

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

    Администрирование платформы 1С, выполняемое профессиональными специалистами, имеет ряд преимуществ:

    • Правильная настройка системы, которая позволяет гарантировать 1С адекватную работу, без технических сбоев.
    • Постоянное внесение изменений, контроль безопасности. Деятельность компании динамична, она ставит перед автоматизированной системой новые задачи для принятия управленческих, стратегических решений.
    • Установка новых модулей, правильное распределение прав доступа, создание подсистем. Особенно важно для крупных компаний, имеющих филиалы, удаленные подразделения.
    • Контроль загруженности системы, распределение нагрузки на разные серверные компьютеры.

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

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

    Система программ "1С:Предприятие 8.0" включает в себя технологическую платформу и прикладные решения, разработанные на ее основе, методологию и методическую поддержку.

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

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

    " Конфигуратор " - это один из режимов запуска системы "1С:Предприятие". Он используется как средство для администрирования, отладки, разработки и поэтому пользователи, а также прочие разработчики могут самостоятельно разрабатывать и настраивать конфигурации.

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

    Варианты работы системы

    Традиционно для линейки 1С:Предприятие, рассматриваемая система поддерживает два варианта работы: файловый и клиент-серверный. При этом можно полностью перенести конфигурацию и данные с одного варианта на другой при помощи выгрузки информационной базы в файл и загрузки из него. Для работы клиент-серверного варианта используется SQL сервер компании Microsoft.

    Файл - серверный вариант

    Файловый вариант работы предназначен для локальных однопользовательских информационных баз и сетевых баз с небольшим количеством пользователей и объемом информации.

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

    Клиент - серверный вариант

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

    В клиент-серверном варианте работы системы 1С:Предприятие 8.0 используется 3-х уровневая архитектура. Как и в файловом варианте, конфигурация и данные хранятся в единой информационной базе, только расположенной на SQL сервере. При работе такой системы, кроме сервера SQL и клиента 1С:Предприятия, вводится дополнительное программное звено - сервер 1С:Предприятия (сервер приложения), представляющее собой сервис в среде Windows NT / 2000 /2003 и средства его настройки. Особенно стоит отметить полное отсутствие файловых составляющих информационной базы, что позволяет увеличить надежность хранения и защищенность информации.

    Важным аспектом новой архитектуры клиент-серверной системы является возможность исполнения кода на стороне сервера 1С:Предприятия, а не только на клиенте. Такой подход позволяет разгрузить клиентскую часть при исполнении кода.

    • Tutorial

    Дисклеймер


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


    Предисловие


    Сначала я просто хотел написать небольшую статью о том, как мы разносили базы по службам, но в ходе углубления в этот процесс мы добавляли всякие разные штуки (мониторинг служб, потом мониторинг пользователей внутри 1С, потом прикрутили заббикс, и, наконец, пришли к CI/CD на базе 1С). В итоге я понимаю что пихать это в одну статью будет слишком - решил разделить на несколько. Ну а название навеяно циклом статей "сети для самых маленьких", которые принесли мне много приятных минут и к которым я отсылаю всех, кто "хочет изучить сети". Итак, мы приступаем!


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


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


    Какие у нас были сложности:

    1. Подвисшая база тянула за собой перезапуск службы, а значит страдали невинные (пользователи других баз)
    2. Было тяжело понять кто сегодня "герой дня" - какая база заняла все ресурсы
    3. Обновление релизов - обновление одной тянуло за собой автоматическое обновление всех баз на этой службе
    4. Ручное подключение баз пользователям, ручное изменение в случае переездов
    5. Мониторинг
      И только сейчас я понимаю что это была только вершина айсберга...

    Акт первый, действие нулевое

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

    1. Старые версии 1С (до 8.3.11+) имеют просадку по производительности при работе в виртуализированной среде. (Источник - Гилев и собственные тесты)
    2. Кластер есть, но с ним все крайне не просто. Возможно его доработают потом, но пока он в основном для галочки. (источник - собственный опыт)
    3. При выборе процессора смотрите только на частоту . Процессор в 6 ядер по 3,4Ггц порвет в куски процессор на 20 ядер по 2Ггц. Проблема в том, что 1С вообще ничего не знает про параллельные вычисления. По сути это работает так - у нас есть определенное число воркеров для каждой службы, их раскидывают по процессорам, и если в каком то воркере пользователь запустил какой-то тяжелый отчет то в системе будет загружено только одно ядро процессора. Именно то, на котором работает воркер с запущенным заданием… Для БД ситуация кстати ровно обратная. (источник - Гилев, собственный опыт, опыт коллег)
    4. Не используйте логи в "новом" формате (запись в SQLLite) - вы очень быстро столкнетесь с тем, что производительность этого решения еще хуже чем файлового варианта. (Источник - собственный опыт, опыт коллег).
      По подсказкам из комментариев есть вариант вынести логи на отдельный инстанс.
      В 8.3.12 обещали логи в нормальный скуль!!!
    5. 1С оооочень не любит IPv6. На всех серверах с 1С лучше сразу понижать приоритет IPv6 до минимума. (Источник - Гилев, собственный опыт)
    6. Используйте для виртуальных серверов виртуальные сетевые карточки E1000. С остальными проблема по производительности (Источник - Гилев, но на собственном опыте не подтвердилось, хотя особо и не тестили)
    7. Обслуживание баз дает хороший прирост производительности, особенно периодический пересчет итогов, а так же обслуживание индексов SQL (Источник - собственный опыт, Гилев)
    8. Поиск причин падения 1С сродни поеданию неочищенного кактуса. Выяснить что-то толком можно только через боль, унижения и страдания. (Источник - собственный опыт)
    9. Нет ни одного официального образа ни под один гипервизор. Про докер я вообще молчу. (Источник - сайт 1С)
    10. Программная лицензия для сервера привязывается к - сюрприз, сюрприз - серийному номеру процессора (и еще огромному количеству параметров сервера). В эпоху повсеместной виртуализации ход потрясающий. Поясняю - активировали сервер, переехали на другую ноду, перезагрузили машину - 1С не запуститься. Расчехляйте новый активационный код. (Источник - собственный опыт, болтливая техническая поддержка 1С =))
    11. 1С - это учетная система, а не отчетная. Хотите много нормальных жирных отчетов и быстро - выводите это за рамки 1С. (Источник - собственный опыт)
    12. У 1С есть два неоспоримых достоинства, за счет которых она будет процветать еще долго:
      • стоимость самого продукта/разработчиков
      • скорость разработки
        и к сожалению для российского бизнеса они являются первоочередными. А зачастую и единственными, на что вообще смотрят. (Источник - печальная реальность)
    13. Никогда не используйте файловую шару как место под хранилище конфигураций 1С. Только службу. Иначе маты со стороны разработки о упавшем черт знает когда хранилище станут вашим неизменным спутником по жизни. (Источник - собственный опыт, опыт коллег)

    Акт первый, действие первое

    Первая короткая сценка из корпоративной жизни


    На сцене - Админ (А), программист 1С (П1С) и представитель бизнеса (ПБ)
    ПБ - У нас медленно работает программа!
    А - у меня в системе все хорошо!
    П1С - я все написал правильно, у меня на компьютере все работает быстро!
    ПБ (робко и растерянно) - но она же долго…
    А и П1С хором - у нас все хорошо, проблема на вашей стороне!


    Проблемы всегда случаются не вовремя (с) (5-летний философ)


    И вот в одно прекрасное солнечное утро (на самом деле это была глубокая зимняя ночь) мы поняли что завтра надо запустить новую базу. Завтра наступал тот прекрасный день, который уже много раз описывался тысячами авторов и имя ему - легион! Тьфу, простите, занесло. Имя этому дню был дедлайн. Час ночи, завтра на 200 компах должна запуститься новая база." Да не проблема, у нас же все компы в домене! Сейчас быстренько сделаем логин-скрипт и дело в шляпе!" подумаете вы. И будуте правы - так же подумали и мы. И сделали. Только, как обычно это бывает, погорели на мелочи - я в логон-скрипте я прописал %filename%.bat а коллега выложил %filename%.cmd .


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


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


    В итоге мы пришли к следующей идеологии:

    • Все раздается через AD - создаются группы вида 1cbases-%версия платформы%-%имя базы% и туда силами хелпдеста добавляются пользователи, которым нужна база.
      • одна группа - одна база
      • 1cbases - это префикс по которому удобно искать группы
      • версия платформы 81, 82 и 83 (релиз не принципиален)
      • название базы соответствует имени файла с настройками
    • выделяется общая файловая шара где выкладываются все файлы с настройкой подключения к базам (одна база - один файл)
    • при блокировании компьютера вызывается скрипт, который считывает группы пользователя и на их основании добавляет пользователям нужные базы 1С

    Как мы это делали:

    1. Через групповые политики добавляется новое задание в планировщик (задача планировщика прописать пользователю путь к файлу подключения базы):
      • запускать от имени пользователя
      • событие - разблокировка компьютера
      • действие - запуск нашего скрипта
    2. Создаем нужные группы в АД и заполняем их пользователями
    3. Создаем нужные файлы для запуска самих 1С. Тут остановлюсь чуть поподробнее. Изначально мы долго мучили интернет своими запросами и нашли полное описание структуры файлов *.v8i. Но потом нашелся способ проще и гениальнее.
      • запускаем 1С
      • настраиваем подключение к базе
      • проверяем что все работает
      • кликаем правой клавишей по названию базы и выбираем пункт - "Сохранить ссылку в файл"


    Код скрипта:

    #Первым шагом создаем место для логов if (Test-Path "$env:HOMEDRIVE\!script_report\add_1c_bases_report.txt") { Remove-Item "$env:HOMEDRIVE\!script_report\add_1c_bases_report.txt" -Force -ErrorAction SilentlyContinue; } New-Item "$env:HOMEDRIVE\!script_report\add_1c_bases_report.txt" -ItemType file -Force -ErrorAction SilentlyContinue; Add-Content -Value ("Дата последнего запуска: " + (Get-Date -Format F)) -Path "$env:HOMEDRIVE\!script_report\add_1c_bases_report.txt"; if ((gwmi Win32_OperatingSystem | select Caption, CSDVersion) -notlike "*server*") # запрет запуска на серверных ОС { Add-Content -Value "Операционная система распознана как клиентская" -Path "C:\!script_report\add_1c_bases_report.txt"; if (!(Test-Path "$env:APPDATA\1C\1CEstart\ibases.v8i")) #если нет этого файла 1С подтягивает данные из списка баз 8.1 и игнорирует список баз 8.2 { New-Item "$env:APPDATA\1C\1CEstart\ibases.v8i" -ItemType file -Force; # Создаем этот файл если его нет Add-Content -Value "Файл $env:APPDATA\1C\1CEstart\ibases.v8i не найден, создали его" -Path "C:\!script_report\add_1c_bases_report.txt"; } if (Test-Path "$env:APPDATA\1C\1CEstart\1CEStart.cfg") { Remove-Item "$env:APPDATA\1C\1CEstart\1CEStart.cfg" -Force #-ErrorAction SilentlyContinue #удаление старого конфигурационного файла для 8.1 } New-Item "$env:APPDATA\1C\1CEstart\1CEStart.cfg" -ItemType file -Force #создание нового конфигурационного файла для 8.2 $GroupList = ("samaccountname=$($env:USERNAME)").Findone().Properties.memberof -replace "^CN=([^,]+).+$","$1" # Создание списка групп пользователя foreach ($Group in $GroupList) # генерация списка общих баз на основе имени группы { if ($Group.Length -gt 6) # Проверка длины имени группы { If ($Group.Substring(0,7) -eq "1cbases") # вычисление группы указывающей на базу 1С { Switch ($Group.Substring(8,2)) # выбор платформы 8.1 или 8.2 { "81" {Add-Content "$env:APPDATA\1C\1Cv81\ibases.v8l" -Value ("\\gold585.int\TechFiles\CommonBases\" + $Group.Substring(11) +".v8i")} # Создание строчки из файла со списком общих баз для 8.1 "82" {Add-Content "$env:APPDATA\1C\1CEstart\1CEStart.cfg" -Value ("CommonInfoBases=\\gold585.int\TechFiles\CommonBases\" + $Group.Substring(11) +".v8i")} # Создание строчки из файла со списком общих баз для 8.2 "83" {Add-Content "$env:APPDATA\1C\1CEstart\1CEStart.cfg" -Value ("CommonInfoBases=\\gold585.int\TechFiles\CommonBases\" + $Group.Substring(11) +".v8i")} # Создание строчки из файла со списком общих баз для 8.3 } Add-Content -Value ("Пользователь принадлежит групп $Group") -Path "C:\!script_report\add_1c_bases_report.txt"; Add-Content -Value ("Добавлено значение: CommonInfoBases=\\gold585.int\TechFiles\CommonBases\" + $Group.Substring(11) +".v8i") -Path "C:\!script_report\add_1c_bases_report.txt"; } } } } else { Add-Content -Value "Операционная система распознана как серверная" -Path "C:\!script_report\add_1c_bases_report.txt"; }


    Что получили:

    1. Добавление баз теперь не было морокой - просто делали группу, добавляли файл с настройками - дальше все происходило автоматом
    2. Могли спокойно переносить базы куда угодно, просто меняя конфигурацию в файле с настройками подключения к базе (как показала практика - очень удобно)
    3. Сберегли обувь хелпдеску

    Акт первый, действие второе

    Вторая короткая сценка из корпоративной жизни


    На сцене - Админ (А), программист 1С (П1С), разговор после ухода представителя бизнеса
    А - Ваш этот 1С - $#%но!!! Сколько можно решать железом проблемы архитектуры и уровня разработчиков!
    П1С - да это ваши сервера #$@но! У меня на локальной файловой базе все летает! Настройте уже ваше хозяйство по нормальному!
    Спорщики удаляются со сцены сыпля взаимными обвинениями, опускается занавес, свет гаснет.


    И с этой стороны ни чуть не лучше… (с) печальный ослик Иа-Иа в свой собственный день рождения


    Вот представьте себе - сидите вы в удобном кресле, в одной руке чашка вкусного чая, в другой пышущая жаром и свежестью булочка из кулинарии ближайшего магазина, за окном приятно пахнет весной… И это, конечно же, самое подходящие время для звонка с проблемой! Коллега - Байконур, у нас %@па!


    Я - я так понимаю что стадию Хьюстона с проблемами мы уже успешно пролетели?
    Коллега - да. База %имя базы% подвисла, вообще не отвечает, ТОПы уже рвут и мечут. 3 раза мне уже звонили. Надо перезагружать службу.
    Я - так там же еще пачка баз на этой службе!!!
    Коллега - да, поэтому вторая половина ТОПов тоже рвет и мечет что их отключат...


    В итоге конечно все согласовали, перезапустили, но осадочек остался.


    Идеология:

    1. В продуктовой среде мы должны следовать правилу - одна база - одна служба с разнесением по портам
    2. Запускаться службы должны исключительно из-под доменных учеток. Одна служба - одна учетка. Это удобно для раздачи прав на шары, доступ в скуль и прочее. Так же, если у вас внедрена RBAC то вы можете очень оперативно посмотреть куда имеет доступ конкретный экземпляр 1С
    3. Логи нужно вынести на отдельный диск и включить на эти папки сжатие (при разбитии по дням это очень сильно экономит место и ускоряет (незначительно) поиск по логам)
    4. Каждой службе выдается alias в DNS для того, чтобы отвязать разработку от ip и/или dns сервера (в этом случае разработка вообще не волнуется на предмет того, где фактически находится сервер - физика, виртуальная машина в приватном облаке или вообще в публичном облаке)
    5. На каждую службу мы выделяем 500 портов для пользовательских соединений (наше внутреннее решение)

    Как мы это делали (для нового сервера. для уже существующего часть шагов не актуальны):

    1. Создаются учетки под каждую службу
    2. На машине, где они будут работать им выдаются права на "запуск как службе"
    3. Ставиться MS офис, обязательно с активацией по MAK-ключу
    4. Ставится sqlncli - утилита из набора MS SQL Native Client. На данный момент выше 2012 не появлялось
    5. Создается папка C:\Windows\SysWOW64\config\systemprofile\Desktop - в противном случае есть проблемы с выгрузками в Word/Excel
    6. Для Windows 2016 и 1С 8.1 нужно скопировать старую версию dll (В папке C:\Program Files\Common Files\System\Ole DB надо заменить два файла sqloledb.dll и sqloledb.rll взятых со старых серверов)
    7. Ставятся дополнительное ODBC драйверы, если нужно подключатся к MySQL/PostgreSQL

    Настройка папки для службы и логов:

    1. Создается папка на отдельном диске называется в формате 1CServer %basename% (в стандартном случае это делает сама служба, ибо у нее есть в настройках запуска путь к логам)
    2. Если внутрь каталога только что созданной службы переносятся данные из другого каталога (другой службы, другого сервера), то необходимо заменить владельцев (иначе служба не получит к ним доступа) с заменой владельца подконтейнеров
    3. Владельцем папки делается учетная запись службы

    Описание настройки службы

    @echo off chcp 1251 установка кодировки set base=%base_name% название базы без пробелов на английском – для каталога с логами set dsce=%base name% название базы с пробелами на английском – для имени службы set dscr=%Имя базы% название базы на русском – для представления службы set sver=8.3 краткая версия – для имени и представления службы set fver=1cv8\8.3.9.2170 часть пути к нужной нам версии платформы 1С set port=8040 управляющий порт set regp=8041 основной порт set rnge=8060:8491 диапазон портов для службы set name="1C:Enterprise %sver% Server Agent (x86-64) %dsce%" имя службы (для реестра) по аналогии с типовыми, только добавляется название базы для уникальности названий set bpth=\"C:\Program Files\%fver%\bin\ragent.exe\" -srvc -agent путь к исполняемому файлу для запуска службы set logs=D:\1C_Server_%base% каталог для логов set user="%login%@%domain_name%" такой формат позволяет использовать логины длиннее 20 символов пароль нигде не указывал при создании, потому что потом всё равно надо его заново указать, только тогда у пользователя будут права на запуск служб; set view="Агент сервера 1С:Предприятия %sver% (x86-64) %dscr%" представление службы в оснастке sc create %name% binPath= "%bpth% -regport %regp% -port %port% -range %rnge% -d \"%logs%\"" type= "own" start= "auto" error= "severe" depend= "Tcpip/Dnscache/lanmanworkstation/lanmanserver" obj= %user%DisplayName= %view% тут: type= "own" – тип службы, какие бывают еще сам посмотри start= "auto" – автоматический запуск error= "severe" – не помню что значит, но устанавливает правильное значение ключа в реестре ErrorControl = 2 depend= "Tcpip/Dnscache/lanmanworkstation/lanmanserver" – зависимости (на четвертой вкладке указаны, вручную не настраиваются) sc description %name% %view% задает представление в оснастке, сразу при создании не указывается sc failure %name% reset= 0 actions= "restart/0" настройка на вкладке восстановление – перезапуск во всех случаях, через 0 минут; сброс счетчика через 0 дней То же самое без комментариев: @echo off chcp 1251 set base=%base_name% set dsce=%base name% set dscr=%Имя базы% set sver=8.3 set fver=1cv8\8.3.9.2170 set port=8040 set regp=8041 set rnge=8060:8491 set name="1C:Enterprise %sver% Server Agent (x86-64) %dsce%" set bpth=\"C:\Program Files\%fver%\bin\ragent.exe\" -srvc -agent set logs=D:\1C_Server_%base% set user="%login%@domain.company" set view="Агент сервера 1С:Предприятия %sver% (x86-64) %dscr%" sc create %name% binPath= "%bpth% -regport %regp% -port %port% -range %rnge% -d \"%logs%\"" type= "own" start= "auto" error= "severe" depend= "Tcpip/Dnscache/lanmanworkstation/lanmanserver" obj= %user% DisplayName= %view% sc description %name% %view% sc failure %name% reset= 0 actions= "restart/0"


    1. Для того, чтобы в службах не было кроказябр
      • в cmd ввести команду chcp 1251
      • файл надо сохранить в ANSI кодировке
    2. Обязательно надо проверить на отсутствие дублирующих ключей в строке запуска - служба с ними не стартует!!!
    3. Для того, чтобы удалить службу, можно воспользоваться командой - sc delete «Имя заданное в переменной name»
    4. Добавить порты используемые 1С в разрешения в firewall
    5. Нужен всего один физический ключ на сервер - все службы будут активироваться им

    После проведения всех мероприятий в итоге мы пришли к:

    1. Базы можно спокойно перезагружать, не трогая другие базы
    2. Всегда можно найти "героя" - базу, которая съедает все ресурсы
    3. Любые работы с базой касаются только одной конкретной базы

    В следующих статьях я планирую рассказать (если эта статья народу зайдет):

    • как мы перевели авторизацию в MSSQL на kerberos и вообще оптимизировали доступы
    • как мы сделали мониторинг служб - кто сколько занял ресурсов
    • как мы сделали мониторинг внутри службы 1С выявления блокировок пользователями быстрее, чем они позвонят
    • как мы пытались внедрить CI для 1С и что из этого вышло

    UPD. Дополнил кое-что по комментариям

    Теги: Добавить метки

      вся информация в одном месте


      Получите четко структурированную, комплексную, выверенную до идеала информацию о системном администрировании 1С от настоящих профессионалов своего дела.

    ______________________

    От новичка до профессионала

    ______________________

    Что такое администрирование 1С?

    ______________________

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

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

    ______________________

    В целом:

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


    В частности:
    о различиях между платформой 1С и конфигурацией 1С;
    о ручном и автоматическом обновлении конфигураций (как типовых так и не типовых);
    о том, как создавать пользователей 1С и назначать им права;
    о видах и типах лицензий 1С с примером настройки hasp license manager;
    о работе 1С через веб-браузер;
    о файловой и клиент-серверной архитектуре 1С на Windows и Linux;
    о выборе СУБД для клиент-серверной архитектуры 1С;
    о балансировки нагрузки на серверах 8.3 и 8.2;
    о реализации отказоустойчивого кластера на 8.2;
    о резервном копировании баз данных.

    и кроме того, в процессе изучения 1С, вы научитесь базовому системному администрированию не только Windows, но и Linux. Мы будем настраивать контроллер домена и создавать пользователей, работать с виртуальными машинами и Hyper-V, устанавливать веб-сервера Apache и IIS, работать с групповыми политиками, производить административную установку 1С, настраивать сетевые интерфейсы в Linux и многое другое!

    Вы овладеете практическими навыками и сможете:

    ______________________


    1) Устанавливать платформу 1С как в ручном режиме, так и в автоматическом (сразу на множество компьютеров в вашей организации), с помощью доменной структуры и без неё.

    2) Создавать базу в 1С как на основе шаблонов, так и чистую базу без конфигурации.

    3) Выполнять обновление баз в автоматическом и ручном режимах.

    4) Создавать пользователей и назначать им права в самой 1С.

    5) Исправлять ошибки запуска информационных баз данных.

    6) Определять наиболее удобную для конкретных задач схему лицензирования 1С, настраивать лицензии в 1С.

    7) Предоставлять доступ к локальным базам через веб-браузер для удаленных пользователей.

    8) Подготавливать среду для разработки конфигурации сразу многими пользователями.

    9) Устанавливать сервер 1С на Windows и Linux.

    10) Выбрать именно ту СУБД, которая наиболее подойдет под нужды вашей организации.

    11) Конвертировать обычные файловые базы в клиент-серверные.

    12) Создавать отказоустойчивые кластера средствами 1С.

    13) Осуществлять балансировку нагрузку на сервер как в пределах одного кластера, так и между двумя независимыми.

    14) Осуществлять резервное копирование баз данных в файловой и клиент-серверной архитектуре.

    15) Выбрать наиболее оптимальное серверное оборудование для задач вашей организации.

    16) Выбрать из множества архитектур 1С именно ту архитектуру, которая позволит решить ваши конкретные задачи.

    А так же:

    17) Разворачивать виртуальную машину Hyper-V и устанавливать на неё Windows Server, Windows 7 и Linux;

    18) Превращать Windows Server в контроллер домена и вводить другие операционные системы в домен;

    19) Настраивать Linux для работы с 1С

    Сможете ответить на следующие вопросы:

    ______________________


    1. Какую выбрать архитектуру – файловую или клиент-серверную?

    2. Какая СУБД самая лучшая – PostgreSQL, MS SQL Server, IBM DB2, Oracle или DBF?

    3. На чем лучше будет работать 1С – на Windows или Linux?

    4. Что делать, если количество пользователей переваливает за 100, 1С тормозит и пользователи бесконечно жалуются?

    5. Какую схему лицензирования использовать – однопользовательскую или многопользовательскую? Программную или аппаратную? Выдавать лицензии сервером 1С или с помощью Hasp License Manager?

    6. Будет ли информационная база корректно работать через веб-сервер?

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

    8. В каких случаях разносить сервер 1С и сервер СУБД на разные сервера?

    9. Стоит ли делать отказоустойчивый кластер на 8.3?

    10. Что такое агент сервера, менеджер кластера и рабочий процесс?

    ______________________

    Для того чтобы вам лучше понять, насколько качественен и эффективен наш материал, предлагаем ознакомиться (бесплатно!) с некоторыми материалами курса:

    Установка и обновление платформы 1С через групповые политики


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


    Добавление пользователей и назначение прав в 1С


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

    ______________________

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

    меню видеокурса, главная страница

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

    страница выбора раздела видеокурса

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

    страница выбора урока из третьего раздела видеокурса

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



    
    Top