7: Создание и удаление таблиц
Вы уже знаете, как подключиться к системе баз данных PostgreSQL. Теперь вы можете изучить некоторые основные задачи по управлению Postgres.
Попробуйте создать таблицу для хранения данных; для примера таблица может описывать оборудование детской площадки. Синтаксис этой команды выглядит так:
Как видите, для таблицы нужно выбрать имя, определить столбцы, тип столбцов и максимальную длину поля. Опционально можно также установить ограничения для каждого столбца.
Для примера создайте простую таблицу:
Данная таблица описывает всё оборудование детской площадки. Таблица начинается со столбца ID, который указывает порядковый номер записи. Этот столбец был ограничен по PRIMARY KEY, что значит, что значения должны быть уникальными и не должны быть нулём.
Длина поля столбцов equip_id и install_date не ограничена; дело в том, что задавать длину некоторых столбцов необязательно, так как она автоматически задаётся типом данных.
Столбцы type и color не могут быть пустыми. Столбец location ограничен восемью возможными значениями. Столбец date указывает дату установки оборудования.
Просмотреть таблицу можно при помощи команды:
playground_equip_id_seq имеет тип данных sequence. Это представление типа данных serial, установленного для столбца equip_id. Этот тип определяет следующий номер в последовательности.
Чтобы просмотреть таблицу вне этого типа данных, введите:
Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана
Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.
План работ
- Установить операционную систему
- Установить СУБД PostgreSQL
- Установить сервер 1С:Предприятие
- Зарегистрировать сервер в домене
- Опубликовать информационную базу и веб-сервисы
- Настроить резервное копирование
Перед началом работ трезво оцените свои силы. Для подготовленного специалиста все перечисленные ниже операции займут не более половины рабочего дня, при чем большая часть этого времени уйдет на ожидание завершения операций копирования, установки, загрузки и т.п.
Если установка производится поверх уже работающей системы, сделайте резервную копию, например, сохраните образ дисков. Если что-то пойдет не так, Вы сможете быстро восстановить прежнюю работоспособность системы
1С:Предприятие Бухгалтерия переход с редакции 2.0 на 3.0. Практика перевода информационной базы для работы в управляемом приложении. Промо
Из информационного выпуска 1С № 16872 от 08.07.2013г. стало известно об относительно скором необходимом переходе на редакцию 1С:Бухгалтерия 3.0. В данной публикации будут разобраны некоторые особенности перевода нетиповой конфигурации 1С:Бухгалтерия 2.0 на редакцию 3.0, которая работает в режиме «Управляемое приложение».
Публикация будет дополняться по мере подготовки нового материала. Публикация не является «универсальной инструкцией».
Update 3. Права доступа. 14.08.2013
Update 4. Добавлен раздел 0. Дополнен раздел 4. Добавлен раздел 7. Внесены поправки, актуализирована информация. 23.11.2013.
1 стартмани
Установка 1С:Предприятие 8.3 на Debian 10
Начнем нашу настройку с установки сервера 1С. Для этого нам надо установить дополнительные пакеты в систему, которые находятся в разделах системного репозитория contrib и non-free. Их нужно добавить в конфиг репозиториев Debian. Для этого редактируем файл /etc/apt/sources.list и приводим его примерно к следующему виду:
deb http://mirror.yandex.ru/debian buster main contrib non-free deb-src http://mirror.yandex.ru/debian buster main contrib non-free deb http://mirror.yandex.ru/debian buster-updates main contrib non-free deb-src http://mirror.yandex.ru/debian buster-updates main contrib non-free deb http://security.debian.org/ buster/updates main contrib non-free deb-src http://security.debian.org/ buster/updates main contrib non-free
Сами адреса репозиториев у вас могут быть другие. Выполняем обновление списка пакетов:
# apt update
Теперь устанавливаем нужные для работы 1С в linux пакеты. Начнем со шрифтов mscorefonts.
# apt install ttf-mscorefonts-installer
Установка будет идти достаточно долго, так как скачивается целая куча дополнительных пакетов и файлов.
Добавляем еще несколько необходимых пакетов:
# apt install imagemagick unixodbc sudo curl
Следующий важный этап подготовки к установке сервера 1С — настройка локали. Для этого выполняем команду в терминале:
# dpkg-reconfigure locales
Нам нужно выбрать ru_RU.UTF-8 UTF-8. Так же убедитесь на всякий случай, что en_US.UTF-8 тоже выбрана. В дефолте так и должно быть, но я сталкивался с ситуациями, когда эту локаль тоже приходилось добавлять.
По умолчанию выбираем ее же — ru_RU. После того, как вы разлогинитесь из системы и зайдёте снова, у вас в консоли будет русский язык. Немного непривычно с ним работать, но придется потерпеть это неудобство.
Теперь нам необходимо скачать deb пакеты сервера с портала 1С. Для этого логинимся под действующей учетной записью на https://releases.1c.ru и скачиваем файл Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем.
Имя файла будет deb64_8_3_19_1150.tar.gz. Его нужно передать на Debian сервер. Я обычно winscp для этого использую. Распаковываем архив в отдельную директорию.
# mkdir 1c-server # mv deb64_8_3_19_1150.tar.gz 1c-server/ # cd 1c-server/ # tar xzvf deb64_8_3_19_1150.tar.gz # rm deb64_8_3_19_1150.tar.gz
Вы получите список распакованных пакетов для сервера 1С.
# ls -lh итого 470M -rwxrwxrwx 1 1001 1001 29M июн 2 03:27 1c-enterprise-8.3.19.1150-common_8.3.19-1150_amd64.deb -rwxrwxrwx 1 1001 1001 8,9M июн 2 03:27 1c-enterprise-8.3.19.1150-common-nls_8.3.19-1150_amd64.deb -rwxrwxrwx 1 1001 1001 31K июн 2 03:27 1c-enterprise-8.3.19.1150-crs_8.3.19-1150_amd64.deb -rwxrwxrwx 1 1001 1001 323M июн 2 03:27 1c-enterprise-8.3.19.1150-server_8.3.19-1150_amd64.deb -rwxrwxrwx 1 1001 1001 110M июн 2 03:27 1c-enterprise-8.3.19.1150-server-nls_8.3.19-1150_amd64.deb -rwxrwxrwx 1 1001 1001 311K июн 2 03:27 1c-enterprise-8.3.19.1150-ws_8.3.19-1150_amd64.deb -rwxrwxrwx 1 1001 1001 22K июн 2 03:27 1c-enterprise-8.3.19.1150-ws-nls_8.3.19-1150_amd64.deb drwxr-xr-x 3 root root 4,0K июн 7 23:01 license-tools
Если вы в 1С используете только русский или английский язык, то пакеты с добавлением в имени nls вам не нужны. А все остальное устанавливаем.
# dpkg -i 1c-enterprise-8.3.19.1150-common_8.3.19-1150_amd64.deb 1c-enterprise-8.3.19.1150-server_8.3.19-1150_amd64.deb 1c-enterprise-8.3.19.1150-ws_8.3.19-1150_amd64.deb
Не забудьте изменить версию платформы в имени файла на свою.
Запускаем Сервер 1С на Debian:
# systemctl start srv1cv83
Если получили ошибку: «Failed to enable unit: Unit file srv1cv83.service does not exist.», значит при установке пакета не был добавлен init скрипт для запуска сервера. Сделаем это вручную, создав символьную ссылку:
# ln -s /opt/1cv8/x86_64/8.3.19.1150/srv1cv83 /etc/init.d/srv1cv83 # systemctl daemon-reload
После этого запускаем сервер 1С еще раз той же командой выше. Ошибки теперь быть не должно.
Проверим, все ли службы запустились:
# netstat -tulnp | grep "rphost\|ragent\|rmngr"
Всё на месте. Если у вас включен Firewall на сервере, не забудьте открыть указанные порты. Данная настройка не относится к тематики статьи, так что я ее опускаю.
На этом установка самого Сервера 1С закончена. Переходим к установке и настройке базы PostgreSQL для него.
Сервер 1С:Предприятие на Ubuntu 16.04 и PostgreSQL 9.6, для тех, кто хочет узнать его вкус. Рецепт от Капитана
Если кратко описать мое отношение к Postgres: Использовал до того, как это стало мейнстримом.
Конкретнее: Собирал на нем сервера для компаний среднего размера (до 50 активных пользователей 1С).
На настоящий момент их набирается уже больше, чем пальцев рук пары человек (нормальных, а не фрезеровщиков).
Следуя этой статье вы сможете себе собрать такой же и начать спокойную легальную жизнь, максимально легко сделать первый шаг в мир Linux и Postgres.
А я побороться за 1. Лучший бизнес-кейс (лучший опыт автоматизации предприятия на базе PostgreSQL).
Если, конечно, статья придется вам по вкусу.
Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия — Simple UI (обновлено 14.11.2019)
Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.
5 стартмани
Часто встречающиеся ошибки 1С и общие способы их решения Промо
Статья рассчитана в первую очередь на тех, кто недостаточно много работал с 1С и не успел набить шишек при встрече с часто встречающимися ошибками. Обычно можно определить для себя несколько действий благодаря которым можно определить решится ли проблема за несколько минут или же потребует дополнительного анализа. В первое время сталкиваясь с простыми ошибками тратил уйму времени на то, чтобы с ними разобраться. Конечно, интернет сильно помогает в таких вопросах, но не всегда есть возможность им воспользоваться. Поэтому надеюсь, что эта статья поможет кому-нибудь сэкономить время.
Выпуск самоподписанного сертификата
После установки Apache в операционной системе уже должен быть установлен openssl как зависимость к дистрибутиву. Поэтому можно сразу приступить к генерации сертификата.
Первоначально нужно перейти в директорию хранилища сертификатов с помощью команды:
cd /etc/ssl/certs
После чего требуется ввести команду генерации сертификата, где вместо <SERVER> нужно подставить имя компьютера, на котором планируется размещен Apache:
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout <SERVER>.key -out <SERVER>.crt
Во время выполнения команды будет задано несколько вопросов. Для «Common Name (e.g. server FQDN or Your bane)» нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме «Country name» — здесь можно оставить по умолчанию).
Копирование числовых ячеек из 1С в Excel Промо
Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.
Возможности установки Linux с 8.3.20
Технологический блог «Заметки из Зазеркалья» уже рассказывал о том, что начиная с платформы 8.3.20 у пользователей Linux появится возможность более простой установки платформы 1С. А в начале июля был опубликован тестовый релиз 8.3.20.1363, который позволяет практически оценить новые возможности платформы.
Разбираемся, насколько упростилась установка дистрибутива платформы, в том числе на rpm-системах.
Ранее приложения системы «1С:Предприятие» поставлялись в виде .deb и .rpm пакетов, которые можно было установить только из командной строки. Теперь файлы пакетов .deb и .rpm не используются для поставки дистрибутивов системы для ОС Linux.
В новом релизе программа установки представляет собой специальный помощник, переход по страницам которого выполняется с помощью кнопки «Далее». На каждой странице нужно указать какую-либо необходимую информацию, которая в дальнейшем будет использована для установки системы «1С:Предприятие».
Программа установки доступна в трех вариантах:
- setup-full-ver-arch.run – полный дистрибутив (где ver – версия платформы в формате 8.3.x.x, а arch – архитектура платформы «x86_64» или «i386»);
- setup-thin-ver-arch.run – дистрибутив тонкого клиента;
- setup-training-ver-arch.run – версия для обучения.
Программа установки работает как в графическом, так и в пакетном режиме (без оконного интерфейса). Также реализована программа удаления установленного приложения.
Запуск Apache 2.4 с модулем 1С внутри Docker контейнера
Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе
Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии
Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.
Запуск Apache 2.4 с модулем 1С внутри Docker контейнера
Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе
Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии
Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.
Информация о кластерах
Для получения информации о кластере в терминале надо ввести команду:
Shell
/opt/1C/v8.3/i386/rac cluster list
1 | opt1Cv8.3i386rac cluster list |
Вывод этой команды будет примерно такой:
Shell
cluster : ef89b672-c6a6-11e4-ea91-0800274e0291
host : 1c
port : 1541
name : «Локальный кластер»
expiration-timeout : 0
lifetime-limit : 0
max-memory-size : 0
max-memory-time-limit : 0
security-level : 0
session-fault-tolerance-level : 0
load-balancing-mode : performance
1 |
clusteref89b672-c6a6-11e4-ea91-0800274e0291 host1c port1541 name»Локальный кластер» expiration-timeout lifetime-limit max-memory-size max-memory-time-limit security-level session-fault-tolerance-level load-balancing-modeperformance |
В данном выводе нас особо интересует идентификатор кластера. В моем случае это «ef89b672-c6a6-11e4-ea91-0800274e0291». Мы будем использовать его для дальнейших манипуляций.
Установка сервера 1С:Предприятие
При выборе архитектуры дистрибутива i386 или x86-64 следует учитывать не только архитектуру сервера и установленной на него операционной системы, но и имеющуюся у Вас лицензию на сервер 1С:Предприятия. Здесь описывается процесс установки 64-разрядного сервера в x86-64 архитектуру. Установка 32-разрядного сервера в i386 архитектуру аналогична с точностью до наименования некоторых файлов и каталогов. Установка 32-разрядного сервера в архитекруту x86-64 потребует решения проблем зависимостей пакетов, и этот подвиг достоин отдельной статьи
Предварительно установим пакеты, необходимые для работы сервера 1С:Предприятие
$ sudo apt install imagemagick unixodbc libgsf-bin ttf-mscorefonts-installer
В процессе установки пакета потребуется принять условия пользовательского соглашения EULA.
Любым законным способом получаем дистрибутив платформы 1С:Предприятия для deb-based Linux, например, скачиваем его с портала ИТС. Сервер 1С:Предприятие состоит из 3-х пакетов:
- — общие компоненты
- — собственно сам сервер, пакет зависим от общих компонент
- — веб-расширения сервера, пакет зависим от самого сервера
Если в 1С:Предприятии кроме русского и английского Вам потребуются другие языки, берите пакеты в наименовании которых присутствует NLS
Скопируйте только эти 3 файла по сети в домашний каталог пользователя, в нашем примере Устанавливать пакеты нужно именно в такой последовательности. Случайно или нет, они по алфавитному порядку выстраиваются именно так, как нужно, а значит их можно установить одной командой
$ sudo dpkg -i 1c*.deb
Сервер установлен. Запускаем
$ sudo service srv1cv83 start
Подразумевается, что активация сервера будет проводится программной лицензией. Если по каким-либо причинам у вас появится желание воткнуть в сервер ключ HASP, скачайте и установите пакет haspd от Etersoft
Если конфигурация 1С:Предприятие имеет дополнительную защиту, установите СЛК
К серверу уже можно подключаться через консоль администрирования серверов, активировать лицензии и создавать информационные базы.
Отладка на сервере
По умолчанию отладка на свежеустановленном сервере выключена. Если нужно подключаться отладчиком 1С к информационным базам, работающим на сервере нужно немного поправить конфигурационный файл сервера.
$ sudo nano /etc/init.d/srv1cv83
Ищем в файле строку вида
#SRV1CV8_DEBUG=
Раскомментируем и включаем
SRV1CV8_DEBUG=1
Сохраняем Ctrl-O, закрываем редактор Ctrl-X. Обновляем системных демонов и рестартуем сервер 1С.
$ sudo systemctl daemon-reload $ sudo service srv1cv83 restart
Мигрировать или нет?
Как можно заметить, причин для миграции может быть достаточно много: опасения санкций, стремление перейти на более надежную ОС, растущая нагрузка на файловые базы 1С. Однако учитывая, что в разных компаниях используются различные версии 1С, а также обрабатываются разные объемы данных, проблема миграции на PostgreSQL не имеет универсального решения и, как правило, требует поддержки со стороны специализированных компаний.
При общем позитивном экономическом эффекте, который достигается за счет бесплатной лицензии Postgres, бывают случаи, когда использование новой БД не оправдано. Например, один из клиентов CorpSoft24 жаловался на проблему производительности, а в результате анализа ситуации оказалось, что его система 1С не адаптирована для интенсивной работы именно на PostgreSQL. В данном случае адаптация стоила дороже, чем, напротив, переход на MS SQL, — отмечает Александр Рудницкий, программист CorpSoft24. |
В связи с этим вопросы о переходе на PostgreSQL следует решать комплексно, учитывая как возможные риски, так и технические особенности работы 1С в каждом конкретном случае. Началом такого перехода должны быть аудит системы и тестирование работы с новой БД.
Настройка программ для 1С и лицензионных ключей
Когда процесс инсталляции дистрибутивов прошел успешно, потребуется перейти к настройке 1С, сделать все нужно так, чтобы не появились ошибки и различного рода конфликты.
Для этого в терминале потребуется ввести определенные команды (их порядок нарушать нельзя):
Важно учитывать, что для инсталляции пятой команды потребуется намного больше времени. Когда все команды выполнены, на экране монитора отобразятся необходимые программы 1С
Внимание! Если требуется установка аппаратных ключей, имеющих защиту HASP, то потребуется скачать еще один дистрибутив и правильно выполнить его инсталляцию. Рекомендуется воспользоваться терминалом, в который вставляют команды в строгой последовательности:
Рекомендуется воспользоваться терминалом, в который вставляют команды в строгой последовательности:
В облаке – удобнее
При работе 1С вместе с базой данных необходимо обеспечить постоянную доступность не только сервера, но и БД. Например, при эксплуатации PostgreSQL с настройками «по умолчанию» часто возникают проблемы с остановкой и перезапуском сервиса, а при перезагрузке или сбое восстановление доступа к базе данных требует нескольких часов.
Тестирование новой БД проще всего начать вместе с облачным сервисом, так как это позволяет избежать подобных ситуаций, разместив БД в облачной среде, где происходит автоматическое резервирование серверных мощностей. Специально подготовленные Linux-серверы запускают БД на виртуальных машинах с моментальным восстановлением. Благодаря этому заказчикам не нужно беспокоиться о резервном копировании своих собственных БД и дополнительной защите электропитания для поддерживающих серверов.
Дополнительный плюс облачной реализации БД для 1С заключается в возможностях масштабирования. По запросу заказчика провайдер может в любой момент увеличить доступные ресурсы и обеспечить эффективную работу 1С для любого количества пользователей и даже для кратно увеличивающихся объемов данных.
Часто встречающиеся ошибки 1С и общие способы их решения Промо
Статья рассчитана в первую очередь на тех, кто недостаточно много работал с 1С и не успел набить шишек при встрече с часто встречающимися ошибками. Обычно можно определить для себя несколько действий благодаря которым можно определить решится ли проблема за несколько минут или же потребует дополнительного анализа. В первое время сталкиваясь с простыми ошибками тратил уйму времени на то, чтобы с ними разобраться. Конечно, интернет сильно помогает в таких вопросах, но не всегда есть возможность им воспользоваться. Поэтому надеюсь, что эта статья поможет кому-нибудь сэкономить время.
Часто встречающиеся ошибки 1С и общие способы их решения Промо
Статья рассчитана в первую очередь на тех, кто недостаточно много работал с 1С и не успел набить шишек при встрече с часто встречающимися ошибками. Обычно можно определить для себя несколько действий благодаря которым можно определить решится ли проблема за несколько минут или же потребует дополнительного анализа. В первое время сталкиваясь с простыми ошибками тратил уйму времени на то, чтобы с ними разобраться. Конечно, интернет сильно помогает в таких вопросах, но не всегда есть возможность им воспользоваться. Поэтому надеюсь, что эта статья поможет кому-нибудь сэкономить время.
Измерь его правильно! Краткое описание общепринятого метода оценки производительности DB серверов
Сообщество программистов (администраторов) 1С является одним из самых замкнутых на себя.
Тот же JAVA senior без особых вопросов напишет код на PHP или на Python, если этого потребует обстановка.
1Сники же и powershell и bash и PHP и все остальное с разной степенью успешности реализуют на 1С.
В последнее время ситуация немного меняется, классическое высшее образование программистов уже не ограничивается ассемблером, бейсиком и фортраном.
Никто не падает в обморок при виде
class HelloWorld {
public static void main(String[] args) {
System.out.println(«Hello World!»);
}
}
Попробуем покуситься на тест Гилева и узнать, как без него обходятся DBA админы остального мира, слабонервных прошу удалиться, остальных прошу под кат…
Запуск Apache 2.4 с модулем 1С внутри Docker контейнера
Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе
Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии
Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.
Ректальное администрирование: Основы для практикующих системных АДминистраторов
Одной из самых популярных и зарекомендовавших себя методологий системного администрирования является так называемое ректальное. Редкий случай сопровождения и обслуживания информационных систем, инфраструктуры организации обходится без его использования. Зачастую без знания данной методологии сисадминам даже бывает сложно найти работу в сфере ИТ, потому что работодатели, особенно всякие аутсорсинговые ИТ фирмы, в основном отдают предпочтение классическим, зарекомендовавшим себя методикам, а не новомодным заграничным веяниям: практикам ITIL, нормальным ITSM и прочей ерунде.
Теперь рассмотрим сборку PostgreSQL от 1С
Разница в установке сборки от 1С заключается в том, что потребуется изначально загрузить все установочные файлы с сайта ИТС на какой-нибудь другой компьютер. Скопировать эти файлы на наш. И только потом начинать установку «вручную» PSQL.
Начнем.
Для начала заходим на страницу https://releases.1c.ru/total и выбираем PostgreSQL:
Последняя сборка от 1С на момент публикации — 10.5-10.1C
Загружаем Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB) и копируем его, например в папку /media/share, предварительно создав её.
Для простоты навигации в нашей ОС, я устанавливаю файловый менеджер Midnight Commander. Он помогает мне быстро передвигаться по файлам и папкам ОС и работать с ними. Установить менеджер можно командой от имени пользователя root:
Скопировав данный архив, необходимо его распаковать:
Распаковать его можно командой:
Переходим в папку postgres/postgresql-10.5-10.1C_amd64_deb:
Для установки требуются дополнительные пакеты. Чтобы проверить названия этих пакетов, вводим команду:
Результат:
Далее продолжаем установку:
Весь процесс установки необходимо производить от имени пользователя root. Иначе можно получить ошибки при установке.
В сборках от 1С нет полного набора библиотек, необходимых для установки. Поэтому при каждой установке требуется смотреть на ошибки, в которых указываются отсутствующие пакеты.
Хочу отметить, что версии этих пакетов для разных версий ОС Debian, как и для разных версий PostgreSQl — свои.
В нашем примере используются нужные библиотеки конкретно для версий Debian 9 и PostgreSQL 10 от 1С.
После этого можно начать установку сборки PostgreSQL от 1С:
Хочу обратить внимание на то, что на момент написания этой статьи была доступна версия PSQL 10.5-10.1C.
На момент публикации статьи (01.02.2019) эта версия для загрузки уже недоступна, но появилась новая версия 10.5-11.1C.
Попробуем установить эту версию.
Загружаем пакет Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (DEB), копируем его на ВМ в папку /media/share и попробуем установить:
При установке получаем ошибку, так как в системе отсутствуют дополнительные пакеты:
libssl1.0.0 версии 1.0.0 или старше
postgresql-client-common версии 182 или старше
Проверяем названия дополнительных пакетов для установки командой:
Результат:
Ищем в интернете нужные пакеты, загружаем и копируем их на ВМ в ту же папку и пробуем повторно установить PSQL
При повторной установки появляются еще несколько пакетов, которые необходимы. Например, при ошибке появился пакет libicu55 версии 55 и выше, который нужно установить.
В очередной раз ищем эти пакеты и загружаем их в одну папку. Выполняем повторно команды
Как только загрузим все необходимые пакеты, установка пройдет успешно и на экране будет отображатся
Можно теперь запускать сервер PSQL и ставить службу в автозагрузку:
Сделать это можно введя команду:
И сразу проверим все ли хорошо, проверив статус службы:
как видно на скриншоте — установлена и запущена последняя актуальная версия PSQL на 01.02.19
Следующий шаг очень схожий с тем что написано , с разницей в путях и именах настраиваемых файлов.
Задаем пароль внутреннему пользователю PostgreSQL:
ВАЖНО.
Если вы используете сервер 1С на другой машине и будете подключаться к серверу БД по сети, то есть 2 момента:
1. По-умолчанию, сборка PostgreSQL от 1С настроена на подключение с любого адреса по порту 5432. Поэтому необходимо в файле конфигурации postgresql.conf указать адрес, на котором будет приниматься соединения (в моём случае это локальный IP адрес машины, на которой установлен PostgreSQL):
В нашем случае файл конфигурации находится /etc/postgresql/10/main
2
Второй момент на который необходимо обратить внимание, это правила авторизации пользователей к базам данных и правила разрешающие подключения к этим базам «из вне». Есть файл конфигурации клиентской аутентификации pg_hba.conf
В нем необходимо разрешить следующее:
Я добавил в блок «IPv4 local connections» строку, которая предоставляет доступ ко всем БД, всем пользователям с адреса 192.168.154.137 (Это IP адрес сервера 1С: Предприятие». По-умолчанию доступ разрешен всем.
Вот вроде и всё. Теперь на сервере 1С создаем базу и проверяем:
На этом этапе установка и запуск двух разных сборок PostgreSQL для 1С закончена.
Удаление базы
Вводим команду с использование идентификатора кластера и базы, которую хотим удалить:
Shell
/opt/1C/v8.3/i386/rac infobase —cluster=ef89b672-c6a6-11e4-ea91-0800274e0291 drop —infobase=a71b8db2-c74a-11e4-1081-0800274e0291
1 | opt1Cv8.3i386rac infobase—cluster=ef89b672-c6a6-11e4-ea91-0800274e0291drop—infobase=a71b8db2-c74a-11e4-1081-0800274e0291 |
Вывода у этой команды нет, поэтому если не ругается — считаем, что база удалена успешно.
И не забываем удалить базу из postgresql, если наша цель — полное удаление базы.
Shell
pavel@1c:/opt/1C/v8.3/i386$ su postgres
postgres@1c:/opt/1C/v8.3/i386$ psql
postgres=# \l
postgres=# DROP DATABASE tkani;
postgres=# \q
postgres@1c:/opt/1C/v8.3/i386$ exit
1 |
pavel@1copt1Cv8.3i386$su postgres postgres@1copt1Cv8.3i386$psql postgres=# \l postgres=# DROP DATABASE tkani; postgres=# \q postgres@1copt1Cv8.3i386$exit |
Тут важный момент — после имени базы обязательно ставим точку с запятой.
Запуск Apache 2.4 с модулем 1С внутри Docker контейнера
Про Apache и про Linux слышали, наверное, все. А вот про Docker пока нет, но он сильно набирает популярность последнее время и не зря. Поделюсь своим опытом и дам пошаговую инструкцию настройки веб-сервера Apache с модулем 1С внутри Docker контейнера на Linux хосте. При этом сам сервер 1С может находиться совсем на другой машине и на другой операционной системе
Это не важно, главное чтобы Apache смог достучаться до сервера 1С по TCP. В статье дам подробное пояснение по каждой используемой команде со ссылками на документацию по Docker, чтобы не создавалось ощущение непонятной магии
Также прилагаю git репозиторий с описанием всей конфигурации, можете попробовать развернуть у себя буквально за 10 минут.
Установка и настройка HASP Licence manager
Для того, чтобы компьютеры могли получать лицензии по сети от сервера, куда вставлен usb ключ, на него надо установить и запустить HASP Licence manager. Для начала вставьте ключ в сервер и проверьте, видит ли его система:
# lsusb | grep -i hasp
Вы должны увидеть устройство с именем наподобие Aladdin Knowledge Systems HASP copy protection dongle. Если его нет, то разбирайтесь с подключением и пробросом usb портов, если у вас это виртуальная машина.
Дальше идем на страницу https://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Debian/, выбираем свою версию системы и скачиваем два файла:
- haspd-modules_7.90-eter2debian_amd64.deb
- haspd_7.90-eter2debian_amd64.deb
На момент написания статьи пакетов для Debian 10 не было, но нам подойдут и для 9-й версии.
# wget https://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Debian/9/haspd-modules_7.90-eter2debian_amd64.deb # wget https://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Debian/9/haspd_7.90-eter2debian_amd64.deb
Устанавливаем пакеты haspd, но перед этим установим пару пакетов — make и libc6-i386, если они у вас отсутствуют:
# apt install make libc6-i386 # dpkg -i haspd*.deb
Запускаем службу haspd и добавляем в автозагрузку:
# systemctl start haspd # systemctl enable haspd
Проверяем, запустился ли hasp:
# netstat -tulnp | grep hasp tcp 0 0 0.0.0.0:1947 0.0.0.0:* LISTEN 2526/hasplmd udp 0 0 0.0.0.0:46563 0.0.0.0:* 2526/hasplmd udp 0 0 0.0.0.0:1947 0.0.0.0:* 2526/hasplmd udp 0 0 0.0.0.0:475 0.0.0.0:* 2517/hasplm udp 0 0 127.0.0.1:2790 0.0.0.0:* 2508/winehasp
Все в порядке. Теперь лицензии должны нормально работать, а клиенты их получать по сети.
Сжатие баз данных 1С:Предприятие в MS SQL Server Промо
Тема сжатия баз данных 1С в настоящий момент довольно часто обсуждается. Достоинства сжатия известны – уменьшение размера базы данных, уменьшение нагрузки на дисковую подсистему и некоторое ускорение выполнения тяжелых операций чтения/записи. Из недостатков – небольшое увеличение нагрузки на процессоры сервера СУБД за счет расхода ресурсов на компрессию/декомпрессию данных. Но при использовании в качестве MSSQL и DB2 (за Oracle и PostgreSQL не скажу, т.к. не знаю) есть один «подводный камень» — при выполнении реструктуризации происходит декомпрессия новых таблиц и индексов. Происходить это может как при выполнении обновления конфигурации с изменением структуры метаданных, так и при выполнении тестирования и исправления ИБ (реиндексация пересоздает только индексы, а реструктуризация – и таблицы, и индексы). «Проблема» кроется в том, что признак сжатия устанавливается индивидуально для каждой таблицы и индекса.
Сервер 1C 8.3 на Ubuntu 20.04. Разворачиваем сервер
Чтобы установить все, вам необходимо установить каждый пакет в следующем порядке:
sudo dpkg -i 1c-enterprise83-common_8.3.17-1386_amd64.deb sudo dpkg -i 1c-enterprise83-common-nls_8.3.17-1386_amd64.deb sudo dpkg -i 1c-enterprise83-crs_8.3.17-1386_amd64.deb sudo dpkg — i 1c-enterprise83-server_8.3.17-1386_amd64.deb sudo dpkg -i 1c-enterprise83-server-nls_8.3.17-1386_amd64.deb sudo dpkg -i 1c-enterprise83-ws_8.3.17-1386_amd64.deb sudo dpkg -i 1c- enterprise83-ws-nls_8.3.17-1386_amd64.deb
Например, если вы попытаетесь поместить пакет ws перед пакетом сервера, а пакет сервера — перед общим, ничего не выйдет. Но если вы заметили, пакеты в каталоге расположены в правильном порядке, поэтому вы также можете установить его с помощью команды:
sudo dpkg -i 1c-e*
В этом случае nls — это языковые пакеты, ws — это пакеты веб-версии 1ski, а crs — это сервер хранения конфигурации. Итак, поскольку они не нужны, их невозможно установить, а просто установить общий и серверный пакеты.
Набор подсистем «Умные таблицы»
Данный набор подсистем – прикладная библиотека, призванная помочь программисту 1С быстрее решать ряд типовых задач бизнес-логики, таких как: ведение статусов объектов, отправка почтовых сообщений в определенное время, ведение произвольных таблиц с возможностью редактирования, сохранения и группировки, ориентированные на расчет бюджетных таблиц (план продаж, ретробонусы B2C, проценты по договорам B2B и договорные условия по КАМ), расчет коммерческой политики для бюджетных таблиц, исполнение произвольных алгоритмов с хранением кода в информационной базе, определение рабочих баз, хранение файлов во внешних СУБД (Postgre SQL, MS SQL и MongoDB) и выполнение произвольного кода после изменений ссылочного объекта вне транзакции изменения.
1 стартмани