Печать незаписанного документа

Обработка предназначена для того, чтобы напечатать документ, но не сохранять его в базе данных.

Известно, что все документы в типовых конфигурациях 1С8 нужно сначала записать, а потом уже можно распечатать.

Выберите вид отчета, нажмите кнопку «Выполнить», откроется форма нужного вам документа, заполните нужные поля, нажмите кнопку записать, распечатайте и закройте документ. Запись документа после закрытия документа будет отменена.

Если вы выберите документ, то будут создан новый документ на основе этого, но он также будет удален из базы после закрытия формы документа.

Если поставить галочку «Редактировать исходный документ», то будет открыт для редактирования исходный документ, но после закрытия формы изменения, внесенные в документ, отменятся.

30 Comments

  1. anig99

    Хм. Как всегда, способ реализации лежал на поверхности. Только сама идея обработки опасная. За реализацию +, за опасность — (:

    Reply
  2. fixin

    (1) ндык. необходимо наличие прав на проведение документов как бе.

    Reply
  3. anig99

    (2) зато следов не остается…

    Reply
  4. fixin

    (3) разве что в журнале регистрации… 😉 потому и лиса на аватаре

    Reply
  5. kapustinag

    (2) На проведение, наверно, все-таки НЕ необходимо? Достаточно на запись документов. (Есть ведь доп.право пользователя «Печать непроведенных документов». Во всяком случае, в УПП есть такое право)

    В последовательной нумерации документов появляется «дырка», или даже дырки не остается?

    Reply
  6. astonvilla

    А зачем такая возможность нужна?

    Лишняя возможность сотрудникам «обмахлять» контору?

    Reply
  7. fixin

    (6) нет, скорее трюк для программиста. Если что-то нужно очень распечатать. По просьбе персонала.

    Reply
  8. echo77

    Перед тем как документ напечатать, его неоходимо не только записать но и провести — обычно так.

    И все с этим борятся, ибо по бумажкам у хомячка все прошло, а в базе данных хоз.операция не отражена. А потом этим самые хомячки бегут к ИТ-специалистам и плачут, что у них остатки неправильные, взаиморасчеты.

    Как говорилось в (1) за опасность минус, но ставить не буду

    Reply
  9. fixin

    (8) че пенять на зеркало, коли рожа крива…

    если у юзверя есть доступ к любым внешним обработкам, то это трандец… 😉

    Reply
  10. luns

    очередной бесполезняк.

    для юзеров есть доп. право «Печать непроведенных документов» во всех типовых.

    а прог может и так распечатать (ведь полные права же)

    Reply
  11. fixin

    (10) а если речь не о типовых? Сними шоры с мозга…

    Reply
  12. luns

    (11) если речь не о типовых, то надо сделать как там.

    как говорил Ньютон: «если я видел дальше других, то потому, что стоял на плечах гигантов»

    Reply
  13. fixin

    (12) гладко были на бумаге, да забыли про овраги. Если конфу менять нельзя?

    Reply
  14. luns

    (13) если конфу менять нельзя, то вестимо типовая)))

    или давай.. расскажи про НЕ типовые, НЕ совместимые и где нет такого механизма.

    А если даже такое чудо и есть) то подписки никто не отменял.

    Ясно в общем.

    Очередной гуруслив..

    Reply
  15. fixin

    (14) Какой ты дотошный.

    Уж и не помню, зачем я писал эту обработку, давно дело было.

    Возможно, когда пришел к клиенту и нужно было распечатать документ, а он не печатался непроведенный…

    И не проводился, т.к. остатков там чего-то не было. Я просто поставил признак проведен, распечатал 😉

    МОжет быть полезна, когда документ не проводится, а надо распечатать.

    Reply
  16. luns

    (15) Честно)

    Молодец. Достойный ответ 😉

    Reply
  17. fixin

    (16) ты по существу вопроса ответь. Моя обработка полезна, если документ не проводится…

    Что-то ты не заметил этого в ответе…

    Слил?

    Reply
  18. Арчибальд
    Известно, что все документы в типовых конфигурациях 1с8 нужно сначала записать, а потом уже можно распечатать
    а если речь не о типовых? Сними шоры с мозга…

    Тихо сам с собою…

    Reply
  19. fixin

    (18) я ответил Лунсу, зачем нужна обработка. Если документ не проводится (ошибка в алгоритме, нет остатков и т.п.), а распечатать надо. Надеюсь, понятно излагаю?

    Reply
  20. luns

    (17) горбатого могила исправит)

    по существу вопроса отвечаю:

    не нужна твоя обработка.

    потому как правильно заметили в (18):

    ты в описании говоришь:

    Известно, что все документы в типовых конфигурациях 1с8 нужно сначала записать, а потом уже можно распечатать.

    а в (10) тебе рассказали:

    для юзеров есть доп. право «Печать непроведенных документов» во всех типовых.

    а прог может и так распечатать (ведь полные права же)

    но учитывая твое незнание типовых, можно сказать что да. для тебя

    нужна обработка. Если документ не проводится (ошибка в алгоритме, нет остатков и т.п.), а распечатать надо.

    уж что что, а думаю в сопровождаемых тобой конфах

    (ошибка в алгоритме, нет остатков и т.п.)

    сплошь и рядом)))

    Reply
  21. Арчибальд

    (19) Ты анонсировал обработку, решающая некую проблему типовых конфигураций (в нетиповых этой проблемы просто нет). На замечание, что в типовых эта проблема решена, ты в обычной хамской манере отвечаешь: ежу понятно, что если я пишу про типовые, значит, речь не о типовых.

    Reply
  22. fixin

    гм… по логике получается действительно, в нетиповых такой защиты нет, а в типовых можно (но не всегда) поднять права.

    Ок, будем считать эту обработку хаком для тех пользователей, у кого не закрыты права доступа на внешние обработки.

    Сейчас не помню, зачем я ее писал.

    Reply
  23. anig99

    Вообще этот подход можно использовать, когда нужно изменить поведение штатной печатной формы. Т.е. нужно чтобы в штатной печатной форме не выводились или выводились иначе какие-либо данные, но для внутреннего учета они в документе должны быть. Можно изменить конфигурацию или написать внешнюю печатную форму. Первое — морока с обновлениями, второе — при изменении штатной, менять нужно и внешнюю. Тут как раз можно написать внешнюю печатную форму-оболочку, которая будет в транзакции удалять/менять определенные данные в документе, печатать штатную форму, а потом откатывать транзакцию обратно. Это к вопросу о необходимости печати измененного документа без его конечного изменения.

    Reply
  24. anig99

    Функция Печать() Экспорт

    НачатьТранзакцию();

    Док = СсылкаНаОбъект.ДокументОснование.ПолучитьОбъект();

    Для Каждого стр из Док.Услуги Цикл

    стр.Количество = 0;

    стр.Цена = 0;

    стр.Номенклатура = Справочники.Номенклатура.ПустаяСсылка();

    КонецЦикла;

    Док.Записать(РежимЗаписиДокумента.Запись);

    Док = Неопределено;

    СсылкаНаОбъект.ПолучитьОбъект().Печать(«СчетФактура»);

    ОтменитьТранзакцию();

    КонецФункции

    Вот простая печатная форма, которая позволяет в сч/ф по акту оказанию услуг поставить прочерки в ед.изм., кол-ве и цене.

    Reply
  25. fixin

    (24)(23) методика хорошая, не спорю, молодцы, но кроме печати форм я ее использовал еще для обмана типовых процедур проведения документов, читайте в статье.

    Т.е. у меня документ хранился без серийных номеров, а проводить нужно так, как будто в документе много строк, по одной на каждый серийный. Вот я и формировал новый образ документа и скармливал его процедурам проведения. Все работало, как ни странно.

    Reply
  26. jeam

    (10) luns,

    Где?! Где найти это право «Печать непроведенных документов» в Управление торговлей, редакция 11.0 (11.0.6.9)?

    Проложи путь для блондинок…

    Reply
  27. luns

    (27) причем тут 11 версия ут?

    данная обработка все равно там работать не будет.

    вот если бы она была для 11 торговли, (где нет разделения запрета по юзерам), то от нее была бы польза.

    но увы. работать она может только на конфигурациях 8.1 где право печати не проведенных реализовано.

    именно поэтому в (10) и написано о ее бесполезности.

    Reply
  28. jeam

    (28) luns,

    Как человека прошу, ответь на вопрос…

    Я задолбался уже искать эту галку

    Или в этой Управлении торговлей, редакция 11.0 (11.0.6.9) её вообще нет?

    Reply
  29. luns

    (29) нету. там просто проверка на проведенность общая.

    Reply
  30. jeam

    Общая и не отключаемая никак или всё-таки можно обойти?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *