Модераторы: stron
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Печатная форма документа 
:(
    Опции темы
mvvti
Дата 16.3.2007, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 5.4.2006
Где: г. Сургут

Репутация: нет
Всего: нет



Всем привет!
Нужна помошь хочу сделать ещё одну печетную форму документа Счет-фактур выданая, создал кнопку при которой должна появлятся новая печатная форма сч-фактр., что написать в обработке процедуры "при нажатия кнопки" ? Переменая "мПечатнаяФормаПоУмолчанию" выводит стандартную форму. Пожалуста подскажите как правильно создать процедуру "при нажатия кнопки".


Модули документа и формы в архиве!     

Присоединённый файл ( Кол-во скачиваний: 13 )
Присоединённый файл  Desktop.rar 11,69 Kb
PM MAIL ICQ   Вверх
_Valery_
Дата 17.3.2007, 00:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 22.1.2007
Где: Москва, Вешняки

Репутация: 6
Всего: 6



Чета архив у меня в какой-то непонятной кодировке открылся. Не вижу ни фига  smile 
Это Бухгалтерия 77?
Печатную форму удобно делать внешнюю. В самой конфигурации меньше изменений.
Если внешняя, то и кнопок дополнительных нинада, она сама увидицца и подцепицца smile
Делается так:
создается внешняя обработка, в ее форму вставляется реквизитик один - типа Документ.СчетФактура (назовем его к примеру - Докум), кнопочка "Сформировать" переобзывается для наглядности "Печать" и при ее нажатии отрабатывает процедура "ПоКнопкеПечать" (см. ниже), сюда же в Таблицу копируем стандартную счет-фактуру (таблицу печатной формы) и правим ее там как нам хочется. В модуль вставляем код типа...
(т.е. копируем код из процедуры Печать нормального счета-фактуры и подправляем его как нам надо, плюс не забываем, что мы не в модуле самого документа находимся, поэтому к его реквизитам надо обращаться через Докум.
Код

Процедура Печать(Докум, Устройство=0, КолвоКопий=1)
    СтатусВозврата(0);
    
    Таб = СоздатьОбъект("Таблица");
    Таб.ИсходнаяТаблица("Таблица");
    // Определим валюту оплаты.
    ВалютаПечати = ?(Докум.Договор.ВалютаДоговора.Выбран() = 1, Докум.Договор.ВалютаДоговора, "руб.");
    
    Таб.ВывестиСекцию("Шапка");  
    
    // Печать строк документа.
    Докум.ВыбратьСтроки();
    Ном=0; 
    
    ПредставлениеСтавкиНДС = ПолучитьПустоеЗначение("Справочник.СтавкиНДС"); 
    Если Докум.ВариантРасчетаНалогов.Выбран() = 1 Тогда
        ПредставлениеСтавкиНДС = Докум.ВариантРасчетаНалогов.ПолучитьАтрибут("СтавкаНДС");
    Иначе
        ПредставлениеСтавкиНДС = "Без НДС"; 
    КонецЕсли;
    
    ИтогНДС = 0;
    ИтогВсего = 0;
    Пока Докум.ПолучитьСтроку()=1 Цикл 
        ИтогНДС = ИтогНДС + Докум.НДС;  
        ИтогВсего = ИтогВсего +Докум.Всего;
        Ном=Ном+1;
        Наименование = Докум.Материал.Наименование;
        ЕдиницаИзмерения = Докум.Материал.ЕдиницаИзмерения;
        
        Таб.ВывестиСекцию("Строка");
    КонецЦикла;

    Таб.ВывестиСекцию("Подвал");

    Таб.Опции(0, 0, 0, 0, "ОпцииПечатиСчетаФактуры", "ОкноСчетаФактуры");
    Таб.ПовторятьПриПечатиСтроки( 15, 15 );
    Таб.ТолькоПросмотр(1);
    Таб.ПараметрыСтраницы(2,,,,,,,,,1,,);
    Таб.Показать("Печать счета-фактуры за поставщика","");
    
КонецПроцедуры


//******************************************************************************
// ПоКнопкеПечать()
//
// Параметры:
//  Нет
//
// Возвращаемое значение:
//  Нет
//
// Описание:
//
Процедура ПоКнопкеПечать()
    
    Если Док.Выбран() = 0 Тогда
        Предупреждение("Не выбран документ!", 60);
        Возврат;
    КонецЕсли;
    
    Печать(Док);
    
КонецПроцедуры // ПоКнопкеПечать()


//******************************************************************************
// Предопределенная процедура
//
Процедура ПриОткрытии()
    
    Если ПустоеЗначение(Форма.Параметр) = 0 Тогда
        
        Докум      = Форма.Параметр.Получить("Контекст");
        Устройство = Форма.Параметр.Получить("Устройство");
        КолвоКопий = Форма.Параметр.Получить("КоличествоКопий");
    
        Печать(Докум, Устройство, КолвоКопий);
        Статусвозврата(0);
        Возврат;
    КонецЕсли;
    
    
КонецПроцедуры // ПриОткрытии()


Далее, это все безобразие сохраняем в каталог ExtForms нашей базы под названием, к примеру, СчетФактура2.ert и к нему создаем парный файлик текстовый, который сохраняем как СчетФактура2.efd 
В нем должно быть написанодля какого документа эта печ форма и кое сокращение будет на кнопке.

Код

Объект="Документ.СчетФактура"
Название= Счет-фактура 2
Кнопка= Сч-ф2


Я так всегда делаю smile
Не знаю, может можно и попроще)
--------------------
Ты добрый, это хорошо. Это по жизни очень пригодится...другим.
PM MAIL ICQ   Вверх
Тиль
Дата 20.3.2007, 06:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 177
Регистрация: 27.2.2006

Репутация: нет
Всего: нет



А если попробовать сделать что то вроде выбора печатной формы? Просто создавать таблицу значений при выборе одного из которых выводится определенная форма.Как в ТиС при выборе формы накладной?
--------------------
Казалось нам пипец, оказалось что не казалось
PM MAIL   Вверх
_Valery_
Дата 20.3.2007, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 153
Регистрация: 22.1.2007
Где: Москва, Вешняки

Репутация: 6
Всего: 6



Можно и так попробовать. Просто внешняя печ.форма, как я уже говорила, позволяет не править саму конфигурацию. А так, конечно, можно покоцать процедуру Печать(), ПриВЫбореПечатнойФормы() или как она там называется + добавить еще одну таблицу в форму - эт как Вам больше нравицца  smile 
--------------------
Ты добрый, это хорошо. Это по жизни очень пригодится...другим.
PM MAIL ICQ   Вверх
Engee
Дата 25.3.2007, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 25.3.2007
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Реализовал следующее:
1. код, который сам генерирует меню выбора печатных форм - внутренние печатные формы. Хотя доделать код применительно к внешним печатным формам большого труда не составит (1С 7.7)
2. код, который заполняет поле списка (хотя кажется я делал с со списком выбора поля выбора - не суть - принцип один) для выбора печатных форм, причем печатные формы могут быть как внешние так и внутри конфы. (1С 8.0)

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

А вообще если тебя интересует именно подключение макета, то обратись к синтаксис-помощнику  smile  :
Цитата

ПолучитьМакет (GetTemplate)
Синтаксис:
ПолучитьМакет(<Макет>) 
Параметры:
<Макет> (обязательный)
Тип: Строка, ОбъектМетаданных. Имя макета, как оно задано в конфигураторе, или объект описания метаданного требуемого макета. 
Возвращаемое значение:
Тип: ТабличныйДокумент, ТекстовыйДокумент, другой объект, который может быть макетом.. 
Описание:
Получает макет документа. 

PM MAIL   Вверх
Spiteful_Devil
Дата 13.3.2008, 15:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 13.3.2008

Репутация: нет
Всего: нет



Чтож ты код не положил, придется самому писать 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "1C: Предприятие, SAP, ERP и учётные системы"
stron

Запрещается!

1. Обсуждение крэков, кейгенов и других подобных программ

Пробуйте искать сами или обращайтесь в приват к участникам форума.

Темы с подобными вещами будут немедленно удаляться, а нарушители - получать предупреждения.

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

2. Давать ссылки на взломанные продукты

  • Пожалуйста, пользуйтесь поиском перед тем, как задать вопрос - возможно ответ уже есть на форуме.
  • Название темы должно отражать её суть
  • Действия модераторов можно обсудить здесь

С уважением, stron, Pegas.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | 1C: Предприятие, SAP, ERP и учётные системы | Следующая тема »


 




[ Время генерации скрипта: 0.0705 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.