Андрей Смирнов
Время чтения: ~17 мин.
Просмотров: 10

Производительность 1С в клиент-серверном варианте

1c83-server-prof-korp-000.png10 сентября 2019 года вступило в силу анонсированное ранее программное разделение пользовательских лицензий 1С:Предприятие 8 по уровням ПРОФ и КОРП. Нельзя сказать что это произошло неожиданно, данная информация появилась в конце февраля и доводилась до сведения пользователей в том числе и средствами платформы, которая выводила предупреждения при запуске информационной базы, но многие оказались не готовы к изменениям. Данная статья призвана помочь в этой ситуации и расскажет, как правильно выставить настройки, чтобы снова все заработало.

Прежде всего давайте разберемся, что такое лицензии уровня КОРП. Это новый тип лицензий на платформу, введенный еще в 2014 году и предусматривающий предоставление пользователю дополнительных возможностей, а именно:

  • фоновое обновление конфигурации базы данных;
  • дополнительное управление распределением по рабочим серверам кластера в разрезе информационных баз, видов клиентских приложений и фоновых заданий:
    • сервисов кластера;
    • соединений с информационными базами;
  • гибкое управление нагрузкой в кластере:
    • безопасный расход памяти за один вызов;
    • количество ИБ на процесс;
    • объем памяти рабочих процессов, до которого сервер считается производительным;
    • максимальный объем памяти рабочих процессов;
    • стратегия балансировки (по памяти, по производительности);
  • внешнее управление сеансами;
  • механизм управления потреблением ресурсов;
  • профили безопасности;
  • возможность обновления тонкого клиента с сервера;
  • возможность публикации списка баз и обновлений тонкого клиента через http;
  • возможность использования «1С:Сервера взаимодействия».

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

1c83-server-prof-korp-001-thumb-600xauto-10169.pngМы, в рамках этой статьи, не будем обсуждать обоснованность такого разделения, хотя, на наш взгляд, лицензии ПРОФ получились очень сильно ограниченными. Но выразим свое недоумение тем, что фирма 1С не предусмотрела легкой возможности перехода. Достаточно одной кнопки или пакетного файла в составе поставки конфигурации, которые бы возвращали настройки сервера 1С в состояние, соответствующее ограничениям лицензии ПРОФ, сколько неприятных моментов и простоев удалось бы избежать, не говоря о негативе в адрес фирмы. На худой конец можно было бы автоматически сбросить настройки на нужное состояние.

Но это еще не все. В ряде случаев данный переход способен оказаться бомбой замедленного действия. Это обусловлено двумя особенностями:

  • защита реализована начиная с версий 8.3.12.1852, 8.3.13.1791 и 8.3.14.1592 платформы;
  • до 10 сеансов включительно доступен полный функционал уровня КОРП;

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

Далее везде представлены настройки для платформы 8.3.13.1926, внешний вид и состав настроек других версий платформы, в частности 8.3.15 может отличаться, но настройки разделения функционала КОРП — ПРОФ это не затрагивает.

Настройки кластера

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

1c83-server-prof-korp-002.pngОграничениями лицензии ПРОФ являются:

  • Допустимое отклонение количества ошибок сервера, значение по умолчанию 0;
  • Режим распределения нагрузки, значение по умолчанию Приоритет по производительности.

Настройки сервера

А вот здесь все гораздо хуже, практически все возможности настройки сервера у пользователей ПРОФ забрали.

1c83-server-prof-korp-003.pngПод ограничения попали:

  • Максимальный объем памяти рабочих процессов, значение по умолчанию ;
  • Безопасный расход памяти за один вызов, значение по умолчанию ;
  • Объем памяти рабочих процессов, до которого сервер считается производительным, значение по умолчанию ;
  • Количество ИБ на процесс, значение по умолчанию 8.

Любые значения, отличные от значений по умолчанию, являются недопустимыми.

Столь жесткое ограничение вызывает самое большое количество нареканий, по сути пользователей ПРОФ лишили какой-либо возможности регулировать потребление ресурсов сервером, что больнее всего скажется на пользователях 32-битной версии сервера, в большинстве случаев им придется переходить на 64-битную версию с существенной доплатой.

Настройки информационной базы

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

