Внешняя печатная форма - печать без проведения

1. Nuuq 76 17.07.14 14:04 Сейчас в теме
Сделал внешнюю печатную форму для документа "Отпуск" ЗУП 3.0 - если документ не проведен - вылазит сообщение, что документ сначала требуется провести. Подскажите как во внешней печатной форме передать параметр - печать без проведения?
RodinMax; +1 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sssss_aaaaa_2011 17.07.14 14:16 Сейчас в теме
(1) Nuuq, а что, есть такой параметр? Как он поможет брать данные не из регистров, которые, как ни странно, двигаются именно процедурой проведения, а из данных формы? Ведь в печатной форме наверняка в запросе стоИт "Из РегистрРасчета...", не так ли?
4. dj_serega 392 17.07.14 14:32 Сейчас в теме
(1) Nuuq, данные в печатную форму заполняются данными документа или регистров которые двигает документ?
3. AlexKo84 17.07.14 14:17 Сейчас в теме
Думаю если это печатная форма для документа(для кнопки Печать) то нужна ссылка на документ значит он должен быть записан.
5. Nuuq 76 17.07.14 14:41 Сейчас в теме
У меня произвольная форма уведомления для сотрудника - проведение документа не требуется - нужен только документ, как "болванка" для заполнения уведомления...
6. dj_serega 392 17.07.14 14:47 Сейчас в теме
(5) Nuuq, А конфа на полной поддержке? Тогда сделай внешнюю обработку или отчет, и пусть оттуда выводят на печать то что нужно.
8. Nuuq 76 17.07.14 14:51 Сейчас в теме
(6) dj_serega, понял :) метод зашибись :)
Но ведь в ЗУП 3.0 ряд печатных форм может печататься без проведения - как передать туда это параметр?
10. sssss_aaaaa_2011 17.07.14 14:53 Сейчас в теме
(8) Что ты зациклился на параметре? Почему решил, что дело именно в параметре?
Еще раз - смотри в примерах.
12. dj_serega 392 17.07.14 15:06 Сейчас в теме
(8) Nuuq, А что говорит отладка на тех печатных формах где не требуется проведение?
Я вот нашел такую прикольную функцию Функция ПроверитьДокументыПроведены(ДокументыМассив, ФормаИсточник = Неопределено) Экспорт :)
13. Nuuq 76 17.07.14 15:38 Сейчас в теме
(12) dj_serega,
Да есть такая процедура, но в не в этом соль :)
Это ппц...
Есть такая процеДУРКА в ом ДополнительныеОтчетыИОбработкиКлиент ВыполнитьОткрытиеПечатнойФормы(ВыполняемаяКоманда, Форма, ОбъектыНазначения) Экспорт
Дак вот - в ней "по-умолчанию" присваивается значение СтандартнаяОбработка = Истина ... и тогда не обращая внимания на то, что стоит признак в описании команды ПроверкаПроведенияПередПечатью = Ложь тупо осуществляется проверка на наличие непроведенных документов по циклу из ОбъектыНазначения.
Ну собственно все - капут

Решение: допилить БСП
Реализация:
1) создаем свою константу - ПечатьНеПроведенныхДокументовХХХ (ХХХ - другие матные слова в имени)
2) делаем/не делаем всякие примочки - там константа для конкретных пользователей, с учетом текущей фазы луны и т.п.
3) модифицируем процедуру (в зависимости от значения п.1 - Истина/Ложь) УправлениеПечатьюКлиент.ПроверитьПроведенностьДокументов(ОписаниеПроцедурыЗавершения, СписокДокументов, Форма = Неопределено)
в ключевом моменте ЕстьНепроведенныеДокументы = Истина

НО! Хочется лучшего, элегантного, универсального... Как? ...в процессе
14. buganov 200 13.01.15 12:21 Сейчас в теме
(13) Nuuq, очень не элегантно. Даже можно сказать колхоз. Можно в процедуре
ДополнительныеОтчетыИОбработкиКлиентПереопределяемый.ПередВыполнениемКомандыПечатиВнешнейПечатнойФормы(
установить Стандартная обработка=ложь;
и все.
kild; SvetaSe; +2 1 Ответить
15. Натц 18.10.16 10:40 Сейчас в теме
(14) buganov, Ваш вариант тоже не очень "элегантный"
в проыедуру ДополнительныеОтчетыИОбработкиКлиентПереопределяемый.ПередВыполнениемКомандыПечатиВнешнейПечатнойФормы передается 2 параметра
- ОбъектыНазначения,
- СтандартнаяОбработка

Т.е. если в некоторых ПФ нужно делать проверку на проведения, то ваш вариант не оч. работоспособный.
Westbound; +1 Ответить
20. baracuda 2 08.05.18 17:11 Сейчас в теме
(14) Спасибо за ваше решение! При помощи расширений, подкорректировал! Все ок!
16. droplet 81 05.12.17 17:24 Сейчас в теме
(13) Спасибо за наводку на процедуру.
Может кому пригодится, у себя сделала так:
в ом ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеПечатнойФормы:
//СтандартнаяОбработка = Истина;
СтандартнаяОбработка = ВыполняемаяКоманда.ДополнительныеПараметры.ПоказыватьОповещение;
А стандартный параметр команды ПоказыватьОповещение настраивается в каждой внешней печ.форме.
Taleon; RodinMax; silver_jr; yur57; +4 Ответить
17. nkp14108 94 27.02.18 16:11 Сейчас в теме
(16) вариант требующий изменения конфигурации то же не очень!
я решил этот вопрос вызовом команды "Открытия формы".
Создал форму и разместил на форме единственный реквизит (например ТД) с типом табличный документ
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.ОбъектыНазначения.количество() > 0 Тогда
ОбъектыПечати = Новый СписокЗначений;
ТД = СформироватьПечатнуюФорму(Параметры.ОбъектыНазначения,ОбъектыПечати);
КонецЕсли;
КонецПроцедуры

"СформироватьПечатнуюФорму" это ваша функция с возвратом сформированного табличного документа
7. Nuuq 76 17.07.14 14:50 Сейчас в теме
1с83 Конфа ЗУП 3.0, с поддержки снята, ну БСП естественно...
Печатную форму сделал внешнюю и прицепил команду к кнопе Печать (которая из документа)
9. sssss_aaaaa_2011 17.07.14 14:52 Сейчас в теме
(7) Ну, если БСП, то смотри в ее примерах печать непроведенного документа.
11. Nuuq 76 17.07.14 14:55 Сейчас в теме
18. Spektr 1000 27.02.18 21:00 Сейчас в теме
1.Добавить форму, в модуле формы добавить процедуру Печать:
&НаКлиенте
Процедура Печать(ИмяКоманды, МассивОбъектов, ПараметрыПечати = неопределено, КоллекцияПечатныхФорм = неопределено, ОбъектыПечати = неопределено, ПараметрыВывода = неопределено) Экспорт

ВыполняемаяКоманда = Параметры;

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

ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = ВыполняемаяКоманда.ОбъектыНазначения;
ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия);

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

2.В модуле обработки в функции СведенияОВнешнейОбработке() в параметрах вызова функции ДобавитьКоманду указать "ВызовКлиентскогоМетода":
Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;

МассивНазначений.Добавить("Документ.ЗаказКлиента"); //Указываем документ к которому делаем внешнюю печ. форму
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма"); //может быть - ЗаполнениеОбъекта, ДополнительныйОтчет, СозданиеСвязанныхОбъектов...
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
 	ПараметрыРегистрации.Вставить("Наименование", "ЗаказКлиента_СчетНаОплату"); //имя под которым обработка будет зарегестрирована в справочнике внешних обработок
ПараметрыРегистрации.Вставить("Версия", "1.1");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
ПараметрыРегистрации.Вставить("Информация", "Внешняя печатная форма к документу Заказ клиента");//так будет выглядеть описание печ.формы для пользователя
ТаблицаКоманд = ПолучитьТаблицуКоманд();

// Администратор 07.08.2015
//ДобавитьКоманду(ТаблицаКоманд, "ЗаказКлиента_СчетНаОплату", "ЗаказКлиента_СчетНаОплату", "ВызовСерверногоМетода", Истина, "ПечатьMXL");
// Печать непроведенного документа
ДобавитьКоманду(ТаблицаКоманд, "ЗаказКлиента_СчетНаОплату", "ЗаказКлиента_СчетНаОплату", "ВызовКлиентскогоМетода", Истина, "ПечатьMXL");
// Администратор

ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;

КонецФункции
Показать
kontext; Kilka_v_Kepke; ЛИК1111; mai_k; Sardukar; Raritek; user1636219; Junior1C_37; STivO; luda33; Aleksey_1C; xvchk; ElenaMikulina; korpas; admincablerb; Young; dkonakov; scape; mickey.1cx; Art39_; Anna_arbuz; Ekovichev; Bolnov; KolBbl4; deniznet; avgreen; xzorkiix; user973528; Virsy; spaler; Igorro82IT; oitnur; LimarenkoA; Danila7Zz; Dmitri93; Alexeytur; kala4ka; Lucechiaro; theelectric; Nata_GND; webresurs; yarrr; +42 Ответить
19. yarrr 8 05.04.18 08:37 Сейчас в теме
(18) Мне помогло, спасибо! Отличное решение без модификации конфигурации. Но этот способ работает только при условии, если на в форме на вкладке Параметры созданы параметры:
ДополнительнаяОбработкаСсылка (тип: СправочникСсылка.ДополнительныеОтчетыИОбработки)

ИдентификаторКоманды (тип: Строка)

ИмяФормы (тип: Строка)

ОбъектыНазначения (тип: Произвольный)

Для каждого должен быть установлен признак "Ключевой параметр".
RodinMax; ixijixi; kontext; Kilka_v_Kepke; ЛИК1111; mai_k; Sardukar; Raritek; user1636219; BarsukM; luda33; Aleksey_1C; xvchk; korpas; admincablerb; Young; Art39_; Anna_arbuz; Ekovichev; Bolnov; KolBbl4; avgreen; xzorkiix; user973528; Virsy; spaler; Igorro82IT; Alexeytur; kala4ka; theelectric; Nata_GND; webresurs; +32 Ответить
28. ЛИК1111 27.07.23 14:24 Сейчас в теме
(19) И тебе здоровья, галочки с ключевым параметром были последним штрихом, чтобы заработало
27. ЛИК1111 27.07.23 14:22 Сейчас в теме
(18) Дай бог тебе здоровья, добрый человек :)
21. theelectric 16 02.06.18 14:43 Сейчас в теме
18 и 19 - ребята, спасибо вам большое! То что нужно!
В приложении пример файла, может кому сэкономит время!
Прикрепленные файлы:
НаценкаРеализацииТоваров.epf
Andrekaa; tricolor; kontext; Kolesonik; Sardukar; Raritek; user1636219; Junior1C_37; luda33; Aleksey_1C; xvchk; korpas; admincablerb; Young; Art39_; Anna_arbuz; Ekovichev; KolBbl4; deniznet; avgreen; Virsy; user1393556; spaler; Igorro82IT; LimarenkoA; Danila7Zz; Dmitri93; kala4ka; ASG74; rsvp201; +30 Ответить
22. st8899 01.10.18 15:41 Сейчас в теме
(21) и тебе большое спасибо!
23. natik1 21.04.21 17:47 Сейчас в теме
Спасибо, 18,19 и 21 очень помогли!
24. Junior1C_37 15.02.22 23:04 Сейчас в теме
Надеюсь это есть нужное решение!
Задача стоит такая же.Проверяю. Спасибо!
25. Kremlin_false 06.07.22 12:52 Сейчас в теме
Ребята спасибо большое, 18,19 и 21 очень помогли! Все получилось.
26. Voland775 26.12.22 12:47 Сейчас в теме
Ребята спасибо большое, 18,19 и 21 очень помогли!
29. vppunctum 6 28.07.23 15:24 Сейчас в теме
30. user1252779 145 31.07.23 15:22 Сейчас в теме
вот здесь реализовано для ЗУП
Прикрепленные файлы:
дмИзменениеПлановыхНачислений_10.epf
31. kontext 06.09.23 11:31 Сейчас в теме
(30) На платформе 8.3.23.1782 и релизе ЗУП 3.1.27.51 - эта обработка и сам метод (18,19) уже не работают((
Изменились процедуры общей формы ПечатьДокументов, теперь надо как-то определять КоллекциюПечатныхФорм.
32. user1252779 145 06.09.23 13:42 Сейчас в теме
у нас 8.3.22.1851, значит нам еще предстоит это решать, пока работает
33. Westbound 05.03.24 09:45 Сейчас в теме
Тестил на ERP 2.5.15.82, платформа 8.3.23.1912
Прикрепленные файлы:
ТОРГ-12 (вер. 2).epf
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот