7.7 Печать с префиксом

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем amoRNizam, 16 фев 2016.

  1. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Здравствуйте. 1С Торговля+склад редакция 9.2. Помогите пожалуйста. Есть внешняя обработка "Печать документов.ert", благодаря которой документы печатаются без префикса. А теперь понадобилось, чтобы на печать выводился полностью номер документа с префиксом и нулями, как в форме он заполнен. Я прикрепил обработку и скрин печатной формы, помогите пожалуйста!!!

    Вложения:

  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Лови......

    Вложения:

    • vpf.rar
      Размер файла:
      76,5 КБ
      Просмотров:
      6
    amoRNizam нравится это.
  3. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Спасибо вам огромное!!! В итоге в одной печатной форме выводится номер документа так как нужно. Но вот в остальных так же отсекаются нули и префикс. На скриншоте я отметил ту форму, которая правильно благодаря вам печатается, а вот "ТОРГ-12", "Акт об оказании услуг", "Печатная форма", "Универсальный предаточный документ (УПД)", "Печатная форма товарно-транспортной накладной" которые отображены на скриншоте в выпадающем списке, печатаются без префикса и нулей. Может быть нужно подправить в том модуле, в котором описывается печать по нажатию соответствующей кнопки? Я не знаю как правильно код скинуть, приложил его в текстовом файле. Помогите пожалуйста разобраться!

    Вложения:

  4. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    В предыдущим примере у вас номер преобразовывался через процедуру глобального модуля НомерДок..
    Хотя почему не воспользовались стандартной функцией, предназначенной для того же - не знаю.
    Думаю в остальных формах возов той же процедуры... Найдите в ГМ эту процедуру и замените ее эту
    Код:
    Процедура НомерДок(Док) Эксопорт
      Возврат Док.НомерДок;
    КонецПроцедуры
    Теоретически должно сработать
    amoRNizam нравится это.
  5. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Может быть вот это?

    Код:
    //  Процедура предназначена для преобразования номера документа.
    //  Используется, например, при выводе номера документа на печать.
    //
    Функция глНомерНаПечать(Документ, НеПечататьВходящийНомер = 0) Экспорт
      
        Номер = "";
      
        Если ПустоеЗначение(Документ)= 0 Тогда
            // Если документ имеет входящий номер, то печатать будем его.
            Если (глЕстьРеквизитШапки("НомерДокВходящий", Документ.Вид()) = 1)
               и (НеПечататьВходящийНомер = 0) Тогда
                Номер=СокрЛП(Документ.НомерДокВходящий);      
            КонецЕсли;
          
            // Если входящий номер пуст или его вообще нет, то печатаем номер документа
            Если ПустоеЗначение(Номер) = 1 Тогда
                Номер=СокрЛП(Документ.НомерДок);
              
                // назначенный документу префикс
                Префикс=СокрЛП(Константа.ПрефиксИБ)+ СокрЛП(Документ.Фирма.ЮрЛицо.ПрефиксНомеровДокументов);
              
                // удаление префикса из номера документа
                Если Найти(Номер, Префикс)=1 Тогда
                    Номер=Сред(Номер, СтрДлина(Префикс)+1);
                КонецЕсли;
              
                // в документах, перенессеных из старых редакций, может остаться "минус" впереди
                Если Лев(Номер, 1) = "-" Тогда                 
                    Номер    = Сред(Номер, 2);
                КонецЕсли;
              
                // удаление ведущих нулей
                Пока Лев(Номер, 1)="0" Цикл
                    Номер=Сред(Номер, 2);
                КонецЦикла;
            КонецЕсли;
        КонецЕсли;
          
        Возврат Номер;
    
    КонецФункции // глНомерНаПечать()
    --- Объединение сообщений, 16 фев 2016 ---
    Я закоментировал "// удаление ведущих нулей" и " // удаление префикса из номера документа". Вроде всё как надо теперь. Я правильно сделал?
    Последнее редактирование: 16 фев 2016
  6. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Возмножно.. Это типовая процедура.. В первом примере - чья то дописка​
  7. TopicStarter Overlay
    amoRNizam
    Offline

    amoRNizam Опытный в 1С

    Регистрация:
    14 окт 2015
    Сообщения:
    78
    Симпатии:
    0
    Баллы:
    26
    Спасибо вам, вы мне очень помогли!!!
  8. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    не за что. обращайтесь

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