|
как из внешней обработки распечатать выбранный договор? | ☑ | ||
---|---|---|---|---|
0
rogachev
14.09.19
✎
12:55
|
как програмно это можно решить?
|
|||
1
Chameleon1980
14.09.19
✎
13:07
|
Выбранный кем и где? Мало информации. Так никто не ответит.
|
|||
2
rogachev
14.09.19
✎
13:10
|
(1) выбираю договор любой в форме созданной мною обработки по кнопке печать .мне нужно распечатать этот договор .из внешней обработки .
|
|||
3
ДенисЧ
14.09.19
✎
13:11
|
Посмотреть, как оный договор печатается не из внешней обработки, и сделать так же в обработке.
|
|||
4
rogachev
14.09.19
✎
13:13
|
(3) логично . не проще было бы вызвать команду печати текущего договора в внешней обработке ?
|
|||
5
rogachev
14.09.19
✎
13:13
|
(3) вызвать команду из командной панели договора
|
|||
6
rogachev
14.09.19
✎
13:15
|
(3) а как он там печатается ?
|
|||
7
hhhh
14.09.19
✎
13:27
|
(6) при помощи команды из командной панели
|
|||
8
rogachev
14.09.19
✎
13:47
|
(7) это я знаю ,как эту команду вызвать в внешней обработке?
|
|||
9
shuhard
14.09.19
✎
13:49
|
(8) через модуль менеджера договора вестимо
|
|||
10
rogachev
14.09.19
✎
13:50
|
(9) знаю где чего . находиться .вызвать как?
|
|||
11
hhhh
14.09.19
✎
13:52
|
(8) ну во внешней обработке этой делаешь создать команду, к этой команде привязываешь процедуру. Потом команду мышкой кидаешь на панель.
|
|||
12
shuhard
14.09.19
✎
13:53
|
(10) а что конкретно не получается с вызовом процедуры из модуля менеджера справочника ?
ты всё на уровне палки и верёвки |
|||
13
rogachev
14.09.19
✎
13:53
|
(11) это я делал 10 лет назад.
|
|||
14
rogachev
14.09.19
✎
13:55
|
(12) нет я не на уровне палки и веревки
не надо в мой адрес гнать . |
|||
15
rogachev
14.09.19
✎
13:57
|
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
Если ПравоДоступа("Чтение", Метаданные.Справочники.ШаблоныДоговоров) Тогда // Текст договора КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "Договор"; КомандаПечати.Представление = НСтр("ru = 'Договор'"); КомандаПечати.Обработчик = "ПечатьДоговоровКлиент.ВыполнитьКомандуПечатиТекстаДоговора"; КомандаПечати.СписокФорм = "ФормаЭлемента,ФормаСпискаОбщая"; КонецЕсли; Если ПравоДоступа("Чтение", Метаданные.Справочники.Контрагенты) Тогда // Печать конвертов КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "Конверт"; КомандаПечати.Представление = НСтр("ru = 'Конверт'"); КомандаПечати.Обработчик = "УправлениеПечатьюБПКлиент.ВыполнитьКомандуПечатиКонверта"; КомандаПечати.СписокФорм = "ФормаЭлемента,ФормаСпискаОбщая"; КонецЕсли; КонецПроцедуры // Возвращает структуру с перечнем полей, которые могут быть поставлены в текст // договора по данным из справочника "Договоры контрагентов". // Функция ПодготовитьПараметрыПечатиТекстаДоговора(ДоговорКонтрагента) Экспорт РеквизитыДоговора = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(ДоговорКонтрагента, "Владелец, Организация, Дата, Номер, СрокДействия, ВидДоговора, ВалютаВзаиморасчетов, |УстановленСрокОплаты, СрокОплаты, |Руководитель, ЗаРуководителяПоПриказу, ДолжностьРуководителя, |РуководительКонтрагента, ЗаРуководителяКонтрагентаПоПриказу, ДолжностьРуководителяКонтрагента, |ПолРуководителяКонтрагента"); // Дополнительные поля РеквизитыДоговора.Вставить("РуководительФИО", ""); // Фамилия Имя Отчество РеквизитыДоговора.Вставить("РуководительПол", ""); // Пол физического лица ДатаСреза = ?(ЗначениеЗаполнено(РеквизитыДоговора.Дата), РеквизитыДоговора.Дата, ТекущаяДатаСеанса()); // Если срок оплаты не указан в самом договоре, берем его из константы. Если НЕ РеквизитыДоговора.УстановленСрокОплаты Тогда Если РеквизитыДоговора.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком ИЛИ РеквизитыДоговора.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомиссионеромНаЗакупку ИЛИ РеквизитыДоговора.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СКомитентом Тогда РеквизитыДоговора.Вставить("СрокОплаты", Константы.СрокОплатыПоставщикам.Получить()); Иначе РеквизитыДоговора.Вставить("СрокОплаты", Константы.СрокОплатыПокупателей.Получить()); КонецЕсли; КонецЕсли; Если ЗначениеЗаполнено(РеквизитыДоговора.Руководитель) Тогда ДанныеФизЛица = УчетЗарплаты.ПредставлениеФизическогоЛица(РеквизитыДоговора.Руководитель, ДатаСреза); Если ЗначениеЗаполнено(ДанныеФизЛица.ФИОПолные) Тогда РеквизитыДоговора.Вставить("РуководительФИО", ДанныеФизЛица.ФИОПолные); Иначе РеквизитыДоговора.Вставить("РуководительФИО", ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РеквизитыДоговора.Руководитель, "Наименование")); КонецЕсли; Иначе ОтветственныеЛица = ОтветственныеЛицаБП.ОтветственныеЛица( РеквизитыДоговора.Организация, ДатаСреза, Неопределено); РеквизитыДоговора.Вставить("Руководитель", ОтветственныеЛица.Руководитель); РеквизитыДоговора.Вставить("РуководительФИО", ОбщегоНазначенияБПВызовСервера.ПолучитьФамилиюИмяОтчество( ОтветственныеЛица.РуководительФИО.Фамилия, ОтветственныеЛица.РуководительФИО.Имя, ОтветственныеЛица.РуководительФИО.Отчество, Ложь)); РеквизитыДоговора.Вставить("ДолжностьРуководителя", ОтветственныеЛица.РуководительДолжность); КонецЕсли; Если ЗначениеЗаполнено(РеквизитыДоговора.Руководитель) Тогда РеквизитыДоговора.Вставить("РуководительПол", ОбщегоНазначения.ЗначениеРеквизитаОбъекта(РеквизитыДоговора.Руководитель, "Пол")); КонецЕсли; Возврат РеквизитыДоговора; КонецФункции #КонецОбласти |
|||
16
rogachev
14.09.19
✎
13:58
|
как ее вызвать для текущего выбранного договора? в обработке
|
|||
17
hhhh
14.09.19
✎
14:08
|
(16) эту процедуру вам точно не нужно, там внутри изучайте процедуры
КомандаПечати.Обработчик = "ПечатьДоговоровКлиент.ВыполнитьКомандуПечатиТекстаДоговора"; вот это например |
|||
18
rogachev
14.09.19
✎
14:10
|
(17) эт я уже понял спасибо за подсказки
|
|||
19
rogachev
14.09.19
✎
14:10
|
отпишусь как решу
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |