Разбираемся с механизмом Дополнительные отчеты и обработки в БСП

0. json 29.10.16 20:48 Сейчас в теме
Чуть более комплексное описание, чем на других ресурсах

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. davdykin 25 30.10.16 18:09 Сейчас в теме
Спасибо за статью! Но мне кажется, значительно большие трудности не с написанием, а с отладкой данных обработок. Интересно было бы почитать про способы отладки!
adhocprog; pvl_mksv; MaCCapAkIII; KMAPJS; user612914_andshibwork; mike1970; Vida; NeviD; pas; iolko; mindcannon; wbazil; syberman; +13 Ответить
2. json 30.10.16 19:44 Сейчас в теме
(1) davdykin, благодарю за вопрос.
Раз тема актуальная, то опишу свой подход к решению этой задачи в ближайшее время
MaCCapAkIII; Мах; +2 Ответить
43. Xershi 1091 11.01.19 17:00 Сейчас в теме
(1) если это печать, то все просто. Создаем форму и эмулируем параметры. Затем вывод на форму в табличный документ.
Для остального обычно существует форма, если нет, то тоже самое, параметры подсмотреть перед вызовом и все быстро отлаживается в полном контексте и не нужно каких-то режимов разработчика или дополнительной обработки, которая будет работать через сохранение в файл и подмену.
3. vadver 38 31.10.16 08:45 Сейчас в теме
Спасибо, хорошая статья. Правда, совершенно не освещено заполнение разрешений. Для безопасного режима это очень актуально
olbu; vasiliy_b; +2 Ответить
4. nixel 998 31.10.16 09:54 Сейчас в теме
Кто-то должен спросить...
Чем не устроила официальная документация по БСП на ИТС?
З.Ы. Про разрешения там тоже есть.
AnderWonder; vano-ekt; +2 Ответить
6. fishca 1191 31.10.16 11:16 Сейчас в теме
(4) а у всех туда доступ есть?
Elvira_Saydasheva; KRJ; Suslik_Johns; ybatiaev; user717534; Мах; +6 Ответить
8. vadver 38 31.10.16 17:32 Сейчас в теме
(4) nixel, ага, документация там по принципу "краткость - сестра таланта"
Elvira_Saydasheva; user1302843; ybatiaev; user717534; rystam_atai; spmisc; +6 Ответить
10. nixel 998 31.10.16 18:40 Сейчас в теме
(8) vadver, не заметил там краткости, особенно в разделе "Использование при разработке конфигурации"

Видимо, вкусовщина.
9. palsergeich 31.10.16 18:19 Сейчас в теме
(4) nixel, https://its.1c.ru/db/bspdoc#content:427:1 Вы про это? При всем моем уважении, это не документация, это КрССТал.
Нормально посмотреть как это работает, конечно, можно в демо базе, но зачем тогда такая документация, если по любому вопросу проще лезть в пример. А доступ к демо базе может быть не всегда...

Да они в общем то этого не скрывают:
Подробнее см. дополнительную обработку Демо: Обработка заполнения в справочнике Дополнительные отчеты и обработки демонстрационной конфигурации.
bow; sbcode; +2 Ответить
11. json 31.10.16 23:38 Сейчас в теме
(4) nixel, я описал с точки зрения программиста, который начал использовать данный механизм, а не с точки зрения архитектора, который его разработал и описал документацию.
Архитектору, например, и так понятно, что СвязанныеОбъекты - появляются в меню "Создать на основании" в карточке документа. Но я потратил кучу времени, чтобы понять, на что влияет этот параметр. Или чем отличается Отчет от ДополнительныйОтчет? Из указанной вами справки этого не понять, о чем справедливо заметил (8) vadver, Или например, те же самые команды - все поля перечислены скопом, сидишь и думаешь, как их все заполнить, а заполнять то оказывается достаточно только три из них. И такие мелочи на каждом шагу. В итоге, разобравшись, мне было просто жалко, что эта информация забудется мною через некоторое время, поэтому я выложил свое знание в виде публикации

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

(3) vadver, я постарался осветить только основные моменты, не погружаясь в детали. На полноту изложения не претендую. Я пропустил не только этот аспект, но и еще дополнительные методы объектов, которые на мой взгляд тоже заслуживают внимания. Думаю, что такие детали уже можно разобрать по справке или на примерах из БСП, имея общее понимание механизма.
adhocprog; Net.Bear; Suslik_Johns; user1021675; user958854; nvv1970; KidMo; alevnev; AndrewKop; InJey; user717534; Stepka1206; CodeNull; rystam_atai; ZhikinVN1984; SirYozha; Dementor; bow; Krio2; Vladimir Litvinenko; swiss-garant; vic777tor; sbcode; NeviD; AlX0id; vadver; jONES1979; +27 Ответить
60. Suslik_Johns 20.01.20 16:32 Сейчас в теме
(11)
Или чем отличается Отчет от ДополнительныйОтчет?

А чем же все-таки отличается?
5. fishca 1191 31.10.16 11:16 Сейчас в теме
Только за одно оформление "+"
adhocprog; Мах; +2 Ответить
7. rayastar 65 31.10.16 11:50 Сейчас в теме
"применить данную технологию"
уж тогда механизм) технология это немножко другое
12. Makushimo 157 01.11.16 06:36 Сейчас в теме
13. sml 36 02.11.16 10:07 Сейчас в теме
плюсанул за внятный удобочитаемый вид
14. Trucker 6 03.11.16 08:45 Сейчас в теме
Да, все это нужное и важное. Вот только разработчик БСП постепенно уходит от текущей модели подключаемых внешних обработок и переходит на расширения.
15. Сурикат 335 07.12.16 20:12 Сейчас в теме
Забыли про внешние обработки, позволяющие добавлять свои способы расчета скидок
16. KazanKokos 8 26.12.16 12:23 Сейчас в теме
а под ОФ(ут10.3) тоже самое подходит? Не могу никак найти описание. видимо уже неактуально и ссылки ушли вниз
17. Taliesien 16.01.17 15:52 Сейчас в теме
Подскажите, пожалуйста, если я вызываю внешний отчёт с формы элемента справочника, могу ли я использовать/получить данный элемент в модуле отчёта?
Suslik_Johns; +1 Ответить
49. user824140 17.03.19 17:56 Сейчас в теме
(17) "Подскажите, пожалуйста, если я вызываю внешний отчёт с формы элемента справочника, могу ли я использовать/получить данный элемент в модуле отчёта?"

Присоединяюсь к вопросу.
Suslik_Johns; +1 Ответить
51. json 2807 17.03.19 18:30 Сейчас в теме
(49) (50) не понятны детали вопроса. Если речь идет о внешнем отчете СКД с видом Отчет, то тогда что подразумевается под словом "Элемент": объект или ссылка?
Если речь об "объекте", то во-первых, к нему из отчета обратиться не получится, во-вторых, если вам это нужно, значит есть проблема с архитектурой.
Если речь о "ссылке", то - да, ссылки передаются как параметр, но не в модуль объекта, в форму.

