|
1С:Предприятие
:: 1С:Предприятие 7.7 и ранее
|
|
| ||
walcot 21.05.20 - 10:11 | Может кто сталкивался: перенесли базу на 2008 сервер. Теперь проблема с печатью накладных на 2-ух сторонах: если отправить 2 и более копий на печать, то почему-то первая страница печатается на 2-ух сторонах первого листа, а вторая страница на 2-х сторонах второго листа. Раньше база была на 2003, там всё было ок. Принтер Киосера, пробовал на разных, везде одинаково. | ||
Ray Zexter 1 - 21.05.20 - 10:23 | посылай на печать отдельными заданиями | ||
walcot 2 - 21.05.20 - 10:25 | Ну да, меня схавают живьём, это 5 раз вместо 1-ой как раньше, бред. | ||
Djelf 3 - 21.05.20 - 10:28 | (0) Покопайся в настройках принтера. Там должно быть что-то типа "Двусторонняя печать: переворачивать под длинной стороне". | ||
Ray Zexter 4 - 21.05.20 - 10:30 | (3) нет. это где в настройках что то типа "разобрать по копиям". но не у всех принтеров есть. | ||
walcot 5 - 21.05.20 - 10:33 | Всё выставлено как надо, на предварительном просмотре выяснил, что не работает "Разобрать по копиям"... Что стоит галка, что нет, не разбирает, собака. | ||
Djelf 6 - 21.05.20 - 10:36 | (5) У киосеры драйверов до черта. Попробуй другой драйвер. Я обычно HP`шный LaserJet 3 PCL ставил, с ним проблем как то поменьше. | ||
Garykom 7 - 21.05.20 - 10:48 | (0) Переходите уже на ЭДО | ||
Djelf 8 - 21.05.20 - 11:04 | (7) Ну мы перешли, и что? Как раньше требовали печатные формы, так и продолжают требовать. Изменилось только то что теперь покупатели их сверяют с электронными ;) | ||
trad 9 - 21.05.20 - 11:10 | (6) никакой драйвер не спасет когда потребуется копий более одной при нечетном количестве страниц ))
семерка - будь она неладна ))) | ||
trad 10 - 21.05.20 - 11:11 | и несколько раз послать один и тот же ТД - тот еще геморрой | ||
Bigbro 11 - 21.05.20 - 11:15 | (6) c HP свои проблемы - на серваке периодически отваливается двустороняя печать начинает требовать в ручном режиме переворачивать страницы.
и начинаются пляски с бубном. рядом стоит второй точно такой же, нормально. | ||
Garykom 12 - 21.05.20 - 11:17 | (8) Печатные формы их сразу в PDF а там двухсторонней печати нет )) | ||
Garykom 13 - 21.05.20 - 11:20 | Проблема (0) решается только отдельным независимым от 1С и прочего софт "сервером/сервисом печати" Короче любая прога печатает в PDF.Затем этот PDF отправляется в сервис с параметрами как его выводить: чб/цвет/эконом, размер бумаги, с двух сторон и как и т.д. | ||
walcot 14 - 21.05.20 - 11:25 | |||
Djelf 15 - 21.05.20 - 11:28 | (14) Пробовал снять галочку Свойства/Дополнительно/Включить дополнительные возможности печати? | ||
walcot 16 - 21.05.20 - 12:05 | (15) не помогло( | ||
walcot 17 - 21.05.20 - 12:23 | FinePrint конечно работает, но опять же - лишние телодвижения, неужели "счастливые" обладатели 1с7+server2008/win7 до сих пор не победили этот баг?(((( | ||
Ёпрст 18 - 21.05.20 - 12:27 | |||
Lokli 19 - 21.05.20 - 12:27 | У меня была подобная проблема. Но вот с версией ms-sql это ни как не было связано. Я победил следующим образом: запретил пользователям отправлять на принтер стандартным механизмом печати или пользоваться параметрами страниц. Весь этот функционал сделал через свои обработки (параметры страницы и печать на принтер). Если настройки принтера слетали или требовали корректировки, то они менялись только через ОС. И тогда, о чудо, всё заработало. Подозреваю, что 1С-ский диалог печати всё портит. | ||
Arbuz 20 - 21.05.20 - 13:09 | (13) правильно и отдел на фирмé "Выпуск и контроль твёрдой документации" с начодтелом, двумя замами, бюджетом и аджайлом. | ||
Garykom 21 - 21.05.20 - 13:14 | (20) Не понял юмора.
Фактически же создаются виртуальные PDF принтеры с разными именами (обычная печать, двухсторонняя книга, двухсторонняя альбом и т.д.). Юзер отправляет на нужный принтер (можно имя реального добавить) а далее все автоматически и пофиг какой реальный принтер и что за глюки с его настройками. | ||
Djelf 22 - 21.05.20 - 13:14 | (16) Ну а если так? http://catalog.mista.ru/public/75881/ Качать тут https://cloud.mail.ru/public/2bqn/3t83jHRvX
В печатной форме как то так: ТабДок = СоздатьОбъект ("ТабличныйДокумент"); ТабДок.ЗагрузитьИзТаблицы(Таб); ПараметрыПечати=ТабДок.ПараметрыПечати; ПараметрыПечати.АвтоМасштаб = 1; ПараметрыПечати.Ориентация = 2; ПараметрыПечати.ПолеСверху = 100; ПараметрыПечати.ПолеСнизу = 100; ПараметрыПечати.ПолеСлева = 100; ПараметрыПечати.ПолеСправа = 100; ПараметрыПечати.РежимПечатиКопий=1;// 1 - разобрать по копиям ПараметрыПечати.Дуплекс = 1;// 0 нет (по-умолчанию), 1 по горизонтали, 2 по вертикали  // показать сформированную таблицу Если Устройство = 0 Тогда ТабДок.Показать(ИмяДокумента); Иначе ПараметрыПечати.КоличествоКопий = КолвоКопий; ПараметрыПечати.ИмяПринтера = ТекПринтер; ПараметрыПечати.ИмяДокумента = ИмяДокумента; ТабДок.Напечатать(0); КонецЕсли; | ||
trad 23 - 21.05.20 - 13:21 | (18) тут есть проблема, если не было таб.Показать После первого таб.Напечатать, таб превращается в тыкву но это не случай ТС | ||
Ёпрст 24 - 21.05.20 - 13:23 | (23) ну там же есть заглушка с -1.. | ||
walcot 25 - 21.05.20 - 13:28 | (24) не программист, поэтому прошу помощи, как правильно переделать процедуру печати:
Процедура ПоКнопкеПечать(СразуНаПринтер = 0,КолЭкз = 1) Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда НомерТекущейФормы = 1; Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка")); КонецЕсли; Таб = СоздатьОбъект("Таблица"); Если (НомерТекущейФормы >= 1) и (НомерТекущейФормы <= 6) Тогда Печать(); ИначеЕсли (НомерТекущейФормы = 7) Тогда//счет-фактура ПечатьСчет(); ИначеЕсли (НомерТекущейФормы = 8) Тогда//протокол ПечатьПротокол(); ИначеЕсли (НомерТекущейФормы = 9) Тогда//протокол CMR(); ИначеЕсли (НомерТекущейФормы = 10) Тогда//протокол Акт(); Иначе Параметры = СоздатьОбъект("СписокЗначений"); Параметры.ДобавитьЗначение(Контекст, "Контекст"); Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство"); Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий"); ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл")); КонецЕсли; КонецПроцедуры | ||
Злопчинский 26 - 21.05.20 - 14:14 | (19) "Подозреваю, что 1С-ский диалог печати всё портит." ну так Таб.Опции() и Таб.ПараметрыСтраницы надо оформлять правильно. | ||
Йохохо 27 - 21.05.20 - 14:25 | а это не обходили через установку второго экземпляра этого принтера с другими параметрами печати по умолчанию и параметрами печати? | ||
walcot 28 - 21.05.20 - 14:50 | (27) не помогает | ||
Lokli 29 - 21.05.20 - 15:17 | (26) Хотел было уточнить что значит правильно. Но потом понял, что я уже год как не на 7.7 ))) | ||
trad 30 - 21.05.20 - 16:17 | (24) она не поможет Рекламное место пустует | ||
walcot 31 - 21.05.20 - 16:30 | Мда, вляпались, думал счастье будет на новом серваке, а тут такой подвох... Двусторонняя печать нужна кровь из носу, пока поставил FinePrint хотя бы на выписку, но всем это не воткнёшь. Как я понимаю, по-хорошему надо переделывать все печатные формы 7-ки? | ||
GrayS19 32 - 21.05.20 - 17:03 | Была такая же проблема с печатью - вернули 2003 сервак (в день до 350 ТТН - экспериментировать некогда было). Надо попробовать(18). | ||
GrayS19 33 - 21.05.20 - 17:06 | (19) "Подозреваю, что 1С-ский диалог печати всё портит". Только непонятно, почему 7.7 -> 2003 не портит, а 7.7 -> 2008 портит. | ||
Djelf 34 - 21.05.20 - 18:19 | (24) А trad в (30) прав. Пока все формы не перелопатишь так оно не взлетит.
По-быстрому, можно было бы использовать событие FormEx ПриПечатиТаблицы, но оно зацикливается. Через загрузку в Йоксель можно, оттуда событие в ПриПечатиТаблицы не попадает. АльФ!!! Как бы так так извратиться, чтобы не зацикливаться на этом коде? Процедура ПриПечатиТаблицы(Таблица,ФлагПредпросмотра,Заголовок,ИмяПринтера) Если ФлагПредпросмотра=0 Тогда КоличествоЭкземпляров = Таблица.КоличествоЭкземпляров(); Таблица.КоличествоЭкземпляров(1); Для НомерСтраницы=1 По КоличествоЭкземпляров Цикл Таблица.Напечатать(0); КонецЦикла; КонецЕсли; КонецПроцедуры | ||
walcot 35 - 22.05.20 - 09:33 | Так погодите, а где тогда настроить принтер перед печатью (выбрать тот же самый дуплекс, ведь он не всегда нужен, и кол-во копий), если диалог печати выводиться не будет? | ||
walcot 36 - 22.05.20 - 10:10 | Пробовал сначала через "Параметры страницы" залезть в принтер и там выставить все параметры, а потом Ctrl+Shift+P без диалога печати распечатать, но настройки не подхватились( | ||
Lokli 37 - 22.05.20 - 10:24 | Количество копий можно задавать программно. А вот с дуплексом - да, проблема.
Кстати, а имя принтера у тебя не более восьми символов и без пробелов? | ||
walcot 38 - 22.05.20 - 10:27 | (37) а какая разница? | ||
Lokli 39 - 22.05.20 - 10:28 | А для 16-битного приложения есть разница. )) | ||
walcot 40 - 22.05.20 - 14:02 | (33) Кстати да, а есть у кого-н догадки почему со старыми операционками такой проблемы нет? | ||
trad 41 - 22.05.20 - 14:33 | (39) 16-ти битного? 😲 | ||
Djelf 42 - 22.05.20 - 14:34 | (40) Потому что мелкомягкие это сломали. https://support.microsoft.com/ru-ru/help/977263/files-print-in-an-incorrect-order-when-the-collate-option-is-selected | ||
walcot 43 - 22.05.20 - 14:55 | (42) считаете, что в server 2008R2 со всеми обновлениями по 2020 год эту проблему до сих пор не решили и то, что ф-ия разбора по копиям не работает только в 1С - это проблема мелкософта? | ||
Djelf 44 - 22.05.20 - 15:00 | (43) Да так и пишут, что сначала починили, но на самом деле не починили, а выложили патчи для тех у которых проблема проявляется. А к R2 патчей не сделали. Поищи. Это легко ищется. | ||
Djelf 45 - 22.05.20 - 15:22 | (43) Попробуй эту обработку https://cloud.mail.ru/public/3tt2/4wpoKyjSF
SpreadSheet.dll кинь в 1С/BIN Мне проверить не на чем, интересно сработает или нет. | ||
walcot 46 - 22.05.20 - 15:32 | (45) Разбирает | ||
walcot 47 - 22.05.20 - 15:39 | (45) Правда, если не стоит галка "Разбирать по копиям", то выходит только одна копия (не важно выбран дуплекс или нет), если стоит, то норм. | ||
Djelf 48 - 22.05.20 - 15:46 | (46) Это и хорошо и одновременно плохо. Хорошо, что разбирает, а плохо что ты не программист.
У йокселя есть проблема - в нем не реализована функция "Повторять при печати станиц" т.е. не все печатные формы будут адекватно преобразованы. И с параметры страницы Йоксель при перехвате не забирает, разве что сначала перехватывать таблицу trad`овской библиотекой http://www.1cpp.ru/forum/YaBB.pl?num=1177688915 (45) Ой, ой. Видать я с этим в свое время накосячил ;) Ну да ладно... все равно лучше разбирать по копиям. | ||
walcot 49 - 22.05.20 - 15:58 | (48) Ну тут дело такое, сегодня плохо что я не программист, а завтра (тьфу-тьфу лучше в понедельник) хорошо что я сисадмин)
Общее направление ясно, надо свой диалог печати мутить для дуплекса, благодарю за терпение) | ||
Djelf 50 - 22.05.20 - 16:17 | Ладно... давай так попробуй. Есть шанс, что сработает.
Это перехват печати таблицы и установка режима печати по копиям без диалога.
| ||
walcot 51 - 22.05.20 - 16:46 | |||
Djelf 52 - 22.05.20 - 17:00 | (50) Ты был прав, диалог печати у 7.7 какой то кривой. Непонятно почему только на 2008.
Возможно в более старых версиях винды значение по-умолчанию было 1 и как то вот так оно и работало, а теперь стало по-умолчанию 0. Хорошо! Решили многолетнюю проблему ;) | ||
IVT_2009 53 - 25.05.20 - 14:10 | Вопрос:
Как отловить отказ от печати или другими словами я в окне принтера нажал отмену? | ||
Злопчинский 54 - 25.05.20 - 14:32 | (52) а какая была "многолетнаяя проблема"..? что-то япропустил... | ||
IVT_2009 55 - 25.05.20 - 14:37 | (54) я не мог эту проблему решить с 2004 года , сейчас решил читая эту тему.
Меня в прочем сильно не напрягали с ее решением. | ||
walcot 56 - 25.05.20 - 15:18 | (53) на самом принтере тискать красную кнопку) или как в старые добрые - выкл/вкл. | ||
Ёпрст 57 - 25.05.20 - 15:35 | (53) печатать управляющий шк на нужной форме, заставлять его сканить с бумажки в программу, тем самым подтверждая, что бумажка распечатана. ШК на показывать в предварительном просмотре,только при печати на принтёр.
И усё. | ||
Djelf 58 - 25.05.20 - 18:07 | (53) А зачем? Ну не напечатали, бумагу экономили...
Теоретически... можно и без дополнительных ВК. Сниферим события FormEx ПриПолученииКомандыГлавнымОкном 57607 и 114467 Записываем Сервис.ПолучитьGUID() в глобальную переменную. В ПриПечатиТаблицы и в ПриПолученииКомандыГлавнымОкном проверяем соответствие GUID, если не совпадает, то печать была отмена. (54) Так в (0) вся проблема описана. Ну или вот так: https://goo.su/1AzL /*куча матов на эту проблему*/ (57) Злой ты ;) С такого механизма застрелится сразу хочется. | ||
Ёпрст 59 - 25.05.20 - 18:16 | (58) Почему ? Норм схема, если нужно точно знать что товарищ бумажку распечатал. Распечатал - подтвердил в базе.
Зато потом нет нытья, что не печатал или бумагу зажевало. У нас немного другая схема, грубо если что-то выпустили на склад, печатается гуид-шк. Потом, при проверке что собрали, по этому шк смотрится, какая версия собиралась и что поменялось в базе, если что-то не так, расписывается и по-новой собирать\исправлять. Это, чтоб не было такого, когда собирают по одной бумажке, а вывозят по другой бумажке. Короче, чтоб пизд..ли поменьше на складе ;) |
|
Список тем форума
|