Не работает "разобрать по копиям" 1С 8.2 + win 2008

1. 8 02.06.12 17:24 Сейчас в теме
Доброго дня. Проблема следующая:

У одного из пользователей 1С не работает функция "разобрать по копиям", печатает что с галкой, что без нее сначала первую страницу, затем вторую и так далее.

дано: УТ 10.3.18.3 1с 8.2.15.310 win2008 SP2

Принтер HP LaaserJet

У всех пользователей кроме одного, данный принтер без проблем разбивает документ на копии при печати. Драйвер принтера пробовали перестанавливать, пробовали отправлять на другой принтер, все то же самое. У всех работает, у одного не работает. В какую сторону советуете капать?
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. eoego1 02.06.12 22:59 Сейчас в теме
Если пользователь работает в терминальном режиме попробуйте удалить профиль этого пользователя и дать ему снова войти, профиль создастся новый и все глюки исчезнут, бывает помогает.
3. alexstav 6 18.07.12 09:41 Сейчас в теме
Такая же проблема в 1С Торговля + Склад 7.7, в интернете нашел много таких вопросов а ответов нет
4. Bud78 8 18.07.12 10:07 Сейчас в теме
Проблема решилась довольна просто.
заходим в предварительный просмотр, далее в настройки печати, меняем отступы от краев и печатаем документ. В этот момент, настройки пользователя перезаписываются и печатают в стандартном режиме. При след. печати отступы можно вернуть, как и были раньше.
gayann; tda; +2 Ответить
14. o.mordovenko 28.02.18 17:21 Сейчас в теме
(4) РЕШЕНО!
В моем случае проблема определилась непосредственно в профиле пользователя 1С, причем глюк не в кеше, а где-то хранится в базе 1С, так как с того-же рабочего места зайдя под другим пользователем 1С печать выполняется корректно с разбором по копиям, а под глючным пользователем разбор не работает хоть убейся, не помогает ни смена драйверов принтера, ни редактирование настроек печати. (программист 1С обещал посмотреть со своей стороны в чем разница между профилями).
(4)
5. sp1406 22.01.13 09:54 Сейчас в теме
6. vithak 22.01.13 10:59 Сейчас в теме
для 7.7 подобное лечил удалением ветки реестра с названием "moxel". в этой ветке хранятся все настройки печати пользователя.
7. adamych8 5 15.03.13 12:05 Сейчас в теме
В 7.7 на 2008х64 эта проблема помоему вообще не лечится, я уже полинтернета прочитал, решений не нашел.
8. adamych8 5 15.03.13 12:06 Сейчас в теме
С moxel кстати сегодня попробую, потом отпишусь.
9. gayann 21.03.13 12:17 Сейчас в теме
(8) adamych8, Как успехи, получилось ?
10. adamych8 5 21.03.13 12:26 Сейчас в теме
11. nikanat 07.05.13 02:38 Сейчас в теме
Присоединяюсь к проблеме.. Помогите советом плз.. 7.7 + винда 2008 серв р2, в терминале..
12. nikanat 19.08.15 14:28 Сейчас в теме
неужели так и не решена проблема для 7.7 ???
arifulina; +1 Ответить
13. lokli 30.12.16 15:07 Сейчас в теме
Ну что, есть еще пользователи 7.7? ))
Тоже столкнулся с тем, что при печати с 1С 7.7 в 64-битных ОС не разбирает по копиям.
Оказалось всё дело в окошке параметров печати 1С 7.7. Оно, судя по всему, что-то сбивает. Если отправлять на печать кодом, без вызова этого окна, то по копиям разбирает.
Во вложении обработка для проверки.
Всех с наступающим Новым Годом!
Прикрепленные файлы:
Печать_РазборПоКопиям.ert
15. EVKash 13 13.01.21 15:15 Сейчас в теме
(13)
Ну что, есть еще пользователи 7.7? ))

Есть))
Тоже столкнулся с тем, что при печати с 1С 7.7 в 64-битных ОС не разбирает по копиям.

Разрядность ни при чем. Проблема начиная с Win7 и выше.
Оказалось всё дело в окошке параметров печати 1С 7.7. Оно, судя по всему, что-то сбивает. Если отправлять на печать кодом, без вызова этого окна, то по копиям разбирает.

Окошко печати устанавливает параметр "Collate" в 0. Но даже если и отправлять на печать по ктрл+шифт+Р, то все равно двусторонняя печать работает не правильно с нечетным количеством страниц - вторая копия наезжает на первую.