В общем слабо понятен контекст вопроса...
52. user824140 17.03.19 18:51 Сейчас в теме
(51) Да, внешний отчет на СКД с видом Отчет (привязан к справочнику Номенклатура). Хочу получить (не важно) в форме или модуле внешнего отчета ссылку на номенклатуру. Возможно ли это?
53. json 2807 17.03.19 20:18 Сейчас в теме
18. Xershi 1091 15.05.17 17:51 Сейчас в теме
В моей версии конфигурации "УТ" также есть хороший комментарий в функции ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке.
19. jaroslav.h 04.07.17 19:18 Сейчас в теме
Спасибо большое, ведь в новых конфах уже старый способ не канает. Пример УНФ 1.6 для Украины, не хотела форма показываться при подключении старым способом
20. jaroslav.h 04.07.17 20:06 Сейчас в теме
в прочем, алгоритм то тот же, просто блокировка интерфейса стояла у меня на форме обработки)
21. just_Art 26.09.17 18:07 Сейчас в теме
Отличная статья! Всё максимально разжевано и разложено по полочкам, благодарю
22. ylyas 25 10.10.17 13:25 Сейчас в теме
В шаблонах обработки в процедуре ВыполнитьКоманду() параметр "ПараметрыВыполнения" по умолчанию равно "Неопределено".
А внутри процедуры нет проверки и сразу идет обращение через точку "ПараметрыВыполнения.РезультатВыполнения" ..
Здесь явно будет ошибка
23. 7OH 32 03.04.18 12:48 Сейчас в теме
37. spmisc 27.04.18 13:57 Сейчас в теме
(22) В моей текущей версии (не знаю как посмотреть) в Общем Модуле "ДополнительныеОтчетыИОбработки" идет проверка:
Процедура ВыполнитьНазначаемуюКомандуДополнительногоОтчетаИлиОбработки­(ВнешнийОбъект, Знач ИдентификаторКоманды, ПараметрыКоманды, ОбъектыНазначения, Знач СценарийВБезопасномРежиме = Ложь)
	
	Если СценарийВБезопасномРежиме Тогда
		
		ВыполнитьСценарийВБезопасномРежиме(ВнешнийОбъект, ПараметрыКоманды, ОбъектыНазначения);
		
	Иначе
		
		Если ПараметрыКоманды = Неопределено Тогда
			ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения);
		Иначе
			ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения, ПараметрыКоманды);
		КонецЕсли;
		
	КонецЕсли;
	
КонецПроцедуры
Показать
58. ybatiaev 54 07.11.19 16:49 Сейчас в теме
(37) Понимаю, что глупый вопрос - а где должна быть команда или сценарий. Есть примеры этого?
24. 7OH 32 03.04.18 13:15 Сейчас в теме
Ну и про "СтандартныеПодсистемыКлиентСервер.ВывестиОповещение("
у меня в этом модуле всего 3 функции - далеко не для этого...
25. 7OH 32 03.04.18 15:04 Сейчас в теме
Подскажите - как вызвать форму обработки для заполнения формы объекта?
(Хотелось бы без записи объекта).

Если вызывать заполнение формы - то оно почему-то вызывается с сервера и я не могу открыть другую форму.
Открытие формы - получает на входе только ссылки - то бишь мне остаётся только заполнять и записывать объекты, а не открытую форму.
26. Xershi 1091 03.04.18 15:27 Сейчас в теме
(25) увы тоже с этим столкнулся. В таком случае придется переписывать логику, чтобы не записывать документ. И это будет велосипед, разработчики предполагили запись в базу, потом открытие.
27. 7OH 32 03.04.18 18:45 Сейчас в теме
(26) Для себя костыль нашел - через ЭтаФорма.Владелец.Объект достучался куда надо.
А пока ковырял пытался себя на место разрабов поставить и не понял:
1. Почему в параметры формы форму не передать - имя передают, а саму форму нет.
2. Почему форма заполнения открывается без РежимОткрытияОкнаФормы.БлокироватьОкноВладельца.
28. Xershi 1091 03.04.18 19:34 Сейчас в теме
(27) потому что это работает, если делать на основании 1 документа, а если на основании нескольких? Тогда велосипед не поедет!
29. 7OH 32 03.04.18 23:20 Сейчас в теме
(28) Согласен - задачи бывают разные.
Как по мне - форма заполнения документА - один к одному должна быть ( с трудом представляю заполнение нескольких документов сразу, особенно разных типов).
Ну а если по какому-то алгоритму - то можно и объекты по ссылкам заполнить.
В общем - не панацея, но при 1:1 - решение есть.
30. Xershi 1091 04.04.18 10:14 Сейчас в теме
(29) так вот тут и вопрос заключается, когда делается 2 документа сразу их приводить к 1 или 2 к 2. 1 к 1 это частный случай)
31. 7OH 32 04.04.18 11:47 Сейчас в теме
(30) более одного - это уже из формы списка открывается - или не ?
а из формы списка формы ж никак не получить.
Или есть метод вызвать одну команду сразу у 2+ открытых форм одной кнопкой ?
36. spmisc 27.04.18 13:43 Сейчас в теме
(25) А как вообще организовать вызов процедуры ВыполнитьКоманду при типе команды ЗаполнениеФормы?
У меня в эту процедуру программа не заходит вообще, при этом не пишет никаких ошибок (вид обработки: ЗаполнениеОбъекта).
Возможно, я не там и/или не так эту процедуру (ВыполнитьКоманду) написал: пробовал и в модуле формы (и НаКлиенте и НаСервере) и в модуле обработки - ноль реакции системы...
32. baracuda 2 05.04.18 08:16 Сейчас в теме
Почему не все обработки в один архив? Каждую отдельно качать шо ли. (
33. json 06.04.18 13:26 Сейчас в теме
(32)
Для меня интересна статистика, какие виды обработок чаще используются.

Для тех, у кого нет возможности скачать нужный шаблон, могу порекомендовать два варианта:
1. Разобраться самостоятельно, также как это сделал я. Для этого достаточно скачать демо конфигурацию по БСП. Об этом указано в публикации
2. Написать что-нибудь ПОЛЕЗНОЕ и выложить на инфостарте. Тогда не будет возникать таких вопросов и не будет сложностей со скачиванием чужих разработок
34. baracuda 2 07.04.18 09:22 Сейчас в теме
(33) давайте по чесноку.
1) на статистику вам наплевать 100%
2) обязательно это сделаю и не буду требовать стартманей
KRJ; FindSS; +2 Ответить
35. user777757 25.04.18 09:25 Сейчас в теме
От себя добавлю: обязательно смотрите на привязку процедуры ПриСозданииНаСервере к самой форме! У меня случилось следующее: в форме списка не выводилась кнопка Печать, хотя в форме документа была. В модуле формы списка прописаны все необходимые процедуры, но печать не работала, пока не обратил внимания на свойства формы! Разработчик скопировал стандартные процедуры из формы другого документа, а сделать привязку забыл. Пришлось потратить достаточно много времени на устранение простейшей ошибки.
38. user970630 28.09.18 12:33 Сейчас в теме
Спасибо за статью. Только начал изучать программирование, поэтому не все понял. Буду разбираться дальше.
39. vanessa 21.12.18 18:31 Сейчас в теме
Отличная статья!
Подскажите пожалуйста, в варианте ОткрытиеФормы - для - ЗаполненияОбъекта.
Вы указали, что в форму, передается дополнительный параметр "ОбъектыНазначения"

Однако я никак не могу понять, как этот параметр использовать, и где его можно отловить?
40. zawal 15 03.01.19 13:23 Сейчас в теме
Добрый день, спасибо за описания. Плюсанул. Может подскажете как в внешней печатной форме указать макет который находится в самой внешней обработке, тотому как по логике макет можно указать только тот который есть в метаданных базы.
41. json 2807 03.01.19 14:26 Сейчас в теме
(40) Не понятен сценарий использования: на клиенте или на сервере

Если на клиенте, то почему нельзя так:
&НаКлиенте
Процедура Печать(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
	
	КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм(ИдентификаторКоманды);
	ПечатнаяФорма = УправлениеПечатьюКлиент.ОписаниеПечатнойФормы(КоллекцияПечатныхФорм, ИдентификаторКоманды);
	ПечатнаяФорма.ТабличныйДокумент = ПечатьНаСервере(ОбъектыНазначенияМассив, ИдентификаторКоманды);;
	
	ОбластиОбъектов = Новый СписокЗначений;
	УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм, ИдентификаторКоманды);
	
КонецПроцедуры

&НаСервере
Функция ПечатьНаСервере(МассивОбъектов, ИмяМакета)
	
	ТабличныйДокумент = РеквизитФормыВЗначение("Объект").ПолучитьМакет("ИмяМакетаВоВнешнейОбработке");
	// заполнение табличного документа

	Возврат ТабличныйДокумент;

КонецФункции
Показать


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

Функция ПечатьЗаказаСХарактеристиками(МассивОбъектов, ОбъектыПечати, ИмяМакета)
	
	ТабличныйДокумент = ПолучитьМакет("ИмяМакетаВоВнешнейОбработке");
	// заполнение табличного документа
	
	Возврат ТабличныйДокумент;
	
КонецФункции
Показать
42. zawal 15 03.01.19 18:12 Сейчас в теме
(41)
РеквизитФормыВЗначение("Объект")


Уже нашел, но все равно спасибо
44. Taxes 06.03.19 06:49 Сейчас в теме
Добрый день. Раз уже идет разговор про внешние обработки, то надеюсь на небольшую консультацию. Ситуация следующая, есть вполне рабочая внешняя обработка, подключенная к конфигурации. Выполняется по расписанию. Но при каждом обновлении из файла в справочнике
"ДополнительныеОтчетыИОбработки" (по кнопке "записать" или "записать и закрыть") она сразу начинает выполнять команды, заложенные в процедуре ВыполнитьКоманду(ИдентификаторКоманды).
Как этого избежать? Исполняется все корректно, но как-то не вовремя... Заранее, спасибо
45. json 2807 06.03.19 08:04 Сейчас в теме
(44) Если честно, то не углублялся в этот механизм с регламентными заданиями в БСП.
Но судя по описанной ситуации понятно что:
1. У вас стоит расписание регламентного задания с небольшой периодичностью (1 раз в день, 1 раз в час или что-то типа того).
2. В типовой БСП, видимо, при записи справочника внешних обработок регламентное задание перезаписывается. То есть если трассернуть метод запись элемента справочника внешних обработок, то будет примерно такой вот код
.....
Задание = РегламентныеЗадания.НайтиПоУникальномуИдентификатору(УникальныйИдентификатор);
.....
Задание.Записать();
.....

Если все так, то при записи регл. задания "сбрасываются" признаки его выполнения и получается, что в текущем интервале оно еще не выполнялось.

Что с этим делать:
Если у задания периодичность, например один раз в сутки начиная с 1 часа ночи, то можно назначить ему интервал, чтобы в то время, когда вы разрабатываете, оно не выполнялось.
Если хочется более гибкого решения - то можно
Вариант 1. Попробовать самому проанализировать код записи справочника внешних обработок и увидеть, есть ли какой-нибудь стандартный механизм обхода перезаписи задания.
Вариант 2. Записывать справочник внешних обработок в режиме ОбменДанными.Загрузка = Истина. Возможно в этом случае не выполняется перезапись задания. Делать это либо через доработанную форму элемента (например, в виде внешней обработки), либо в другой базе, если у вас несколько баз и между ними обмен и регламентное задание выполняется в одной из баз
Вариант 3. Задать вопрос разработчикам БСП на телеграмм-канале https://t.me/ssl1c

Ну и последнее. Если разберетесь с этим вопросом и решение будет не очевидное, то напишите публикацию на ИС. Т.к. проблема типовая и возникает у многих.
46. Taxes 06.03.19 09:48 Сейчас в теме
(45)
Спасибо за гипотезы... Попробую воспользоваться советами.
Регламентное задание действительно выполняется раз в сутки и даже так - непонятна логика.... Если тебе задали явно время выполнения - будь добр в данное время и стартовать :) Да и выполнение обработки при самой первой записи элемента справочника тоже непонятно. Я полагал, что упускаю что-то из теории и ответ очевиден для опытных разработчиков, а оказывается многие мучаются с подобными неудобствами...
47. json 2807 06.03.19 09:55 Сейчас в теме
(46) регламентное задание учитывает, что в заданное время старта сервер, например может лежать или стоит блокировка заданий. Тогда оно выполнится сразу же как только появляется возможность, если этот момент входит в заданный интервал регламентного задания.
Если оно выполняется раз в сутки, то задайте ему расписание : раз в сутки с 01:00 до 05:00, ну или что-нибудь в этом духе. У вас скорее всего стоит расписание : раз в сутки с 00:00 до 23:59. Поэтому и возникает проблема
48. Taxes 06.03.19 10:22 Сейчас в теме
(47) Да, причина (даже не причина, а вариант обхода... ) именно в этом. После установки допустимого временного диапазона выполнения - обработки перестали выполняться при записи (очевидно, что записывать их нужно за пределом этого диапазона :) ).
Спасибо за подсказку!
50. user824140 17.03.19 18:04 Сейчас в теме
Подскажите, пожалуйста, если я вызываю внешний отчёт с формы элемента справочника, могу ли я использовать/получить данный элемент в модуле отчёта?
54. kalleka 47 16.04.19 13:06 Сейчас в теме
(50) Не актуально наверняка, но может кому пригодится ответ
ВладелецФормы.Объект
Suslik_Johns; +1 Ответить
55. ks8585 3 23.08.19 22:40 Сейчас в теме
Доброго дня. При разных типах обработки вызывается разные процедуры ( выполнить команду в модуле обработки, выполнть команду а модуле формы, открытие формы.
Как узнать какие переменные доступны на этих процедурах ?!)
(54)
56. VovaSan 29.08.19 10:20 Сейчас в теме
Добрый день! Тут как-то вскользь упоминалось про вызов "ОбработкаОбъекта" из формы списка, никак не получается это осуществить. При регистрации обработки есть крыжики для вариантов выбора в форме объекта и/илив форме списка. В форме объекта появляется кнопка с вызовом, а вот в форме списка никак. Где что нужно дописать чтоб появился вызов из формы списка по кнопке или в контекстном меню?
57. zykov_vitaliy 53 25.09.19 14:29 Сейчас в теме
В данной статье не упомянулось про тип команды "ЗагрузкаДанныхИзФайла". Считаю, что это одна из важнейших типов обработок, которая позволяет не выдумывать механизм загрузок в справочники, табличные части документа данных, а пользоваться стандартными средствами загрузки. Рекомендую дополнить вашу статью описанием данного типа обработки. В интернете очень мало информации про него
59. Светлый ум 268 15.01.20 07:54 Сейчас в теме
По примеру статьи создания и регистрации "болванки" внешней обработки:
https://wiseadvice-it.ru/o-kompanii/blog/articles/vneshnyaya-obrabotka-v-1s-8-3/
(перестала работать - старая версия регистрации)

Итоговая процедура регистрации:
(добавляем ее в модуль объекта и больше ничего - все будет работать)

Функция СведенияОВнешнейОбработке() Экспорт
	
	ДанныеДляРег = Новый Структура();
	ДанныеДляРег.Вставить("Наименование","Новая внешняя обработка");
	ДанныеДляРег.Вставить("БезопасныйРежим", Истина);
	ДанныеДляРег.Вставить("Назначение", Новый Массив);
	ДанныеДляРег.Вставить("Информация", НСтр("ru = '""Болванка""'"));	
	//ДанныеДляРег.Вставить("ВерсияБСП", "2.1.2.1");
	ДанныеДляРег.Вставить("Версия", "1.0.0.1");
	ДанныеДляРег.Вставить("Вид", Перечисления.ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка);
	ТабЗнКоманды = Новый ТаблицаЗначений;
	ТабЗнКоманды.Колонки.Добавить("Идентификатор");
	ТабЗнКоманды.Колонки.Добавить("Использование");
	ТабЗнКоманды.Колонки.Добавить("Представление");
	НовСтрока = ТабЗнКоманды.Добавить();
	НовСтрока.Идентификатор = "НоваяВнешняяОбработка";
	НовСтрока.Использование = "ОткрытиеФормы";
	НовСтрока.Представление = "Новая внешняя обработка";
	ДанныеДляРег.Вставить("Команды", ТабЗнКоманды);
	Возврат ДанныеДляРег;
	
КонецФункции
Показать
61. Suslik_Johns 20.01.20 16:47 Сейчас в теме
Или чем отличается Отчет от ДополнительныйОтчет?

Чем же все-таки отличается, подскажите?
62. json 2807 20.01.20 16:57 Сейчас в теме
(61)
Отчет - строится по ссылке или массиву ссылок. Может вызываться из формы объекта, тогда в отчет будет передана ссылка или из формы списка, тогда в отбор будет передан массив выделенных в списке ссылок.
ДополнительныйОтчет - это просто любой отчет, который не привязан к объектам. В него никакие отборы БСП не передает.
KRJ; qwertyranty; Suslik_Johns; +3 Ответить
66. German_Tagil 26 23.06.20 07:50 Сейчас в теме
(62) Пытаюсь передать параметр владелецформы.объект из формы документа во внешний отчет который расположен на форме документа
и никак не могу понять как это сделать
нужна строка в отчете типа