1c83-server-prof-korp-004.pngВо всех информационных базах должны быть установлены следующие значения:

  • Внешнее управление сеансами — пустая строка;
  • Обязательное использование внешнего управления — флаг снят.

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

Настройки публикации на веб-сервере

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

1c83-server-prof-korp-005-thumb-600xauto-10177.pngПоэтому, если вы использовали обновления тонкого клиента с сервера или публикацию на веб-сервере списка баз, то от этих возможностей придется отказаться.

1c83-server-prof-korp-006.pngВ частности, это относится к настройкам Публиковать дистрибутив, которые не следует путать с опцией Публиковать тонкий клиент и веб-клиент, если вы снимите этот флажок, то подключение к базе тонким и веб-клиентом будет невозможно.

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

rphost.exe — это рабочий процесс 1С 8.3 (8.2), который обслуживает клиентские обращения и взаимодействует с сервером базы данных. rphost — важнейшее звено архитектуры 1С предприятия, которое берёт на себя достаточно большую аппаратную нагрузку. Таких процессов может быть большое количество, и они могут быть разнесены по разным машинам.

Очень часто администраторы жалуются на то, что rphost.exe «жрёт память» и сильно грузит процессор. Посмотреть, сколько в данный момент расходуется памяти, можно в обычном диспетчере задач:

dispetcher-zadach.png

Инструмент для администрирования рабочих процессов — утилита, входящая в поставку сервера 1С 8.2, называется Администрирование серверов 1С Предприятия (или консоль кластера):

Получите 267 видеоуроков по 1С бесплатно:

На платформе 1С 8.3 количеством рабочих процессов управляет кластер серверов самостоятельно.

Читайте также  — статьи для подготовки к экзамену 1С Эксперт.

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Оцените статью, пожалуйста!

Термины, понятия

Под понятием «кластер серверов» понимается несколько компьютеров (серверов) выполняющих общую задачу.

Задачи, решаемые кластером серверов 1С:Предприятие 8 на рисунке ниже.

 Зачем нужен сервер 1С

TaskApp.png

Под понятием «кластер серверов» понимается несколько компьютеров (серверов) выполняющих общую задачу.

Задачи, решаемые кластером серверов 1С:Предприятие 8 на рисунке ниже.

Разница между 8.1 и 8.2

version.png

Кластер 1С 8.1

Агент сервера

Менеджер кластера

Для взаимодействия с рабочими процессами Менеджер использует служебный порт.

Рабочий процесс

Кластер 1С 8.2

Кластер серверов 1C:Предприятие 8.2 – дальнейшее развитие технологий сервера 8.2.

Сервер может работать «как 8.1», т.е. в нем осталась совместимость с предыдущими технологиями.

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

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

Менеджер кластера

Менеджер кластера теперь стал сложнее. Часть функций теперь можно выделить в отдельный процесс и даже разместить на другом рабочем сервере кластера. Это позволяет балансировать загруженность сервера.

Отказоусточивость сервера 8.2 достигается за счет:

  • Хранение информации о сеансе  работы пользователя.
    • Пользователь не привязан больше к рабочему процессу.
  • Резервирование рабочих процессов в кластере.
    • Должно быть несколько рабочих процессов, в том числе резервируемые
  • Резервирование кластеров.
    • Указывается запасной кластер, при подключении — перечисляются в строке соединения

shema.png

Это позволяет обеспечить непрерывность работы:

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

Если требуется техническое обслуживание компьютеров кластера, их можно выключать прямо во время работы, не останавливая работу пользователей с информационной базой.При выходе из строя любого сервера кластера работа пользователей не остановится она будет автоматически переведена на резервный кластер и/или на резервные рабочие процессы. Для пользователей такой переход будет незаметным.Если один из рабочих процессов кластера завершится аварийно, подключенные к нему пользователи будут автоматически переведены на другие или резервные рабочие процессы. Такой переход также будет незаметен для пользователей.Для контроля расхода оперативной памяти используйте http://www.gilev.ru/memcontrol/

Кластер 1С 8.3

