• 🚨 29 мая стартует курс «Пентест Active Directory: от теории к практике» от Академии Кодебай

    🔍 Изучите реальные техники атак на инфраструктуру Active Directory: от первоначального доступа до полной компрометации.
    🛠️ Освойте инструменты, такие как BloodHound, Mimikatz, CrackMapExec и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальные сценарии атак.
    🧠 Получите знания, которые помогут вам стать востребованным специалистом в области информационной безопасности.

    После старта курса запись открыта еще 10 дней Подробнее о курсе ...

  • Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

Помогите чайнику

  • Автор темы Автор темы Guest
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
G

Guest

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


ЗАРАНИЕ БЛАГОДАРЕН ВАМ!!!
 
Посмотри, как устроен вызов разных форм, например, в документе "РасходнаяНакладная" и сделай по аналогии

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

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD