Решение проблем с печатью, предварительным просмотром печати, пакетной печатью 1С: 7.7 в терминале

Публикация № 529876

Администрирование - Системное

Проблема с печатью moxel предварительный просмотр пакетная печать решение проблемы с печатью не печатает терминал не печатает в терминале

1
Периодически сталкивался со следующими проблемами при печати в 1С: 7.7 работающей под терминалом:
1) После замены принтера на клиентской машине 1С пытается печатать на старый принтер.
2) Отсутствует предварительный просмотр при печати.
3) Не работает печать без предварительного просмотра (пакетная печать документов).
4) В некоторых формах печатает, в некоторых нет.

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

HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\НазваниеБазы\V7\ИмяПользователя\Moxel

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

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

Обработка при нажатии кнопки Сформировать с помощью функции "ПолучитьТекущуюБазу(КаталогИБ())", которая возвращает имя БД, удаляет из HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\НазваниеБазы\V7\ИмяПользователя\Moxel настройки принтера по умолчанию, по сути можно очистить всю ветку MOXEL, если необходимо выполнить сброс всех настроек печати для данного пользователя данной БД.

1

Скачать файлы

Наименование Файл Версия Размер
Обработка с примером кода для вставки в глобальный модуль
.ert 22,00Kb
09.06.16
10
.ert 1 22,00Kb 10 Скачать

См. также

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. mszsuz 75 09.06.16 16:38 Сейчас в теме
А опции печати (направление, масштаб) на месте остаются?
Вообще для 7.7 имя принтера должно быть не более 8 символов и не содержать пробелов.
И тогда все будет работать как надо.
2. tux 11 10.06.16 08:36 Сейчас в теме
(1) mszsuz, да опции печати остаются как прежде если удалять только раздел default если удалить все в разделе moxel то удаляются и настройки печати, количество символов имени принтера не всегда удается контролировать так как клиентов много, принтера меняются (филиалы находятся в разных регионах и обслуживаются разными компаниями и требовать от каждого длину имени принтера не вижу смысла)
3. Vladimir87 221 26.02.18 06:46 Сейчас в теме
Автору спасибо, помогло! В моем случае было такое: в 1С-ке при нажатии кнопки "Печать" отображался нужный сетевой принтер, при нажатии "ОК" печать шла на другой сетевой принтер (его ранее удалили из настроек пользователя).
Сначала грешил на ветку реестра HKEY_CRRENT_USER\Software\Microsoft\Windows NT\Device. Удалял старые, ненужные принтеры, но не помогало. Удаленные записи появлялись вновь. Потом прочитал вашу статью, посмотрел в HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\НазваниеБазы\V7\ИмяПользователя\Moxel и действительно увидел те самые старые записи, которые дублировались в ветку Device, при запуске 1С. В общем удалять ничего не стал, просто подправил сетевые имена принтеров и все заработало. Еще раз спасибо за статью!
Оставьте свое сообщение