Сервер 8.3 характеризуется переработанным заново внутренним кодом, хотя «снаружи» может показаться что это слега доработанный 8.2.Сервер стал более «авто настраиваемым», часть параметров типа количества рабочих процессов теперь не создается вручную, а рассчитывается исходя из описаний требований задач по отказоуйсточивости и надежности.Снимок370.pngЭто снижает вероятность неправильной настройки сервера и понижает требования к квалификации админов.Получил развитие механизм балансировки нагрузки, который можно использовать либо для повышения производительности системы вцелом, либо использовать новый режим «экономии памяти», который позволяет работает «с ограниченной памятью» в случаи если используемая конфигурация «любит отъедать память».Снимок373.pngСтабильность работы при использовании больших объемов памяти определятся новыми параметрами рабочего сервера.Снимок376.pngОсобенно интересен параметр «безопасный расход памяти за один вызов». Для тех кто плохо представляет что это такое — лучше не тренируйтесь на «продуктивной» базе. Параметр «Максимальный объем памяти рабочих процессов» позволяет  при «переполнении» не обваливать весь рабочий процесс, а только один сеанс «с неудачником». «Объем памяти рабочих процессов, до которого сервер считается производительным» позволяет заблокировать новые соединения как только будет преодолен этот порог памяти.Рекомендую изолировать рабочие процессы по информационным базам, к примеру указать параметр «Количество ИБ на процесс = 1». При нескольких высоконагруженных базах это позволит уменьшить взаимное влияние как по надежности, так и по производительности.Отдельный вклад в стабильность системы вносит «расходование» лицензий/ключей. В 8.3 появилась возможность использования «менеджера программных лицензий» напоминая менеджер «аладина». Цель — возможность вынести ключ на отдельную машину.Реализован он в виде еще одного «сервиса» в менеджера кластера. Вы можете использовать к примеру «свободный» ноутбук.  Добавьте его в кластер 1с 8.3, создайте на нем отдельный менеджер с сервисом «сервис лицензирования». В ноутбук можно воткнуть аппаратных hasp-ключ, или активировать программные лицензии.Наибольший интерес для программистов должен представлять «Требования назначения функциональности».Снимок377.pngТак на ноутбуке с ключом защиты чтобы не запускать пользователей на сервер кластера  надо добавить «требования» для объекта требования «Клиентское соединение с ИБ» — «Не назначать», т.е.  запретить рабочим процессам данного сервера обрабатывать клиентские соединения.Еще больший интерес предоставляет возможность запускать «только фоновые задания» на рабочем сервере кластера без сеансов пользователей. Таким образом можно высоконагруженные задачи (код) вынести на отдельный машины. При чем можно одно фоновое задание «закрытия месяца» через «Значение дополнительного параметра» запускать на одном компьютере, а фоновое задание «Обновление полнотекстового индекса» на другом.Уточнение происходит через указание «Значение дополнительного параметра». Например если указать BackgroundJob.CommonModule в качестве значения, то можно ограничить работу рабочего сервера в кластере только фоновыми заданиями с любым содержимым. Значение BackgroundJob.CommonModule.<Имя модуля>.<Имя метода> — укажет конкретный код.

Решение возможных проблем с установкой

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

Проверьте совпадение портов, указанного в параметре port командной строки запуска сервиса агента сервера и заданного в диалоге параметров центрального сервера консоли кластеров:

— Остановите сервис 1C:Enterprise 8.1 Server Agent.

— Откройте свойства сервиса 1C:Enterprise 8.1 Server Agent.

  1. Ключ защиты серверной части устанавливается ЛОКАЛЬНО на каждый сервер предприятия
  2. Не задавайте учетную запись службы с пустым паролем
  3. При нескольких кластерах используемые порты не должны пересекаться

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

Ошибка 1069: служба не запущена из-за ошибки входа в систему
Ошибка 8007056B / 800708C5
Ошибка 1923: нет привилегий для установки сервисом
Ошибка 80070056
Windows Sockets — 11004(0х00002AFC)
(Windows Sockets — 10054(0x00002746).
 (Windows Sockets — 10060(0x0000274C)

Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. Сущность этой ошибки – отсутствие отклика в течении определенного времени (таймаута). 1) Убедитесь, что брандмауэр не блокирует трафик приложения. Выключите брандмауэр. Для этого в командной строке выполните команду (команда доступна начиная с Windows XP и Windows Server 2003, в более ранних версиях встроенного брандмауэра нет, однако может быть установлено стороннее ПО):netsh firewall set opmode disable Если команда будет выполнена успешно, вы получите сообщение:Ок. Кроме брандмауэра блокировать трафик могут сетевые фильтры. Они по умолчанию выключены. Тем не менее, убедитесь, что это так:

  1. Откройте папку «Сетевые подключения».
  2. Щелкните правой кнопкой мыши сетевое подключение, которое требуется настроить, и выберите команду Свойства.
  3. На вкладке Общие (для подключения по локальной сети) или на вкладке Сеть (для всех остальных подключений) выберите Протокол Интернета (TCP/IP) и нажмите кнопку Свойства.
  4. Нажмите кнопку Дополнительно.
  5. Откройте вкладку Параметры, выберите параметр Фильтрация TCP/IP и нажмите кнопку Свойства.
  6. Убедитесь,  что флажок Задействовать фильтрацию TCP/IP (все адаптеры) снят.
(Windows Sockets — 10061(0x0000274D)

Многоплатформенность 1С

Ответ тут.

Установка сервера

Q:Ошибка установки сервера 1с на MS Server 2008 R2 x64 При установке сервера 1с через командную строку, например такую, ragent.exe -instsrvc -port 2040 -regport 2041 -range 2060:2091 -d «C:Program Files1cv82 (взято с диска ИТС), в командной строке пишет сообшение: «Error! OpenSCManager error!» Сервис при этом не создается. Проверялось на 8.1.15.14 и 8.2.10.77

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

Ключи защиты

Q: чтобы запустить сервер 1С мне нужны хасп-ключи какие-то серверные? Локальный, или на 5 пользователей не пойдет?

A: да, для сервера нужен свой ключ, локальный пользовательский и сетевые не подойдут. Подробнее в «Сервера 1С:Предпряитие 8.1 и 8.2 — с чем едят« , слайд № 30.

Srv1Ckey.png

Q: допустим кластер серверов 1с стоит из 3-х физических серверов. сколько нужно ключей защиты

A: 3 ключа

Подробней см. «Ключи защиты 1С:Предприятие 8«.

Обновления сервера 1С

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

Настройка сервера 1С

Q: В 1С 8.1, как лучше размещать информационные базы, если их несколько, в одном кластере или создавать для каждой базы отдельный кластер? A: С большим объем или нагрузкой , а также тестовые базы размещать нужно в отдельные кластера!

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

платформа 8.2 не реализует всех возмжностей многопоточной системы, но она существенно лучше использует возможности железа по сравнению с 8.1, в том числе и в плане параллельности.

Создавать несколько рабочих процессов на сервере 1С можно исходя из того, что один рабочий процесс не обеспечивает возможность пользователям сделать повторное подключение в случаи падения рабочего процесса. 2 процесс (на 8.2 его лучше сделать «резервным») решает эту проблему. А вот 3й и более рабочие процессы есть смысл добавлять, только если сильно загруженны (более 90%) первые два рабочих процессах. Без надобности плодить рабочие процессы не стоит, это может ухудшить производительность.

A: Как минимум 1 резервный рабочий процесс в 8.2 должен быть.

Отказоустойчивый кластер

rezerv.png

При первом обращении клиента к кластеру ему передается список кластеров, входящих в группу резервирования.

Если клиент не разу не обращался, то в этом случаи надо указать вручную адреса всех кластеров, например storm:2541,monster:2541.

Между кластерами резервирования осуществляется обмен синхронизируемых данных.

Q: Что происходит после восстановления работы основного кластера? когда пользователи переключились на резервный .

A: Возвращаются назад. Возможны паузы при переключениях на время синхронизации данных кластеров.

Фоновые задания

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

Регламентные процедуры

Q: Возможно ли разрушение базы при проведении ТиИ?

A: Мне такие случаи неизвестны, но имхо возможно все. Поэтому перед ТиИ неплохо бы делать бэкап.

Технологический журнал

Подробней можно прочитать в «Технологический журнал 1С:Предприятие 8«.

Неполадки и ошибки

Q: Сталкивались ли вы с проблемой — пропадание настроек отчетов у пользователей при динамическом обновлении конфигураций на платформе 8.2. Есть рекомендации, как с этим бороться? A: Проблемы связанные с динамическим обновлением отражены в «Сервера 1С:Предпряитие 8.1 и 8.2 — с чем едят«), слайд №60. Чистить кэш. Возможно в некоторых случаях надо разбираться, где конкретно храняться настройки пользователей. При необходимости хранить в качестве двоичных данных в регистре сведений.

И чистить кэш метаданных.cash.png

Или воспользоваться внешней утилитой http://infostart.ru/public/15986/.

1. Рестартовать сервер 1С, увеличить количество рабочих процессов, в кластере держать только одну эту базу.

2. Бить проведение на порции, скажем по 1000 строк за раз. Отследить с помощью ТЖ объекты занимающие память при начале операции, но не освобождающие память по завершению.

3. Поставить х64 версию, увеличить объем оперативки, перейти на 8.2.

Q: Почему тестирование и исправление сразу не решает все вопросы, приходится запускать несколько раз?

A: Точно ответить могут только разработчики. Я запускаю ТиИ по регламенту (циклически), поэтому для меня этот вопрос не очень актуален. Делать ТиИ надо не один раз, а постоянно как «ТО для автомобиля».

Q: Есть ли разница ТиИ 8.1 и 8.2?

A: На текущий момент написания ответа и релиза 8.2.10 мне разница не известна.

Прочее

Q: Уважаемы господа никто не пробовал зеркалировать базы средствами MSSql 2008 вообще это возможно ?

A: Нет, рекомендую использовать штатные средства 1С:Предприятие.

Q: Вопрос по принудительному включению shared memory на сервере 1с 8.2

A: Не надо ничего принудительно включать, сервер сам поймет.

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

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

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

Для консервативных прагматичных руководителей проектов, конвертирующих 8.1 под 8.2- терминальное решение. Для небольших проектов с низкой стоимостью ошибок и конфигурацией сразу реализованной с управляемыми формами и СКД — тонкий клиент предпочтительней ИМХО.

Q: А как провести нагрузочное тестирование приближённое к реальным условиям? Ведь не загонишь пользователей «пощёлкать что-то».

A: 1С:Тестцентр с выбором наиболее тяжелых операций, 100% воспроизведение не обязательно, сами щелчки не тяжелы, в основном проведение и запросы отчетов. По тестированию будет отдельный вебинар. Также подробней расказываю на курсах.

Q: Не планируете ли Ваш оффлайн курс по скл в виде вебинара? A: На текущий момент нет уверенности, что будет восстребован. Если будет получено достаточно большое количество заявок на участие в таком мероприятии, то сделать то несложно.

Одновременное использование 1С

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

После установки серверы разных версий можно запускать только последовательно.Для одновременного запуска сервисов Агента сервера «1С:Предприятия 8.1» и Агента сервера «1С:Предприятия 8.2» их нужно разнести по портам:ragent.exe -instsrvc -port 2340 -regport 2341 -range 2360:2391 -d каталог -usr . usr1cv81 -pwd пароль.Одновременный запуск серверов одной версии возможен только как приложение:необходимо разнести по портам и каталогам;ragent.exe -port 2340 -regport 2341 -range 2360:2391 -d каталог.

И тем не менее можно сделать одновременный запуск серверов 8.2 разных версий так:

Установить Windows Resource Kits.Зарегистрировать сервис утилитой instsrv.exe, например:instsrv.exe «1C:Enterprise 8.2.8 Server Agent” c:v828ragent.exeПри помощи regedit выбрать ветку:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices1C:Enterprise 8.2.8 Server AgentВ свойство ImagePath вписать правильные параметры:c:v828ragent.exe -srvc -agent -regport 2341 -port 2340 -range 2360:2391 -d c:srv828При помощи менеджера сервисов Windows установить:Display name (Агент сервера 1С:Предприятия 8.2.8),Description (Агент сервера 1С:Предприятия 8.2.8),Log on as.В результате будет добавлен сервис «Агент сервера 1С:Предприятия 8.2.8».

 Мониторинг работы сервера 1С

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

Используемые источники:

  • https://interface31.ru/tech_it/2019/09/nastroyki-servera-1spredpriyatie-8-po-umolchaniyu-dlya-raboty-s-licenziyami-urovnya-prof.html
  • https://programmist1s.ru/rphost-ili-rabochiy-protsess-1s/
  • http://www.gilev.ru/app1c/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации