[РЕШЕНО] Как организовать печать оборотной страницы документа?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Катюфка, 6 май 2015.

  1. TopicStarter Overlay
    Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    411
    Симпатии:
    72
    Баллы:
    54
    Здравствуйте.
    Решаю тривиальную задачу: при выводе документа на печать спросить у пользователя "Желаете печатать оборот?" и при утвердительном ответе вывести область на печать. В 7.7 это делаю через функцию Вопрос().
    В 8.3 (УФ если это важно) печать описывается в модуле менеджера, а там применение Вопрос() вызывает ошибку. Как правильно это сделать?
  2. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.981
    Симпатии:
    398
    Баллы:
    104
    Ну просто вопрос скорее всего доступен только на клиенте, поэтому и вызывается ошибка. Под рукой 1С нет. Да, и кстати, на будущее всем, если выходит какая-то ошибка, будьте добры ее показать.
  3. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Такие вещи стоит делать на клиенте. Т.е. печатаете что нужно (управление же серверу передается), после печати возврат на клиента и задаем ему вопрос, при утвердительном ответе идем на сервер и снова печатаем. Вот как-то так, теория :)
  4. TopicStarter Overlay
    Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    411
    Симпатии:
    72
    Баллы:
    54
    Спасибо за ответы, хотя они ситуацию и не прояснили. Неужели никто не делал так, чтобы у пользователя была возможность перевернуть листок и напечатать оборот? Гуглю уже все утро, ничего не нахожу. Сейчас пользователю приходится задавать при печати 1-ю страницу, а потом 2-ю, что жутко неудобно. Ведь это же типичный случай, наверняка где-то уже сделано, может в типовых есть? Только намекните.
  5. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.981
    Симпатии:
    398
    Баллы:
    104
    По-моему люди реально последнее время не читают что мы пишем. Вы вообще читали информацию, что мы написали? Вы ее поняли?
  6. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Так-то есть двухсторонние принтеры :), если что...Ваша "хотелка" не имеет ничего общего с ведением учета :), для чего 1С и предназначена. Вы поймите, 8.3 - это новые технологии, новые возможности. Соответственно и кодить нужно под эти условия.
  7. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Думаю чтобы не скакать Сервер Клиент можно сразу спросить и отправить параметром на сервер.
  8. LordMaverick
    Online

    LordMaverick Профессионал в 1С

    Регистрация:
    17 мар 2014
    Сообщения:
    3.438
    Симпатии:
    373
    Баллы:
    104
    to ТС
    да и обычные принтера, без аппаратного дуплекса могут дуплекс печатать с запросом к пользователю
    и им без разницы, 1С это или нет
  9. TopicStarter Overlay
    Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    411
    Симпатии:
    72
    Баллы:
    54
    Уважаемый Ваня. Я читала ответы и прекрасно их поняла. А так же поняла то, что Вы невнимательно прочитали вопрос. Я знаю почему не работает функция, я не знаю, как принято средствами 1С 8.3 решать эту задачу.
  10. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Я вам написал уже, как вам решать задачу, проверяйте количество страниц, возвращайтесь на клиента, задавайте вопрос, и идите на сервер заново.
    Вас такой велосипед устраивает ?
  11. TopicStarter Overlay
    Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    411
    Симпатии:
    72
    Баллы:
    54
    Можно конечно и через драйвер, но хотелось бы управлять процессом, а не плыть по течению. Печать документов - это неотъемлемая часть работы 1С, поэтому хотелось бы до конца прояснить вопрос.
    Задавать вопрос на клиенте перед печатью и отправлять ответ параметром в менеджер не получится, т.к. все равно не будет времени на то, чтобы перевернуть лист.
    Два раза вызвать процедуру печати из модуля команды - это мне приходило в голову, но как-то не верилось, что придется действовать так топорно. Что ж, Вы меня убедили, что придется так и сделать.
  12. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Катюфка сделайте проще.
    Какая там у вас конфигурация не знаю. Как там во ВПФ на УФ параметры передаются? Вот сделайте одну печатную форму с параметром, который будет отвечать за печать оборотов. Загрузите два варианта формы с разными значениями этого параметра, назовите их "Печать" и "Печать с оборотами". И все, не надо никаких вопросов пользователю показывать. Надо обычную форму - выбирает "Печать", надо с оборотами выбирает "Печать с оборотами"..
  13. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Она с этой задачей справляется великолепно. Я же говорю, что ваши "хотелки", это всего лишь ХОТЕЛКИ.
  14. nbIpKuH_BaH9I
    Online

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.981
    Симпатии:
    398
    Баллы:
    104
    Ткните меня, где в Вашем первом сообщение Вы указали, что поняли почему не работает?
  15. TopicStarter Overlay
    Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    411
    Симпатии:
    72
    Баллы:
    54
    Это будет оффтоп, но постараюсь объяснить. В заголовке суть моего вопроса. Не "почему не работает так, как я делаю?", а "как правильно это сделать?" В теле сообщения я описываю то, как привыкла это делать в 7.7 и констатирую, что так же сделать в 8.3 не получится. Далее следует основной вопрос.
    --- Объединение сообщений, 6 май 2015 ---
    Конфигурация самописная. В моем случае по такому сценарию нужно делать печать 1-й страницы и отдельно 2-й. Но документ всегда 2-страничный. Проблема только в том, что если процесс не контролировать, то обе страницы распечатываются на 2-х листах.
  16. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Попытаюсь как человек не работающий с 8.3 объяснить человеку который начинает работать с 8.3. В платформе 8.3 идет разделение выполнения процедур и функций на клиенте и на сервере. Формирование макета для печатной формы происходит в процедуре(или функции) на сервере. Процедура Вопрос на сервере не работает, а только на клиенте. Поэтому я предлагаю сразу задавать вопрос, а ответ передавать в процедуру формирования макета уже как параметр.
  17. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Непонял.

    У вас есть вопрос. Результат вопроса это ответ ДА или НЕТ.
    В зависимости от ДА или НЕТ вы выводите или не выводите что-то в макете.
    так?

    Я предлагаю пользователю показать не одну, а две печатные формы. Ответ ДА или НЕТ уже будет заложен в том, какую форму выберет пользователь.
    Суть то не поменялась. Раньше вы его диалогом спрашивали, а сейчас "спрашиваете" предлагая выбрать из двух форм какую напечатать.
  18. TopicStarter Overlay
    Катюфка
    Offline

    Катюфка Профессионал в 1С

    Регистрация:
    3 июн 2013
    Сообщения:
    411
    Симпатии:
    72
    Баллы:
    54
    Что-то сегодня не так: чем больше объясняю, тем меньше меня понимают. )
    Вопросом я делаю паузу, чтобы пользователь допечатал 1-ю страницу, перевернул лист и напечатал 2-ю (или отказался от печати, увидев, например, ошибку на 1-й). Если эту паузу можно сделать в менеджере печати и другим способом, то было бы здорово.
  19. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.771
    Симпатии:
    509
    Баллы:
    204
    Мы вас прекрасно поняли.
    Ну тогда делайте через скрипт, там есть процедура - Sleep()
    Либо курите ПодключитьОбработчикОжидания()
  20. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Вон чего. Алгоритм:
    1) Кладет в принтер один листочек
    2) Отправляет на печать из 1С две страницы
    3) Идет к принтеру, пока идет первая страница печатается и принтер начинает искать второй листок чтобы напечатать вторую страницу, но его нет. И он начинает назойливо шоркать пытаясь захватить, что ускорит сотрудника
    4) Подходит к принтеру, берет напечатанный лист и кладет в лоток и нажимает на принтере кнопку "Ок"

    P.S. Какая ему разница, с Вашей автоматизацией получается:
    1) Положил листок в принтер
    2)Пустил на печать из 1С
    3) Идет к принтеру берет напечатанную страницу переворачивает и кладет в принтер
    4) Идет опять к компу с 1С отвечать на вопрос печатать вторую или нет
    5) Возвращается к принтеру
    6) Проверяет результат, если пока шёл выполнять пункт 4 кто то отправил что то на печать возвращается к пункту 1.


    Да прошу прощения, а что там может быть не так на первой странице что не надо печатать вторую? Я так понимаю печатается без предварительного просмотра. В целях экономии той же бумаги нельзя проверку организовать до отправки на печать?

    P.S. Прошу прощения может конечно мой пост с сарказмом, но идея с кнопкой Ок на принтере мне понравилась)
    Последнее редактирование: 6 май 2015

Поделиться этой страницей