Оптимальным решением является установка Bullzip PDF Printer . После установки в системе появляется виртуальный принтер, с помощью которого можно "печатать" в файл pdf из любого приложения. Программа бесплатная, работает в терминале и имеет поддержку русского языка.
После установки, можно печатать напрямую используя код:
Здесь функция ПолучитьПринтерПоУмолчанию() нужна для того чтобы вернуть печатной форме принтер по умолчанию, т.к. если напечатать без предварительного просмотра то печать пойдет на виртуальный PDF принтер BullzipPDFPrinter.
Пример реализации автоматич. расчета следующего номера, нумерация
Предположим, у документа Начисление Отпуска слетела нумерация, кто-то влез и ручками исправил номер документа
Самый простой способ исправить ситуацию - найти документ с некорректным номером и изменить в нем номер на правильный.
Или можно перенумеровать воспользовавшись специальными обработками - https://helpf.pro/files/view/8.html https://helpf.pro/files/view/11.html
Ну а если найти некорректный документ не удается, а использовать обработки перенумерации нежелательно, тогда:
в модуле документа, у которого слетела нумерация, в процедуре
добавить (пример для документа "НачислениеОтпуска" ):
Функция возвращает список значений содержащий список баз установленных на данном компьютаре. В котором в качестве значения указывается путь до базы, а в представлении название базы, так как она отображается в окне выбора баз при запуске 1С. Если баз не обнаруженно то возвращает строку "Error"
глРазложить(Стр,Разделитель)
Параметры:
Стр - строка, которую необходимо разложить на подстроки.
Параметр передается по значению.
Разделитель - строка-разделитель, по умолчанию - запятая.
Возвращаемое значение:
список значений, элементы которого - подстроки
Описание:
Функция "расщепляет" строку на подстроки, используя заданный разделитель.
Разделитель может иметь любую длину.
Если в качестве разделителя задан пробел, рядом стоящие пробелы
считаются одним разделителем, а ведущие и хвостовые пробелы параметра Стр
игнорируются.
Пример:
глРазложить(",ку,,,му", ",") возвратит список значений из пяти элементов,
три из которых - пустые строки, а
глРазложить(" ку му", " ") возвратит список значений из двух элементов
1cv7.exe MODE [ /M | /D | /U | /N | /P ], где MODE - режим запуска, может принимать только одно из трех значений:
config - режим конфигуратора;
debug - режим отладчика;
enterprise - нормальный (рабочий) режим 1С;
Предприятие. следующие ключи опциональны:
/M - запуск программы в монопольном режиме;
/D - каталог базы данных;
/U - рабочий каталог пользователя (каталог из списка пользователей игнорируется);
/N - имя пользователя;
/P - пароль пользователя;
/T<путь> - путь к временным файлам
/@<ИмяФайла> - для режима конфигуратора с указанием файла пакетного запуска
/W - инициализация Web расширения
Примеры:
в этом случае произойдет запуск программы без вывода диалогов о выборе базы и режима работы, а также без запроса имени и пароля пользователя.
Запуск 1С в режиме Предприятие, база из каталога D:\1C_base\ZIK\basa, Пользователь Администратор, Пароль 220366, Монопольно
Запуск 1С в режиме Конфигуратора, база из каталога D:\1C_base\ZIK\basa, Пользователь Администратор, Пароль 220366,
Путь к файлу с параметрами пакетного режима
Для пользователя:
Когда Вы запускаете 1С: Предприятие или Конфигуратор перед Вами появляется окно запуска. Если выделена нужная база, то внизу Вы можете увидеть путь к базе. Он должен выглядеть примерно как "D:\1Cbase"
1)НЕ СТАВЬТЕ МЕНЕДЖЕР ЛИЦЕНЗИЙ В ТЕРМИНАЛЕ (точнее устанавливайте в 0-й сессии, запуская %SystemRoot%system32mstsc.exe /console
2) сначала ставьте менеджер лицензий, и только потом устанавливайте сетевой ключ
3) если клиент 1С 8.0 видит ключ, это не значит что увидит 8.1 (файл теперь обычно C:Program Files1cv81inconf
ethasp.ini)
4) в терминале локальные ключи не видны, надо в nethasp.ini прописывать в явном виде место расположения сетевого ключа и менеджера лицензий
NH_SERVER_ADDR = 192.168.159.1 ;;(IP-адрес должен быть правильный)
5) клиент 8.1 сначала ищет локальный ключ и если его находит, никогда не будет искать сетевой
6) несколько сетевых ключей или локальный и сетевой ключ на один компьютер ставить нельзя
7) для серверной части 1С надо бывают ТОЛЬКО ЛОКАЛЬНЫЕ НЕ КЛИЕНТСКИЕ ключи
Здорово серверный 64 битный ключ (он зеленый) поддерживает 32битный сервер, в том числе 8.0, но серверный 32битный ключ не поддерживает 64битный сервер 1С
9) для SQL ключей не надо, он не проверяет даже купленные свои лицензии, но покупать их надо : )
10) если большая нагрузка в сети и много клиентов, то менеджер лицензий может не успеть выдать лицензию : ), чтобы это решить, увеличьте интервал опроса к менеджера лицензий клиентов в C:Program Files1cv81inconf
ethasp.ini
NH_SESSION = 5
NH_SEND_RCV = 4
NH_USE_BROADCAST = Disabled
И ограничьте в C:Program FilesAladdinHASP LM nhsrv.ini компьютеры с которых могут подключаться пользователи, например
NHS_IP_LIMIT = 10.24.2.18-99
11) для 64битных менеджеров лицензий или просто свежие скачайте драйвера с http://www.aladdin.ru/support/download/category260
12) на сервере с менеджером лицензий должен быть статический ip-адрес
13) при большом количестве пользователей раздавайте менеджеры лицензий для каждого клиента персонально, указывая конкретный компьютер
NH_SERVER_ADDR = 192.168.159.1 ;;(IP-адрес должен быть правильный)
В XP или 2000 надо положить v7plus.dll в каталог, где установлена сама 1С (по умолчанию C:\Program Files\1cv77\BIN), удалить dll из каталогов баз и один раз запустить любую из баз под пользователем с правами администратора компьютера.
Все эти действия нужны, чтобы 1С зарегистрировала компоненту в реестре и для всех баз путь к компоненте был одинаковым и не требовалась перерегистрация компоненты для каждой базы при каждом запуске.
Регистрация вручную:
Пуск - Выполнить или в командной строке введите: regsvr32 C:\Program Files\1cv77\BIN\v7plus.dll
При работе в 1C:Предприятие 7.7 под операционнй системой Windows Vista при использованиии компоненты v7plus.dll (например, при выгрузке данных в формате XML) происходит ошибка: "Ошибка при создании объекта из компоненты v7plus.dll (отсутствует CLSID)"
Решение данной проблемы в Vista и 7:
Отключить UAC (Панель управления/Учетные записи пользователей/Включение или отключение контроля учетных записей (UAC).
Перезагрузить компьютер.
Запустить 1С.
Закрыть 1С.
Включить UAC.
Перезагрузить компьютер.
Больше при открытии ошибки не будет.
Данный метод позволяет решить проблему без нарушения безопасности.
После разнесение сервера 1С:Предприятия и SQL-сервера на разные машины при загрузке dt-файла в базу расположенную на SQL-сервере стали получать ошибку "Недостаточно свободной памяти на сервере 1С:Предприятия".
или (Ошибка СУБД: Microsoft OLE DB Provider for SQL Server: there is insufficient memory in resource pool ‘default’ to run this query. HRESULT=80040E14 )
Решение проблемы:
1. При возникновении ошибки перезапустить службу сервера 1С.
2. Использовать много процессов(В свойствах кластера поставить галочку "Много процессов"). Добавить рабочие процессы, оптимальное значение 4-5 процессов.
3. Использовать регламентный перезапуск рабочих процессов. Но это не снимет проблему. Просто сократит "утечку" памяти.
4. Для операций с базой данных, например копирование базы данных использовать средства ms sql, а не работу с файлами dt.
5. Включите запись событий DBMSSQL в Технологический журнал
(Смотрите текст файла "logcfg.xml" ниже или воспользуйтесь обработкой с ИТС НастройкаТехнологическогоЖурнала.epf) и определите, на загрузке какой таблицы происходит ошибка. Если config, то выполните загрузку в файловый вариант и очистку конфигурации поставщика:
5.1 Для этого надо проверить конфигурацию на наличие некорректной информации. Для этого следует выполнить команду меню Конфигурация - "Проверка конфигурации" (НЕ ТЕСТИРОВАНИЕ!) с ОДНИМ установленным флажком "Проверка логической целостности конфигурации". При выявлении проблем будет выдано сообщение. Некорректная информация при этом будет удалена автоматически
5.2 Если Ваша конфигурация находится на поддержке, следует подобным образом проверить конфигурацию поставщика. Для этого в настройке поддержки следует сохранить конфигурацию поставщика в cf файл, загрузить его в новую базу и выполнить описанную в пункте 1 процедуру. В случае, если было получено сообщение об исправлении ("Удалена некорректная информация о метаданных"), значит конфигурация поставщика содержит некорректную информацию. В этом случае следует снять Вашу конфигурацию с поддержки и заново поставить путем объединения со свежим релизом конфигурации поставщика.
Добавление рабочего процесса
Добавление рабочего процесса, в отличие от просмотра, возможно, только для конкретного сервера кластера.
Для добавления нового рабочего процесса сервера кластера следует выбрать в дереве центральных серверов требуемый сервер, выбрать требуемый кластер, выбрать требуемый сервер кластеров выбрать ветку «Процессы» и выполнить команду контекстного меню "Создать - Процесс", галочкой Включить процесс.
Если процесс НЕ добавляется, то проверьте и сделайте следующее:
1. В свойствах Кластера должна стоять галочка "Много процессов"
2. В свойствах Рабочего сервера Увеличьте Диапозон IP адресов
По поводу перезапуска рабочих процессов - с какого момента начинается отсчет указанный в настройке кластера?
С момента старта процесса. Например стартовал в 18:00:00. Период перезапуска 86400 секунд, т.е. 24 часа. Соответственно через сутки в 18:00:00 процесс остановится и будет создан новый процесс.
Оптимизация перезапуска рабочих процессов:
1. Интервал перезапуска: 86400 сек (24 часа). Момент перезапуска не регламентируется, видимо с момента установки параметров, либо запуска сервера приложений.
2. Также можно указать допустимый объем памяти: 3000000 Кб (3 Гб).
3. Интервал превышения допустимого объема памяти — это непрерывный интервал времени превышения допустимого объема памяти, после которого сервер перезапустит процесс. Если указано 0 сек — будет ждать вечно.