Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум программистов _ 1C и всё что с ней связано _ Помогите чайнику

Автор: Вовчик 26:04:2008, 14:29

Люди, помогите пожалуйста чайнику в 1с: - очень срочно нужно.
В документ Оказание Услуг нужно вставить дополнительную кнопку, которая будет вызывать дополнительную печатную форму.
Если можно напишите сразу текст модуля документа, чтобы вставить его туда и все. Форму сам сделал, а печататься не хочет.
Вот исходный текст модуля печати:

//******************************************************************************
// Печать()
//
// Вызывается из формул элементов диалога:
// Кнопка "Печать".
//
// Описание:
// Формирование печатной формы документа.
//
Процедура Печать()

Таб = СоздатьОбъект("Таблица");

АдресТелефон = "";
глДобавитьРеквизит(АдресТелефон, "Адрес: ", глПредставлениеАдреса(Константа.АдресОрганизации));
глДобавитьРеквизит(АдресТелефон, ", тел.: ", Константа.ТелефоныОрганизации);
Таб.ВывестиСекцию("Шапка");

Ном = 0;
ВыбратьСтроки();
Пока ПолучитьСтроку() = 1 Цикл
Ном = Ном + 1;
Наименование = ?(ПустаяСтрока(Услуга.ПолнНаименование)=1, Услуга.Наименование, Услуга.ПолнНаименование);
Таб.ВывестиСекцию("Строка");
Состояние("Выведено строк: " + НомерСтроки);
КонецЦикла;

Таб.ВывестиСекцию("Итоги");
Если УчитыватьНП = 1 Тогда
Таб.ВывестиСекцию("НП");
КонецЕсли;
Таб.ВывестиСекцию("Подвал");

Таб.Опции(0,0,0,0,"ОпцииПечатиНакладной","ОкноНакладной");
Таб.ТолькоПросмотр(1);
Таб.Показать("Печать акта");

КонецПроцедуры // Печать()

//******************************************************************************
// ПоКнопкеПечать()
//
// Вызывается из формул элементов диалога:
// Кнопка "кнПечать".
//
// Описание:
// Определяется соответствующая печатная форма.
//
Процедура ПоКнопкеПечать(СразуНаПринтер = 0,КолЭкз = 1)

Если ПустоеЗначение(НомерТекущейФормы) = 1 Тогда
НомерТекущейФормы = 1;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
КонецЕсли;

Если НомерТекущейФормы = 1 Тогда
Печать();

Иначе
Параметры = СоздатьОбъект("СписокЗначений");
Параметры.ДобавитьЗначение(Контекст, "Контекст");
Параметры.ДобавитьЗначение(СразуНаПринтер, "Устройство");
Параметры.ДобавитьЗначение(КолЭкз, "КоличествоКопий");

ОткрытьФорму("Отчет", Параметры, глКаталогПечФорм+ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы,"Файл"));
КонецЕсли;

КонецПроцедуры // ПоКнопкеПечать()

//******************************************************************************
// ПоКнопкеВыборПечатнойФормы()
//
// Вызывается из формул элементов диалога:
// Кнопка "кнВыбПечать".
//
// Описание:
// - открывает список для выбора способа печати.
// - формирует таблицу по выбранному способу.
//
Процедура ПоКнопкеВыборПечатнойФормы()

ВыбНомер = глВыборПечатнойФормы("Документ." + Вид(), ТаблицаПечФорм);
Если ВыбНомер > 0 Тогда
НомерТекущейФормы = ВыбНомер;
Форма.кнПечать.Заголовок(ТаблицаПечФорм.ПолучитьЗначение(НомерТекущейФормы, "Кнопка"));
ПоКнопкеПечать();
КонецЕсли;

КонецПроцедуры // ПоКнопкеВыборПечатнойФормы()

//*****************************************************************************


ЗАРАНИЕ БЛАГОДАРЕН ВАМ!!!

Автор: Isabela 26:04:2008, 15:32

Посмотри, как устроен вызов разных форм, например, в документе "РасходнаяНакладная" и сделай по аналогии

А уж код за тебя написать - это, извини, иждивенчество

Автор: KiR 4:05:2008, 07:58

Во первых стоило платформу указать. Это раз. А во-вторых можно покопаться и все сделать конструктором.

Автор: Саид 5:05:2008, 12:17

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

Автор: evgenyatam 5:05:2008, 12:44

платформа - судя по языку - 7.7 а вот конфа какая нак не поймеш - нето бухгалтерия - не то упрощенка.
дополнительные печатные формы в бугалтерию и упрощенку стоит добавлять как внешние печатные формы.
а чтоб работало надо добавить например такую процедуру:

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


соответственно в процедуре Печать (Докум,устройство,колвокопий) изложить алгоритм, причем Докум - документ который печатаем.

Русская версия Invision Power Board (http://www.nulled.ws)
© Invision Power Services (http://www.nulled.ws)