НоваяСтрока = ВладелецФормы.Объект .Товары.Добавить();
63. Suslik_Johns 20.01.20 17:14 Сейчас в теме
Спасибо за быстрый ответ!
А не подскажите - где можно подробнее почитать про внешние отчеты, к итс закончился доступ пока...
64. tireal 72 28.04.20 15:34 Сейчас в теме
Всем привет, добавляю внешнюю печатную форму. В ней 2 команды (Печать 1, Печать 2). Размещение 2 типа документа - Документ А, Документ В. Как сделать так чтобы что бы в списке печатных форм для документа А, показывалась только Печать 1, а для документа В только Печать 2?
"Курю" параметры команд ТипыОбъектовПечати и СписокФорм но как то безрезультатно. Может кто делал подобную задачу?
Через "Настроить видимость" не хочу, ну если только подскажите как настроить ее заполнение через СведенияОВнешнейОбработке() .
65. tireal 72 29.04.20 21:13 Сейчас в теме
67. LackyZZ 21.07.20 12:56 Сейчас в теме
Возможно ли как то при создании справочника вызвать дополнительную обработку, не сохраняя его? Использование - ОткрытиеФормы.
В сохраненном все норм, открывается. При создании, просит изначально записать, потом открывает. Нужно вызвать форму. Сделать некоторые действия и вернуть полученные значения в справочник.
68. gucci76 346 20.01.21 19:00 Сейчас в теме
   Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Вид = "ЗаполнениеОбъекта";
    ПараметрыРегистрации.Наименование = НСтр("ru='Заполнить с вредными условиями труда'");
    ПараметрыРегистрации.Информация = НСтр("ru='Заполнение табличной части документа Данные для расчета зарплаты (Разработка Гуков И.А. А+)'");
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.Назначение.Добавить("Документ.ДанныеДляРасчетаЗарплаты");
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
    
    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Идентификатор = "ЗаполнитьВредников";
    Команда.Представление = "Заполнить с вредными условиями труда";
   // Команда.Использование = "ОткрытиеФормы";
    Команда.Использование = "ЗаполнениеФормы";
   
    
    Возврат ПараметрыРегистрации;

КонецФункции


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


Вроде у меня в доп обработке связка:
ЗаполнениеФормы + ЗаполнениеОбъекта = ВыполнитьКоманду( ИдентификаторКоманды, ОбъектыНазначения,ПараметрыВыполнения)

Только 1С ругается на лишний параметр в ВыполнитьКоманду
Недостаточно фактических параметров
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(1977)}: ВнешнийОбъект.ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначения);
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(2065)}: ВыполнитьНазначаемуюКомандуДополнительногоОтчетаИлиОбработки­(
{ОбщийМодуль.ДополнительныеОтчетыИОбработки.Модуль(752)}: ВыполнитьКомандуВнешнегоОбъекта(ВнешнийОбъект, ВыполняемаяКоманда.Идентификатор, ПараметрыКоманды, Неопределено);
{(1)}:ДополнительныеОтчетыИОбработки.ОбработчикКомандыЗаполнения(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(4888)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
{ОбщийМодуль.ПодключаемыеКоманды.Модуль(159)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(Обработчик, ПараметрыЭкспортнойПроцедуры);
{Документ.ДанныеДляРасчетаЗарплаты.Форма.ФормаДокумента.Форма(871)}: ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, Контекст, Объект, Результат);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(178)}: Контекст.Форма.Подключаемый_ВыполнитьКомандуНаСервере(СерверныйКонтекст, Результат);
{ОбщийМодуль.ПодключаемыеКомандыКлиент.Модуль(67)}: ПродолжитьВыполнениеКоманды(Контекст);
{Документ.ДанныеДляРасчетаЗарплаты.Форма.ФормаДокумента.Форма(866)}: ПодключаемыеКомандыКлиент.ВыполнитьКоманду(ЭтотОбъект, Команда, Объект);

Никто не сталкивался?
Оставьте свое сообщение
Вопросы с вознаграждением