Внезапно 1С перестала видеть программные лицензии выдавая ошибку:
Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!по причине:
Поиск лицензии на клиенте:
локальный ключ недоступен: Status=-10, ORGL8 Локальный, не установлен
Ошибка программного лицензирования. Неверный формат файла программного лицензирования: file://C:/ProgramData/1C/licenses/file0.lic
Решение:
Сообщение "Неверный формат файла программного лицензирования" обычно говорит о том, что лицензия автоматически заблокировалась из-за того, что продолжает использоваться на другом компьютере, либо на данном компьютере в этом же или в другом каталоге присутствует другой файл, также содержащий эту же самую работоспособную лицензию.
Файл лицензии на компьютере должен быть один.
Файл лицензии можно перемещать, но нельзя копировать.
Для решения проблемы следует на всех компьютерах, где ранее ставилась эта лицензия, найти и удалить все файлы 2*.lic и все файлы conn8211.pfl (или 1cv8conn.pfl, если версия 8.3)
Если используется клиент-серверный вариант работы, то перестартуйте службу агента сервера.
Затем на данном компьютере выполните обновление (восстановление) всех ранее установленных на нем лицензий по последнему использованному пин-коду.
Если при этом появится сообщение "Пинкод уже активирован. Повторная активация этого пинкода на другой компьютер запрещена", значит у компьютера изменились ключевые параметры. В
Способ №1 На сервере: удалить conn8211.pfl или 1cv8conn.pfl
Способ №2 Перегенерация ключей в 1С удалить старые ключи: *.lic
И перегенируем ключи используя скан лицензии и те данные которые вводились изначально(на кого активировалась лицензия)
Если лицензия по прежнему не обнаруживается:
1. Убедитесь, что используется версия платформы не ниже 8.2.15. Если ниже - скачайте с пользовательского сайта.
2. В окне с перечнем информационных баз нажмите "Настройка" и поставьте галочку "Использовать аппаратную лицензию...", если она не стоит.
3. При появлении сообщения об отсутствии лицензии откажитесь получать лицензию и нажмите кнопку "Подробно" и прислать в 1С текст появившегося Журнала поиска ключа.
в Windows файлы lic и pfl обычно находятся в:
\ProgramData\1С\conf\;
\Program Files (x86)\1cv8\conf;
%ИмяПользователя%\AppData\Local\1C.
в Linux файлы lic и pfl обычно находятся в:
/home/usr1cv82/.1cv82/1C/1Cv82/conf
/home/usr1cv8/.1cv8/1C/conf
и /opt/1C/v8.2/x86_64/conf/
Строка для удаления rm /home/usr1cv82/.1cv82/1C/1Cv82/conn8211.pfl& /etc/init.d/srv1cv82 restart
Есть несколько вариантов вывода информации перед основным отчетом,какой лучше?! - зависит от задачи:
Допустим нам нужно вывести дату и время формирования отчета и свою шапку отчета, например так:
Варианты решения:
1. Создаем в схеме новую группировку (без поля) и установим имя группировке Шапка отчета.
2. Удалим у данной группировки из выбранных полей автополе
В других настройках выберем макет оформления "Без оформления" (иначе на наш макет будет накладываться стандартный макет и вокруг всех ячеек будет рамка)
На вкладке макеты добавляем макет заголовка группировки (при добавлении указываем наше имя группировки (Шапка отчета) и указываем область с нашими данными), справа в табличном документе пишем необходимый текст и параметр
Сохраняем, формируем и видим результат как выше
Код нужно установить в процедуре модуля отчета ПриКомпоновкеРезультата()
еще пример:
Создаем макет ВыводСформирован, в нем создаем параметр Сформирован и назначаем имя области Заголовок
В модуле перед
Пишем:
в результате:
Заказали виртуальный сервер на FastVPS, купили мини сервер 1С и пришло время установки.
В сети нашлась хорошая статья, где все по порядку:
Итак, устанавливаем минимальный CentOS, настраиваем имена хостов, DNSы и сетевые подключения и приступаем собственно к установке серверных компонентов.
1. Установка Postgre SQL server
Обновление от 03-ноя-2016: в последних версиях CentOS (у меня сегодня был 7.2.1511) отсутствует поддержка libtermcap (и как-то "иначе" реализована libreadline), из-за чего сборки с сайта 1С не устанавливаются - решил поставить сборку от Postgres Professionals https://postgrespro.ru/products/1c_build - вроде работает, но о стабильности и производительности пока судить рано. Так что у кого проблемы с libtermcap.so.2() и/ли libreadline.so.5() при установке PostgreSQL с патчами 1С, можете попробовать этот альтернативный вариант.
Для установки использовался рекомендованный (адаптированный) 1С дистрибутив, для чего потребуется скачать его из раздела поддержки пользователей сайта 1С. В моём случае это был "Дистрибутив СУБД PostgreSQL для Linux x86 (64-bit) одним архивом (RPM)", который я сохранил в /root/temp. Распаковываем архив:
[root@vm-sql01 temp]# tar -vxf postgresql-9.2.1-1.1C_x86_64_rpm.tar.gz
postgresql92-9.2.1-1.1C.x86_64.rpm
postgresql92-libs-9.2.1-1.1C.x86_64.rpm
postgresql92-server-9.2.1-1.1C.x86_64.rpm
postgresql92-contrib-9.2.1-1.1C.x86_64.rpm
[root@vm-sql01 temp]#
Устанавливаем в следующей последовательности:
yum install postgresql92-libs-9.2.1-1.1C.x86_64.rpm
yum install postgresql92-9.2.1-1.1C.x86_64.rpm
yum install postgresql92-server-9.2.1-1.1C.x86_64.rpm
yum install postgresql92-contrib-9.2.1-1.1C.x86_64.rpm
Все недостающие зависимости (пакеты) будут установлены в процессе установки этих rpm, хотя на сайте 1С рекомендуют предварительно установить пакеты readline, libtermcap, krb5-libs и openssl, но в моём случае они либо уже были установлены, либо не были обнаружены в репозиториях.
2. Первый запуск Postgre SQL server
В отличии от сценариев установки большинства знакомых мне sql-серверов, postgres требует предварительной инициализации перед запуском, для чего существует два пути - первый, правильный:
[root@vm-sql01 pgsql]# su postgres -c '/usr/pgsql-9.2/bin/initdb -D /var/lib/pgsql/9.2/data --locale=ru_RU.UTF-8'
Файлы, относящиеся к этой СУБД, будут принадлежать пользователю "postgres".
От его имени также будет запускаться процесс сервера.
Кластер баз данных будет инициализирован с локалью "ru_RU.UTF-8".
Кодировка БД по умолчанию, выбранная в соответствии с настройками: "UTF8".
Выбрана конфигурация текстового поиска по умолчанию "russian".
исправление прав для существующего каталога /var/lib/pgsql/9.2/data... ок
создание подкаталогов... ок
выбирается значение max_connections... 100
выбирается значение shared_buffers... 32MB
создание конфигурационных файлов... ок
создание базы template1 в /var/lib/pgsql/9.2/data/base/1... ок
инициализация pg_authid... ок
инициализация зависимостей... ок
создание системных представлений... ок
загрузка описаний системных объектов... ок
создание правил сортировки... ок
создание преобразований... ок
создание словарей... ок
установка прав для встроенных объектов... ок
создание информационной схемы... ок
загрузка серверного языка PL/pgSQL... ок
очистка базы данных template1... ок
копирование template1 в template0... ок
копирование template1 в postgres... ок
ВНИМАНИЕ: используется проверка подлинности "trust" для локальных подключений.
Другой метод можно выбрать, отредактировав pg_hba.conf или используя ключи -A,
--auth-local или --auth-host при следующем выполнении initdb.
Готово. Теперь вы можете запустить сервер баз данных:
/usr/pgsql-9.2/bin/postgres -D /var/lib/pgsql/9.2/data
или
/usr/pgsql-9.2/bin/pg_ctl -D /var/lib/pgsql/9.2/data -l logfile start
-bash-4.1$
Или тот же вывод на английском языке:
[root@vm-sql01 ~]# su postgres -c '/usr/pgsql-9.2/bin/initdb -D /var/lib/pgsql/9.2/data --locale=ru_RU.UTF-8'
could not change directory to "/root"
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.
The database cluster will be initialized with locale "ru_RU.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "russian".
fixing permissions on existing directory /var/lib/pgsql/9.2/data ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 32MB
creating configuration files ... ok
creating template1 database in /var/lib/pgsql/9.2/data/base/1 ... ok
initializing pg_authid ... ok
initializing dependencies ... ok
creating system views ... ok
loading system objects' descriptions ... ok
creating collations ... ok
creating conversions ... ok
creating dictionaries ... ok
setting privileges on built-in objects ... ok
creating information schema ... ok
loading PL/pgSQL server-side language ... ok
vacuuming database template1 ... ok
copying template1 to template0 ... ok
copying template1 to postgres ... ok
WARNING: enabling "trust" authentication for local connections
You can change this by editing pg_hba.conf or using the option -A, or
--auth-local and --auth-host, the next time you run initdb.
Success. You can now start the database server using:
/usr/pgsql-9.2/bin/postgres -D /var/lib/pgsql/9.2/data
or
/usr/pgsql-9.2/bin/pg_ctl -D /var/lib/pgsql/9.2/data -l logfile start
[root@vm-sql01 ~]#
Или второй, более простой, но не всегда дающий необходимый результат (зависит от региональных настроек сервера, но у меня иногда приводивший к установке базы данных без поддержки необходимого collation ru_RU.UTF-8):
[root@vm-sql01 pgsql]# service postgresql-9.2 initdb
Инициализируется база данных: [ OK ]
[root@vm-sql01 pgsql]#
В результате была создана структура базы данных (с настройками) в /var/lib/pgsql/9.2/data. Хочу обратить особое внимание на конструкцию --locale=ru_RU.UTF-8, которую необходимо указать при инициализации, иначе сервер может быть инициализирован с неверным набором языковых параметров, что в конечном итоге приведёт к сообщениям
Ошибка установки или изменения национальных настроек информационной базы
Порядок сортировки не поддерживается базой данных
по причине:
Порядок сортировки не поддерживается базой данных
при установке информационной базы. Теперь можно настраивать автоматический запуск sql-сервера и, собственно, запускать его:
[root@vm-sql01 temp]# chkconfig postgresql-9.2 on
[root@vm-sql01 temp]# service postgresql-9.2 start
Запускается служба postgresql-9.2: [ OK ]
[root@vm-sql01 temp]#
Всё. Для локальных подключений сервер настроен. В моём случае сервер 1С и сервер SQL находятся на разных машинах, поэтому потребуется настроить и удалённые подключения с авторизацией.
В случае каких-то проблем, читаем содержимое файлов:
/var/lib/pgsql/9.2/pgstartup.log
/var/lib/pgsql/9.2/data/postgresql-*.log
Для повышения быстродействия документация PostgreSQL рекомендует как минимум унести журнал /var/lib/pgsql/9.2/data/pg_xlog на отдельный физический том и создать симлинк на него в исходном месте; из личных наблюдений - надо ещё и значительно увеличить размер используемой памяти... но необъятное не охватить, поэтому за статьями по оптимизации работы PostgreSQL для 1С предлагаю обращаться в поисковые системы, а оттуда - на профильные форумы.
3. Настройка пользователей (ролей) Postgre SQL server
Для управления PostgreSQL на начальном этапе потребуется сменить текущего пользователя на postgres и создать нового пользователя из командной строки:
[root@vm-sql01 temp]# su - postgres
-bash-4.1$ cd /usr/pgsql-9.2/bin
-bash-4.1$ createuser --interactive -P
Введите имя новой роли:server1c
Введите пароль для новой роли:
Повторите его:
Должна ли новая роль иметь полномочия суперпользователя? (y - да/n - нет) n
Новая роль должна иметь право создавать базы данных? (y - да/n - нет) y
Новая роль должна иметь право создавать другие роли? (y - да/n - нет) n
-bash-4.1$ exit
logout
[root@vm-sql01 temp]#
В принципе, для обслуживания полезно иметь пользователя с правами суперпользователя - создавать его можно тем же путём.
Теперь осталось разрешить удалённое подключение с авторизацией - для этого в файле /var/lib/pgsql/9.2/data/pg_hba.conf потребуется заменить значение ident на md5 в строке "host all all 0.0.0.0/0 md5" и перезапустить сервис.
Не следует забывать и про настройки iptables - для работы Postgre SQL необходимо открыть как минимум порт tcp 5432, хотя привычнее (да и проще) объявить сетевой интерфейс "внутренним" (разрешить все подключения на интерфейсе).
Для управления сервером потребуется pgAdmin, который можно установить из репозиториев используемого для административных целей линукса, либо скачать с сайта проекта.
4. Установка компонентов сервера 1С
Внимание!!! Для избежания проблем с зависимостями, желательно, чтобы разрядность сервера 1С совпадала с разрядностью используемого дистрибутива Linux! Иначе (если ставим 32-битный 1С на 64-битный Linux), при входе в базу, можно получить сообщение типа "Ошибка загрузки библиотеки libWand.so по причине:Библиотека не обнаружена. Часть функций будет недоступна." и клиенты не будут запускаться (хотя конфигуратор - будет). В принципе, я с этой проблемой справился на CentOS 7 (которой не выпускают больше в 32-битном исполнении) - просто поставил не только 'ImageMagick', но и 'ImageMagick.i686' (yum install ImageMagick.i686) - всё заработало (хоть и притянуло за собой гору зависимостей).
Первый шаг установки сервера 1С мало отличается от аналогичного этапа с SQL-сервером - распаковать скачанный дистрибутив сервера командой tar -vxf rpm64.tar.gz. В итоге получим файлы:
1C_Enterprise83-common-8.3.3-715.x86_64.rpm - основные файлы 1С (включая русский и английский интерфейсы)
1C_Enterprise83-common-nls-8.3.3-715.x86_64.rpm - дополнительные языковые модули
1C_Enterprise83-server-8.3.3-715.x86_64.rpm - сервер 1С
1C_Enterprise83-server-nls-8.3.3-715.x86_64.rpm - дополнительные языковые модули
1C_Enterprise83-ws-8.3.3-715.x86_64.rpm - компоненты вэб-сервера 1С
1C_Enterprise83-ws-nls-8.3.3-715.x86_64.rpm - дополнительные языковые модули
1C_Enterprise83-crs-8.3.3-715.i386.rpm - хранилище конфигураций (только в 32-битном комплекте)
Устанавливаем нужные пакеты командами:
yum install 1C_Enterprise83-common-8.3.3-715.x86_64.rpm
yum install 1C_Enterprise83-server-8.3.3-715.x86_64.rpm
Настраиваем автоматический запуск демона и стартуем его:
[root@vh-1c83 temp]# chkconfig srv1cv83 on
[root@vh-1c83 temp]# service srv1cv83 start
Starting 1C:Enterprise 8.3 server: Error: service failed to start!
FAILED
[root@vh-1c83 temp]# service srv1cv83 start
Starting 1C:Enterprise 8.3 server: OK
[root@vh-1c83 temp]#
Хочу обратить внимание - если сразу после установки сервис (как в приведённом примере) не стартовал, а при второй попытке старта он запустился, скорее всего не настроен DNS - об этом чуть ниже. Если верить информации с многочисленных форумов, то наш сервер уже готов обслуживать до 12 клиентов. Для работы большего числа пользователей, необходимо установить лицензию сервера - либо в виде USB HASP и драйвера, либо в виде электронной лицензии. Про установку аппаратных ключей я уже писал, а установка программных лицензий достаточно проста: запускаем конфигуратор (с клиентской машины; кластер уже должен быть настроен и должна быть информационная база), вызываем "Сервис" - "Получение лицензии", вводим номер комплекта (с коробки или "Регистрационный номер" с карточки из конверта "Пинкоды программной лицензии") и пин-код (с той самой карточки из конверта), ставим галочку "Установка на сервер", вводим имя сервера в соответствующем поле, нажимаем "Далее", говорим, что это - "Первый запуск", заполняем форму "Владелец лицензии" (к стати, я не понял что писать в полях "Фамилия", "Имя", "Отчество" - то ли ответственного за эксплуатацию, то ли генерального директора - оставил поля пустыми, и оно получило лицензию, не ругнувшись), "Далее", "Автоматически" - профит! в /var/1C/licenses на сервере появился файлик XXXXXXXXXXXXXX.lic и серверу "стало хорошо" (если это была многопользовательская лицензия, то клиентам тоже "станет хорошо", т.к. они будут получать лицензии на сервере).
Для работы с графическими объектами и экспорта в xls, могут потребоваться дополнительные пакеты: ImageMagick, freetype (входит в зависимости ImageMagick), libgsf (входит в зависимости ImageMagick), corefonts (отсутствует в репозитариях CentOS - см. раздел 6); для "ТАКСИ" и "Управляемого приложения" они необходимы, для классического толстого клиента вроде бы не особо нужны, но 1С всё равно ругается на их отсутствие, хоть и работает.
По умолчанию сервер 1С слушает порт tcp 1541(1540) и для соединений использует диапазон портов 1560-1691.
5. Настройка экземпляра (кластера) сервера 1С
Информации о наличии оснастки управления сервером 1С для Linux мне не попадалось, так что для управления сервером будем использовать традиционную оснастку mmc для Windows "Администрирование серверов 1С:Предприятия", которую следует поставить из дистрибутива технологической платформы для Windows.
В этом месте на тестовом сервере возникли трудности - кластер по умолчанию отсутствовал, а при попытке создания нового кластера, ragent аварийно завершал работу с сообщением Sep 3 21:29:04 vh-1c83 kernel: ragent[1879]: segfault at 8 ip 00007f56473c9fd4 sp 00007f563b7b14a0 error 4 in rserver.so[7f56472db000+70e000]... странно, но если верить форумам, на CentOS у многих сервер 1С 8.3 ставится некорректно - не создаётся начальная конфигурация, включающая "Кластер по умолчанию". Краткий анализ ситуации выявил, что настройки кластера по умолчанию не были сгенерированы полностью и не попали в /home/usr1cv8/.1cv8/1C/1cv8/.
При попытке подложить файлы с рабочего сервера на неудачный, сервис 1С не запускается абсолютно без каких-либо диагностических сообщений - подобное поведение я видел при проблемах (неверных контекстах) SELinux, но в данном случае никаких отказов в audit.log не обнаружилось.
В результате детального изучения проблемы с применением strace удалось выяснить, что агент сервера при запуске ищет настройки по пути ~/.1cv8/1C/1cv8/ (в домашнем каталоге запустившего пользователя) и если не находит, пытается создать настройки кластера по умолчанию, для чего ему нужно имя хоста (выяснено экспериментально), и если верить "Руководству администратора", нужен корректно работающий DNS; экспериментально же был установлен факт, что сначала ragent читает файл /etc/hosts, затем обращается к DNS-серверу, а затем вызывает uname и снова лезет в hosts и к DNS и если не находит сопоставления, аварийно завершается. Итак, для нормального запуска потребуется полноценная и правильно настроенная сетевая инфраструктура, ну а в отсутствии работающего DNS достаточно дописать строчку в /etc/hosts и привести его примерно к
127.0.0.1 localhost
192.168.122.227 vh-1c83.test.lan vh-1c83
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
За дальнейшими инструкциями пока отсылаю к своей статье про 8.2 - принципиальных отличий пока нет. Единственное замечание - при создании новой информационной базы, если указывать пользователя подключения к базе данных не с правами суперпользователя (а с набором прав из пункта 3), информационная база не создавалась, а в /var/lib/pgsql/9.2/data/pg_log/postgresql-Xxx.log наблюдались сообщения:
ОШИБКА: нет прав для изменения параметра "lc_messages"
ОПЕРАТОР: SET lc_messages to 'en_US.UTF-8';
ОШИБКА: нет доступа к языку c
ОПЕРАТОР: CREATE OR REPLACE FUNCTION plpgsql_call_handler() RETURNS language_handler AS '$libdir/plpgsql' LANGUAGE C
ОШИБКА: нет прав для изменения параметра "lc_messages"
ОПЕРАТОР: SET lc_messages to 'en_US.UTF-8';
ОШИБКА: ошибка синтаксиса (примерное положение: "application") в символе 24
ОПЕРАТОР: lock table pg_class in application share mode
ПРЕДУПРЕЖДЕНИЕ: нет незавершённой транзакции
ОШИБКА: тип "mvarchar" не существует в символе 31
ОПЕРАТОР: create table Config (FileName mvarchar(128) not null, Creation timestamp not null, Modified timestamp not null, Attributes int not null, DataSize int8 not null, BinaryData bytea not null, PartNo int not null, PRIMARY KEY (FileName, PartNo))
ОШИБКА: нет прав для изменения параметра "lc_messages"
ОПЕРАТОР: SET lc_messages to 'en_US.UTF-8';
ОШИБКА: нет доступа к языку c
ОПЕРАТОР: CREATE OR REPLACE FUNCTION plpgsql_call_handler() RETURNS language_handler AS '$libdir/plpgsql' LANGUAGE C
После подключения с учётными данными суперпользователя БД, сообщения изменились на англоязычные и проблемы исчезли. Судя по всему, если на сервере установлен язык по умолчанию en_US, данного казуса не случится, но это - не проверенная информация, а лишь предположение, сделанное по прочтении чужой статьи про 8.1 и праздных раздумий =)
Ещё одна странность - если создать пустую SQL базу не из шаблона1 (см. официальную документацию по 1С), и попытаться ей указать на этапе создания ИБ, то всё равно получим сообщение "ОШИБКА: тип "mvarchar" не существует (символ 31)"/"ERROR: type "mvarchar" does not exist at character 31", но мне так и не удалось создать из требуемого шаблона БД - валились разные ошибки, но если пользователя sql, от которого создаётся ИБ временно повысить до суперпользователя с правом создания БД, и указать создание базы данных в случае её отсутствия, то всё получается в лучшем виде, так что на этапе первичной настройки, видимо, придётся повышать пользователя до супер...
Что порадовало - теперь в 1С можно работать непосредственно из Linux, что актуально для компаний, использующих его как основную ОС в корпоративной сети (я сейчас работаю как раз в такой компании); из неожиданностей - что при установке клиента 1С, он заявляет о зависимости от сервера и требует его установки, но потом ставится, прописывает значки запуска в "Офис" - "Финансы" и работает довольно сносно (по ощущениям - чуть менее комфортно, чем 8.2 под Windows, но заметно приятнее, чем тот же 8.2 через WINE от Ethersoft).
6. Установка недостающих зависимостей
При запуске клиента к настроенному по данной инструкции серверу, появится сообщение "На сервере отсутствуют шрифты из состава Microsoft Core Fonts. Внешний вид приложения может отличаться от ожидаемого. Процедура установки описана в справочной системе..." - данное сообщение появляется достаточно редко (периодичность не выявил, но появляется точно не единожды, но и не при каждом запуске), и на работе особо не сказывается, но "для красоты" я решил пройтись по всей цепочке и поставить рекомендуемые пакеты. Всё, кроме "corefonts" поставилось из репозиториев (хотя в той самой "справочной системе" безбожно перепутаны регистры в названиях пакетов, из-за чего их идентификация оказалась весьма развлекательна), ну а шрифты я решил пересобрать (в соответствии с рекомендациями из "справочной системы") и результат прикрепляю к статье - msttcorefonts-2.5-1.noarch.rpm, заодно и сами шрифты (уже переименованные в нижний регистр, как происходит при сборке rpm рекомендованным скриптом) - msttcorefonts.tar.gz - содержимое этого архива рекомендуют распаковать в /home/usr1cv8/.fonts (не забыв сменить владельца как на папку, так и на файлы!), если нет возможности установить предложенный .rpm
Кроме "ImageMagick" и шрифтов, для возможности сохранения в табличные файлы (кроме xls - его я пока не заставил формироваться, хотя xlsx формируется), на клиенте должны быть установлены пакеты "libMagickWand5", "libgomp1", "liblcms2-2" и "libbz2-1" - на ряде машин они отсутствовали. При чём той же разрядности, что и сервер 1С (см. п. 4).
7. Настройка аппаратного hasp для виртуализированного сервера 1С (работающего на виртуальной машине KVM)
Не планировал описывать эту процедуру, но раз уж столкнулся с такой ситуацией, опишу... Итак, на этот раз я использовал драйвер от "Alladin Knowledge Systems USB HASP", предоставляемый компанией Sentinel - мне попались две версии:
2878061 сен 11 2012 aksusbd-2.0-1.i386.rpm - с сайта aladdin-rd.ru
3009880 авг 6 16:35 aksusbd-2.2-1.i386.rpm - с сайта safenet-inc.com
Можно воспользоваться драйвером эзерсофт - окончательный выбор следует делать из опыта практической эксплуатации.
Наиболее правильная (на мой взгляд) последовательность действий:
а) убедиться, что на хост-машине драйвер HASP не установлен;
б) установить выбранный драйвер USB HASP4 на виртуальном сервере;
в) выяснить список подключенных USB-устройств к хост-машине
[root@vh01 files]# ls -R /dev/bus/usb
/dev/bus/usb:
001
002
003
004
/dev/bus/usb/001:
001
002
/dev/bus/usb/002:
001
/dev/bus/usb/003:
001
/dev/bus/usb/004:
001
[root@vh01 files]#
г) подключить USB-HASP к хост-машине и выяснить адрес ключа:
[root@vh01 files]# ls -R /dev/bus/usb
/dev/bus/usb:
001
002
003
004
/dev/bus/usb/001:
001
002
/dev/bus/usb/002:
001
/dev/bus/usb/003:
001
/dev/bus/usb/004:
001
002 <==== это наш ключ - раньше его не было
[root@vh01 files]#
д) используя любой из способов (я использовал Virtual Manager на удалённой машине) добавить "USB Host Device" с найденным адресом (в моём примере - 004:002) к виртуальной машине 1С - может потребоваться выключение и включение машины (я добавлял устройство на выключенную машину).
Собственно, всё - на CentOS 6.4 x64/i686 всё работает (были багрепорты про CentOS 6.0/6.1, но вроде всё починили). Если при запуске виртуалки выдаётся сообщение о занятости устройства, скорее всего подцепился драйвер на хост-машине (так писали на паре форумов, хотя мне эту ситуацию воспроизвести не получилось - даже с установленным драйвером на сервере устройство мапилось корректно). Естественно, если переставить ключ в другой порт USB, придётся перенацеливать и виртуальную машину!
И напоследок, коротко о том "что где лежит":
/etc/sysconfig/srv1cv83 - файл конфигурации сервера 1С
/home/usr1cv8/.1cv8/1C/1cv8/1cv8wsrv.lst - файл, в котором хранятся основные свойства сервера - например, учётные данные администратора сервера, зарегистрированые кластеры и т.п.
/home/usr1cv8/.1cv8/1C/1cv8/reg_1541/1CV8Clst.lst - файл, в котором хранятся свойства кластера по умолчанию
/opt/1C/v8.3/x86_64/ - (вместо "x86_64" может быть "i386" - в зависимости от архитектуры системы) исполняемые файлы и сопутствующие ресурсы сервера (и клиента) 1С
/var/1C/licenses - здесь лежат файлы электронных ключей лицензий
8. Настройка локального репозитория 1С для удобства обновления платформы
В процессе эксплуатации 1С нередко приходится обновлять платформу. Если всё установлено по приведённой выше инструкции, это вызывает определённые неудобства - надо останавливать сервис, удалять старые пакеты, ставить новые... не знаю - мне это ещё в винде надоело смертельно. Linux предлагает очень удобный механизм пакетного обновления из локального репозитория - всё, что нужно - это выбрать место, где будут лежать обновки: для одиночного сервера, к которому все ходят только через web-интерфейс, это может быть /root/repo (всё равно обновление под рутом идёт), ну а в общем случае - хоть /var/www/1c-repo - главное, чтобы все, кому он нужен, его видели. Далее надо установить пакет 'createrepo' (yum install createrepo) - за собой он притащит немало зависимостей, но не смертельно. Теперь командой 'createrepo /root/repo' (где "/root/repo" - выбранный путь хранения репозитория) создаём его "описание" и можно пользоваться.
Затем создаём файл описания нашего репозитория и помещаем его в каталог описаний репозиториев (для CentOS это /etc/yum.repos.d). Пример конфига локального файлового репозитария:
[root@1c yum.repos.d]# cat local-1c.repo
[local-1c]
name=1C Enterprise
#baseurl=http://inhost.firm.lan/repo
baseurl=file:///root/repo
gpgcheck=0
enabled=1
По-моему, разъяснять что за что отвечает, особого смысла нет. Единственное, что важно - сразу yum его может не увидеть - в этой ситуации поможет очистка его кэшей (yum clean all).
Всё. Теперь если надо обновиться, то помещаем новые файлы дистрибутива 1С рядом со старыми, повторяем 'createrepo /root/repo' вызываем 'yum update' - и всё - платформа пошла обновляться! Естественно, за сохранностью и защищённостью своего репозитория надо следить, так как GPG у нас выключен, и это всё же дыра в безопасности, хоть и не особо толстая...
В одном документе для расчета потребовалось получать данные из отчета на СКД, реализовал следующим образом:
Программная защита привязывается к железу и к установленной операционной системе:
В коробке с программой вы найдете желтый листочек. Вверху будет написан регистрационный номер программы, а внизу даны пин-коды от программных ключей. Как его установить подробно написано на этом же листке.
Комбинированная - содержит лицензии обоих видов, но активирован при этом может быть только один, если из такого набора первым был активирован однопользовательский пин-код, то в дальнейшем использовать эту лицензию как многопользовательскую уже не получится.
Серверная лицензия позволяет запускать неограниченное число рабочих процессов сервера 1С:Предприятия (rphost) на одном сервере, делится на 32-х и 64-х разрядную, при этом 64-х разрядная лицензия позволяет запускать и 32-разрядную версию сервера.
Однопользовательская лицензия поставляется с основной поставкой или в виде лицензии на одно рабочее место. Может быть установлена на компьютер, сервер 1С:Предприятия, модуль расширения веб-сервера или сервер терминалов. В случае установки на сервер складывается с другими активированными на сервере лицензиями и используется, кроме сервера терминалов, как многопользовательская.
Многопользовательские лицензии поставляются в комплектах на 50, 100, 300 и 500 лицензий и могут быть установлены только на сервер 1С:Предприятия, модуль расширения веб-сервера или сервер терминалов, в последнем случае используются как однопользовательские.
Комплекты на 5, 10 и 20 пользователей являются комбинированными, тип лицензии выбирается в момент активации первого пин-кода.
Для однопользовательской версии пин-коды выглядят примерно так:
Первый пин-код для первичной установки лицензии. Остальные два & запасные. При активации запасного ключа & деактивируется первый. Рекомендую помечать имя компьютера на котором активирован ключ, а также сохранять в файл данные об организации запрашиваемые при активации и распечатывать их и хранить как зеницу ока, так как при замене компьютера и активации запасной лицензии их надо вводить точно такие же как в первый раз.
Сетевые (многопользовательские) версии:
Для сетевых версий даются два вида пин-кодов & однопользовательские и многопользовательские. У каждого вида есть основные и запасные ключи.
Допустим у 5-ти пользовательской версии будет: 5 основных однопользовательских и к ним 2 запасных или 1 многопользовательский и к нему 2 запасных.
Возникает вопрос: в каких случаях использовать те или другие?
Допустим базу вы положили на сервер в файловом варианте, а пользователи будут заходить по сети и у каждого будет установлена платформа локально, в
Если пользователи будут заходить на серевер через терминальный доступ, RITMIX и другое, т.е. работать непосредственно на сервере, тогда активируем многопользовательскую лицензию. В этом случае обновление платформы производим на сервере.
Рекомендую у каждого ключа помечать имя компьютера, на котором он был установлен и распечатать файл с данными организации которые вы вводите при активации и хранить его в укромном месте, вместе с реганкетами.
Устанавливал клиенту Розницу 1С и сканер штрихкода Honeywell Voyager 1450. При стандартной настройке - сканер работает в режиме клавиатуры. Но в
Было решено подключить через COM:
1. До подсоединения сканера, установить драйвер «Honeywell Scanning and Mobility (HSM) USB Serial Driver» с страницы (раздел «Программное Обеспечение»). На сайте производителя
2. Подсоединить сканер к USB порту ПК. Дождаться установки устройств.
3. Считать управляющий штрих-код «USB Serial» (TERMID130) из руководства по установке. Вот его скрин:
Должно появиться новое устройство в секции «Порты (COM и LPT)».
В свойствах настройки я переключил на COM4.
В 1С выбираем драйвер 1С Native Api - он подходит и работает. Стандартный COM не подошел, т.к. суффикс NONE нам отсутствует!
В открывшемся окне нажмите кнопки Функции -> Тест устройства
В новом окне нажмите кнопку очистить , а затем сосканируйте любой ШК и в окне появится результат сканирования и будет ясно к какому по номеру СОМ подключен сканер.
Закройте окно Теста устройства и Запишите настройки сканера ШК.
Замечание:В моем случаем поле Суффикс нужно было указать NONE, но бывает что нужно устанавливать (13)CR - зависит от модели сканера.
Все - сканер работает
Для возвращения к режиму USB сосканируйте TRMUSB130 из скрина выше или вот код восстановления стандартных настроек сканера:
Нужно выводить на каждой странице отчета, шапку. Отчет сделан через СКД (Схема компоновки данных). В схеме есть макет, в нем есть ячейки шапки.
Для этого используется метод - ПовторятьПриПечатиСтроки, о нем я уже писал: Как при печати выводить шапку на каждой странице (ПовторятьПриПечатиСтроки)?
Код кнопки формирования отчета:
Процедура вывода отчета:
Если дополнительно нужно вывести колонтитулы,
тогда:
Пример создания внешней печатной формы АКТа для Бухгалтерии 3.0
1. В конфигураторе 1C Предприятия 8 создаем внешнюю обработку (Файл->Новый->Внешняя обработка), задаем имя.
2. В модуле обработки пишем код. Постараюсь его максимально комментировать. Главное должно быть:
3. Добавляем макет вывода печатной формы:
4. Сохраняем и добавляем в конфигурацию:
Подключается через Администрирование - Печатные формы, отчеты и обработки:
Создаете новую обработку, записывайте и при открытии документа Реализация, нажав на Печать - появляются доступные печатные формы с разными подписывающими.
Скачать Шаблон внешней печатной формы для управляемого приложения
На днях делал несколько однотипных отчетов на СКД.
Общий принцип: формируются все варианты отчета, указанные в настройках схемы и каждый вариант выводится на отдельной вкладке.
Потом возникла мысль попробовать объединить все схемы в один отчет, чтобы не плодить лишних объектов в конфигурации. При этом количество вариантов в этих схемах заранее неизвестно. Ok, challenge accepted.
В тестовой конфигурации создаю для отчета две схемы компоновки, "Склад" и "Заявки".
Запросы наборов данных приводить не буду, для каждой схемы в настройках добавляю несколько вариантов отчетов.
Теперь переходим к созданию формы. Практически все реквизиты формы будут создаваться при выборе необходимого макета отчета.
Смотрим, что получилось.
Выгрузка базы 1Cv8skd.rar
Каждый расчетчик сталкивается с начислением планового аванса, но как правильно это оформить в ЗУП 2.5 знает не каждый.
Ниже небольшая инструкция по начислению планового аванса в ЗУП:
В ЗУПе разработаны два способа расчета аванса:
- Аванс фиксированной суммой;
- Аванс за первую половину месяца пропорционально отработанным
Откройте Сервис - Параметры учета и установите настройки значений для Вашей организации:
Необходимо в списке справочника «Сотрудники организаций» в поле «Аванс» указать сумму, которая будет являться фиксированным авансом для каждого из сотрудников.
После этого как вы заполните все фиксированные суммы по сотрудникам, чтобы выплатить аванс. Открываем документ «Зарплата к выплате».
«Расчет зарплаты - Касса и Банк - Зарплата к выплате организаций»
Создаем новый документ
Указываем в нем месяц начисления (аванс за какой месяц выплачивается), способ выплаты (через кассу или через банк). Самое главное поле это поле «Выплачивать». В нем надо обязательно выбрать вариант «Плановый аванс». После этого нажимаем кнопку «Заполнить» и табличная часть документа будет заполнена сотрудниками, по которым мы указали размер аванса в справочнике «Сотрудники организаций».
Проведем документ, далее за каждым сотрудником получившим аванс формируется задолженность перед организацией, т.е. они оказываются должны предприятию. Это происходит поскольку к моменту выплаты аванса, ещё не была начислена основная часть заработной платы документом «Начисление зарплаты». Это можно увидеть в отчете «Расчетная ведомость организации» и «Свод начисленной зарплаты».
Когда нужно выплатить аванс за половину месяца пропорционально отработанному времени то для этого в программе 1С Зарплата и Управление Персоналом есть специальный функционал - Документ «Начисление зарплаты» и конечно «Зарплата к выплате».
Открываем документ «Начисление зарплаты». В нем необходимо указать месяц начисления и в поле «Режим начисления» обязательно выбрать «Первая половина текущего месяца». После этого по кнопке «Заполнить» получить в табличной части перечень сотрудников с их начислениями
и по кнопке «Рассчитать - Полный расчет» - идет расчет аванса за первую половину месяца. При этом обратите внимание, что у сотрудников в качестве начислений присутствуют не только основные плановые начисления, но и все дополнительные плановые начисления положенные работникам.
НДФЛ
Проведение документа «Начисление зарплаты» с режимом начисления «Первая половина текущего месяца» на самом деле не делает никаких начислений, а лишь осуществляет расчет сумм аванса. Поэтому, когда мы в конце месяца будем пользоваться этим документом для расчета зарплаты, то он снова будет считать всех сотрудников с первого числа месяца, а не с середины.
После расчета аванса в документе «Начисление зарплаты» необходимо его провести и обратиться к документу «Зарплата к выплате». В нем указываем месяц начисления и в поле «выплачивать» выбираем «Аванс по расчету за первую половину месяца». Жмем кнопку «заполнить». В результате табличная часть будет заполнена сотрудниками, для которых рассчитан аванс за половину месяца за вычетом НДФЛ.
Как и в первом случае после проведения документа «Зарплата к выплате», сформируется задолженность сотрудника перед организацией.
Необходимо чтобы в аванс начислялось 40% от суммы месячного оклада, Как начислить?
В списке сотрудников или в регистре сведений Авансы сотрудникам организаций (меню Расчет зарплаты по организациям - Касса и банк - Авансы сотрудникам организаций) указываете сумму планового аванса 40 от зп вашего сотрудника.
Далее формируете документ "Зарплата к выплате" операция "плановый Аванс"
Как рассчитать НДФЛ с аванса?
Уточните, плз, что должно выплачиваться за первую половину месяца: собственно аванс или зарплата за 1 половину месяца?
1.Если аванс, но это НЕ НАЧИСЛЕНИЕ! Это-ВЫПЛАТА!
Сразу создаем документ Зарплата к выплате, заполняем его из фиксированной суммы аванса, заданной в регистре сведений Авансы сотрудникам.
НДФЛ НЕ ПЛАТИМ!
Да, неудобно фиксированной суммой.
Можно, да, заполнить эти фиксированные суммы какой-нибудь обработкой.
Или заполнять обработкой не регистр сведений Авансы сотрудникам, а сам документ Зарплата к выплате.
2.Если это зп за 1 половину месяца, то она, действительно, расчитывается док.Начисление зп за 1 половину месяца, берется и уплачивается НДФЛ и т.п. Но начисляем не аванс как таковой, а часть оклада, тарифа, надбавок за часть месяца.
Это должно быть прописано в официальных документах организации, а не "как удобно расчетчику"
И,-подчеркну.-аванс это НЕ начисление. Начисляются-оклад, тариф, надбавки.
Мы НЕ назначаем такое начисление-аванс.И формулу его создать стандарными средствами НЕ можем.
Подскажите пожалуйста, пытаюсь людям начислить аванс, выбрала "плановый аванс" 50% от з/п, проставила у каждого сотрудника. Затем делаю "выплата", выбираю "банк", так как хочу на карты перечислить, и тут у меня отображается только один сотрудник...в чем подвох? хотя если выбрать "через кассу" отображаются все..Лицевые счета по всем заполнены.
В программе вы можете "плановый аванс" задать как вид выбираемой операции в док-те "Зарплата к выплате" . Тогда в ведомость автоматически подставятся суммы, проставленные каждому сотруднику. Причем, те сотрудники, которым вы не назначали плановый аванс, в такую ведомость не попадут.
Далее, если способ выплаты вы выбираете "через кассу", то такой вариант ведомости предоставляет впоследствии лишь возможность "ввести на основании" РКО (кассовый документ). Так реализовано в Зарплате и Управлении Персоналом 8, ред. 2.5.
А если вы выбираете способ выплаты - "через банк" , то справа открывается поле для контрагента- банка, в который вы передаете ведомость на списание суммы с вашего р/счета на карточные зарплатные счета ваших сотрудников по Зарплатному проекту.
В
Но если у вас установлен упрощенный вариант учета взаиморасчетов с сотрудниками, то у вас не получится ни платежное поручение ввести (как документ), ни в выписке банка что-либо оформить в конфигурации.
Кроме того, есть ещё вариант для того, чтобы некий аванс попал в ведомость для перечисления с банковского счета (или по расходом кассе). Для этого нужно производить отдельный расчет (док-том Начисление з/пл) за первую половину месяца. Такой расчет должен учитывать фактические невыходы (табель учета раб.времени), то есть выплата не просто плановой суммой, а в меньшей сумме, если первая половина месяца отработана сотрудником не полностью.
Что при разработке отчетов требуется чтобы у пользователя с ограниченными правами, отчет формировался полностью без проверки прав!
1. Установить привилегированный режим в модуле отчета
Форма отчета должна быть Управляемой, далее в модуле отчета процедура обработчика «При компоновке результата»:
2. Формирование в привилегированном режиме через Общий модуль с галкой Привелигерованный
Создаем общий модуль
так же как в пункте 1 в обработчике «При компоновке результата» пишем:
В общем модуле МЕ_ДляОтчетаСКД_ПривелРежим код:
3. Если включен режим Использовать ограничение на уровне прав доступа - RLS
Часто используется в типовых. Тут в модуле для текущего пользователя можно на время формирования отчету установить параметр сеанса ИспользоватьОграниченияПравДоступаНаУровнеЗаписей в Ложь и RLS не сработает.
После завершения формирования, не забудьте включить rls обратно установив = Истина
4. Если в запросе используется конструкция вида регистратор.дата и это поле не отображается в полях отчета СКД
Допустим Вы сделали запрос по регистру накоплений и через регистратор обратились к дате или сумме документа и при формировании отчета СКД, эти поля недоступны !? как же быть?
Проблема в том - что у регистратором может выступать несколько документов и видимо права чтение/просмотр есть не на все - поэтому через скд эта таблица целиком недоступна, решение:
1. открыть доступ на все регистраторы регистра
2. в запросе четко обозначить тип
В дополнении у пункту 1, код процедуры сформировать отчет(). Для вывода отчета я использую шаблон All4CF.ru_Template_SKD_v4.1 в нем уже реализованы почти все необходимые функции и работает в Обычных и УП формах:
Установили новый терминальный сервер, на нем подняли 1С, терминальные пользователе неописуемо довольны, все просто летает
И вот же надо было
server_addr=tcp://192.168.1.123:1541 descr=192.168.1.123:1541:10060(0x0000274C): Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ; line=842 file=src\DataExchangeTcpClientlmpl.cpp
Выполняется ожидание возможности запуска.
При появлении возможности, запуск будет выполнен автоматически.
Полный скрин:
Решение:
Первое что приходит на ум, отключить антивирус и брандмауэр на сервере:
И тут же 1С запускается! Итог - нужно добавить правила для 1С в антивирус и брандмауэр.
Недавно я уже описывал решение проблемы: Ошибка сетевого доступа к серверу (Windows Sockets - 10060 (0x0000274C)) в нем пришлось еще прописать IР-шник сервера в файле C:\WINDOWS\system32\drivers\etc\hosts и еще в C:\Program Files\1cv8\bin\conf\nethasp.ini в описании [NH_TCPIP] в строке NH_SERVER_ADDR = IР-шник вашего сервера - Возможно Вам это тоже понадобится
Кратко суть проблемы можно озвучить цитатой из документации: "Передача параметра из источника в приемник доступна только при обмене между информационными базами на платформе 1С:Предприятие 8".
Ниже излагается способ передачи глобальных параметров при
Итак, в обработчике ПередВыгрузкойДанных пишем код:
после этого данные параметры будут абсолютно штатно загружены в стандартной обработке "Универсальный обмен данными в формате XML (2.1.5)".
Ещё хотелось бы заметить, что содержимое обработчика ПослеЗагрузкиПараметров при
Нюанс: чтобы иметь параметры на ранних стадиях загрузки, например, в обработчиках ПередЗагрузкойДанных или ПередОбработкой в ПОД (правилах очистки данных), нужно помещать выгружаемые параметры в корень узла с выгружаемыми данными:
Автор: andrewks - Источник
Поскольку отсечь ненужные пробелы в самом запросе достаточно проблематично, приходиться обрезать пробелы при установке параметров. Но часто значительно удобнее заполнить параметры макета "скопом" без отдельного присваивания каждого из них. В