Для двусторонней печати сделал заглушку с Yoksel для печатной формы УПД. При открытии выдается запрос количества копий. При нажатии ОК указанное количество копий отправляется на принтер выбранный в параметрах страницы. Если принтер не найден, то улетит на принтер по умолчанию.
Клюшки знаю очень плохо, так что камнями не кидать)))
ПриОткрытии заменил на
Функция ИмяТекущейИБ() 
	
    попытка
        // Создаем объект Microsoft Script Control.
        олеСкрипт = создатьобъект("MSScriptControl.ScriptControl");
        // Устанавливаем в качестве языка для выполнения сценариев Visual Basic
        олеСкрипт.Language = "VBScript";
        // Формируем код на VB.
        // В принципе он все делает. Создает объект
        // Windows Management Instrumentation и уже через него
        // получает значение ключи реестра преобразовывая данные
        // в строку.
        стрКод =
        "function strGetListBase()
        |  const RootKey = &H80000001
        |  set Reg = GetObject(""winmgmts:{impersonationLevel=impersonate}!\\."" &_
        |                      ""\root\default:StdRegProv"")
        |  PathKey = ""Software\1C\1Cv7\7.7\Titles""
        |  Reg.EnumValues RootKey, PathKey, Arr
        |  Answer = ""{""""СписокЗначений"""",{""
        |  for x = LBound(Arr) to UBound(Arr)
        |    call Reg.GetStringValue(RootKey, PathKey, Arr(x), Value)
        |    Answer = Answer & ""{{""""Строка"""","""""" &_
        |             Arr(x) & """"""},"""""" & replace(Value, """""""", """""""""""") &_
        |             """""",""""0""""}""
        |    if x <> UBound(Arr) then Answer = Answer & "",""
        |  next
        |  Answer = Answer & ""}}""
        |  strGetListBase = Answer
        |end function";
        // Добавляем наш код.
        олеСкрипт.AddCode(стрКод);
        // Вызываем его на выполнение, и пытаемся из полученного результата
        // сформировать список значений.
        сз = значениеизстроки(олеСкрипт.Run("strGetListBase"));
        // Отсортируем список по Представлению баз
        сз.СортироватьПоПредставлению();
    исключение
        // Если произошла ошибка. Значит вернем "Error".
        Возврат "Error";
    конецпопытки;
    //возврат Ответ;
	
	предст = "";
	
	для к=1 по сз.РазмерСписка() цикл
		
		зн=сз.ПолучитьЗначение(к, предст);
		
		Если зн = КаталогИБ() Тогда
			Возврат предст;
		КонецЕсли;
		
	конецЦикла;
	
	Возврат "Error";

КонецФункции //ИмяТекущейИБ


////////////////////////////////////////////////////////////­////////////////////
// ПРЕДОПРЕДЕЛЕННЫЕ ПРОЦЕДУРЫ
// 
//******************************************************************************
// Предопределенная процедура
//
Процедура ПриОткрытии()
	
	Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
		
		Докум      = Форма.Параметр.Получить("Контекст");
		Устройство = Форма.Параметр.Получить("Устройство");
		КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
	
		Если Докум.Выбран() = 0 Тогда
		    Предупреждение("Не записан документ!", 60);
			Статусвозврата(0);
			Возврат;
		Иначе
			Докум = Докум.ТекущийДокумент(); 
		КонецЕсли;
        		                                    
		Таб=0;
		
		ПечатьУПД(Докум, Устройство, КолвоКопий, Таб);
		Статусвозврата(0);
		//Возврат;
	КонецЕсли;
	
	КолвоКопий1 = 2;

	Если ВвестиЗначение(КолвоКопий1, "Отправить на печать? Копий:", "Число", 2, 0) = 1 Тогда
		
		Если ЗагрузитьВнешнююКомпоненту ("SpreadSheet.dll")=0 Тогда
			Сообщить("SpreadSheet.dll не загружена.");
			Возврат;
		КонецЕсли;
		
		Попытка
			WSHShell = CreateObject("WScript.Shell");
			ИмяПринтера = WSHShell.RegRead("HKCU\SOFTWARE\1C\1Cv7\7.7\" + ИмяТекущейИБ() +  "\V7\"+ ИмяПользователя() +"\Moxel\ОпцииПечатиУПД\DefaultPrinter");
		Исключение
			ИмяПринтера = "";
		КонецПопытки;		
		
		ТабДок = СоздатьОбъект ("ТабличныйДокумент");
		ТабДок.ЗагрузитьИзТаблицы(Таб);
	
		ПараметрыПечати=ТабДок.ПараметрыПечати;
		ПараметрыПечати.АвтоМасштаб	= 1;
		ПараметрыПечати.Ориентация	= 2;
		ПараметрыПечати.ПолеСверху	= 100;
		ПараметрыПечати.ПолеСнизу	= 100;
		ПараметрыПечати.ПолеСлева	= 100;
		ПараметрыПечати.ПолеСправа	= 100;
		ПараметрыПечати.КоличествоКопий = КолвоКопий1;
		ПараметрыПечати.ИмяПринтера = ИмяПринтера;
	
		ПараметрыПечати.РежимПечатиКопий=1;
		ПараметрыПечати.Дуплекс = 1;
	
		ТабДок.Напечатать("ТестовыйДокумент");
		
	КонецЕсли;
	
КонецПроцедуры // ПриОткрытии()
Показать
Оставьте свое сообщение
Вакансии
Консультант-аналитик 1С
Нижний Новгород
зарплата от 100 000 руб.
Полный день

Разработчик 1С
Нижний Новгород
зарплата от 100 000 руб.
Полный день

Программист 1С
Екатеринбург
зарплата до 150 000 руб.
Полный день

Разработчик 1С
Санкт-Петербург
зарплата от 130 000 руб. до 170 000 руб.
Временный (на проект)

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству