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

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

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

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

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

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

(3) vadver, я постарался осветить только основные моменты, не погружаясь в детали. На полноту изложения не претендую. Я пропустил не только этот аспект, но и еще дополнительные методы объектов, которые на мой взгляд тоже заслуживают внимания. Думаю, что такие детали уже можно разобрать по справке или на примерах из БСП, имея общее понимание механизма.
Suxar; bocharovki; DmitryTelepanov; pobedria; abasovit; LeXXeR; ilyaleontyev; user591389_aska_rabota; pavlov_a; dr2c; VooDOOPRo; 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; +38 Ответить
60. Suslik_Johns 20.01.20 16:32 Сейчас в теме
(11)
Или чем отличается Отчет от ДополнительныйОтчет?

А чем же все-таки отличается?
5. fishca 1240 31.10.16 11:16 Сейчас в теме
Только за одно оформление "+"
adhocprog; Мах; +2 Ответить
7. rayastar 1196 31.10.16 11:50 Сейчас в теме
"применить данную технологию"
уж тогда механизм) технология это немножко другое
12. Makushimo 159 01.11.16 06:36 Сейчас в теме
13. sml 36 02.11.16 10:07 Сейчас в теме
плюсанул за внятный удобочитаемый вид
14. Trucker 6 03.11.16 08:45 Сейчас в теме
Да, все это нужное и важное. Вот только разработчик БСП постепенно уходит от текущей модели подключаемых внешних обработок и переходит на расширения.
15. Сурикат 370 07.12.16 20:12 Сейчас в теме
Забыли про внешние обработки, позволяющие добавлять свои способы расчета скидок
16. KazanKokos 9 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 3097 17.03.19 18:30 Сейчас в теме
(49) (50) не понятны детали вопроса. Если речь идет о внешнем отчете СКД с видом Отчет, то тогда что подразумевается под словом "Элемент": объект или ссылка?
Если речь об "объекте", то во-первых, к нему из отчета обратиться не получится, во-вторых, если вам это нужно, значит есть проблема с архитектурой.
Если речь о "ссылке", то - да, ссылки передаются как параметр, но не в модуль объекта, в форму.

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

Если вызывать заполнение формы - то оно почему-то вызывается с сервера и я не могу открыть другую форму.
Открытие формы - получает на входе только ссылки - то бишь мне остаётся только заполнять и записывать объекты, а не открытую форму.
26. Xershi 963 03.04.18 15:27 Сейчас в теме
(25) увы тоже с этим столкнулся. В таком случае придется переписывать логику, чтобы не записывать документ. И это будет велосипед, разработчики предполагили запись в базу, потом открытие.
27. 7OH 67 03.04.18 18:45 Сейчас в теме
(26) Для себя костыль нашел - через ЭтаФорма.Владелец.Объект достучался куда надо.
А пока ковырял пытался себя на место разрабов поставить и не понял:
1. Почему в параметры формы форму не передать - имя передают, а саму форму нет.
2. Почему форма заполнения открывается без РежимОткрытияОкнаФормы.БлокироватьОкноВладельца.
Somebody1; +1 Ответить
28. Xershi 963 03.04.18 19:34 Сейчас в теме
(27) потому что это работает, если делать на основании 1 документа, а если на основании нескольких? Тогда велосипед не поедет!
29. 7OH 67 03.04.18 23:20 Сейчас в теме
(28) Согласен - задачи бывают разные.
Как по мне - форма заполнения документА - один к одному должна быть ( с трудом представляю заполнение нескольких документов сразу, особенно разных типов).
Ну а если по какому-то алгоритму - то можно и объекты по ссылкам заполнить.
В общем - не панацея, но при 1:1 - решение есть.
30. Xershi 963 04.04.18 10:14 Сейчас в теме
(29) так вот тут и вопрос заключается, когда делается 2 документа сразу их приводить к 1 или 2 к 2. 1 к 1 это частный случай)
31. 7OH 67 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 3097 03.01.19 14:26 Сейчас в теме
(40) Не понятен сценарий использования: на клиенте или на сервере

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

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

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

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


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

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


Уже нашел, но все равно спасибо
44. Taxes 06.03.19 06:49 Сейчас в теме
Добрый день. Раз уже идет разговор про внешние обработки, то надеюсь на небольшую консультацию. Ситуация следующая, есть вполне рабочая внешняя обработка, подключенная к конфигурации. Выполняется по расписанию. Но при каждом обновлении из файла в справочнике
"ДополнительныеОтчетыИОбработки" (по кнопке "записать" или "записать и закрыть") она сразу начинает выполнять команды, заложенные в процедуре ВыполнитьКоманду(ИдентификаторКоманды).
Как этого избежать? Исполняется все корректно, но как-то не вовремя... Заранее, спасибо
45. json 3097 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 3097 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 5 23.08.19 22:40 Сейчас в теме
Доброго дня. При разных типах обработки вызывается разные процедуры ( выполнить команду в модуле обработки, выполнть команду а модуле формы, открытие формы.
Как узнать какие переменные доступны на этих процедурах ?!)
(54)
56. VovaSan 29.08.19 10:20 Сейчас в теме
Добрый день! Тут как-то вскользь упоминалось про вызов "ОбработкаОбъекта" из формы списка, никак не получается это осуществить. При регистрации обработки есть крыжики для вариантов выбора в форме объекта и/илив форме списка. В форме объекта появляется кнопка с вызовом, а вот в форме списка никак. Где что нужно дописать чтоб появился вызов из формы списка по кнопке или в контекстном меню?
57. zykov_vitaliy 77 25.09.19 14:29 Сейчас в теме
В данной статье не упомянулось про тип команды "ЗагрузкаДанныхИзФайла". Считаю, что это одна из важнейших типов обработок, которая позволяет не выдумывать механизм загрузок в справочники, табличные части документа данных, а пользоваться стандартными средствами загрузки. Рекомендую дополнить вашу статью описанием данного типа обработки. В интернете очень мало информации про него
59. Светлый ум 277 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 3097 20.01.20 16:57 Сейчас в теме
(61)
Отчет - строится по ссылке или массиву ссылок. Может вызываться из формы объекта, тогда в отчет будет передана ссылка или из формы списка, тогда в отбор будет передан массив выделенных в списке ссылок.
ДополнительныйОтчет - это просто любой отчет, который не привязан к объектам. В него никакие отборы БСП не передает.
ayuplotnikov; KRJ; qwertyranty; Suslik_Johns; +4 Ответить
66. German_Tagil 37 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 Сейчас в теме
73. user1252779 42 18.05.22 15:18 Сейчас в теме
(64) подскажите, пожалуйста, если разобрались, как можно добавить внешнюю печатную форму только для формы списка?
67. LackyZZ 21.07.20 12:56 Сейчас в теме
Возможно ли как то при создании справочника вызвать дополнительную обработку, не сохраняя его? Использование - ОткрытиеФормы.
В сохраненном все норм, открывается. При создании, просит изначально записать, потом открывает. Нужно вызвать форму. Сделать некоторые действия и вернуть полученные значения в справочник.
68. gucci76 347 20.01.21 19:00 Сейчас в теме
   Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Вид = "ЗаполнениеОбъекта";
    ПараметрыРегистрации.Наименование = НСтр("ru='Заполнить с вредными условиями труда'");
    ПараметрыРегистрации.Информация = НСтр("ru='Заполнение табличной части документа Данные для расчета зарплаты (Разработка Гуков И.А. А+)'");
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.Назначение.Добавить("Документ.ДанныеДляРасчетаЗарплаты");
	ПараметрыРегистрации.БезопасныйРежим = Ложь;
    
    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Идентификатор = "ЗаполнитьВредников";
    Команда.Представление = "Заполнить с вредными условиями труда";
   // Команда.Использование = "ОткрытиеФормы";
    Команда.Использование = "ЗаполнениеФормы";
   
    
    Возврат ПараметрыРегистрации;

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


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


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

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

Никто не сталкивался?
69. Disciple1C 21.05.21 15:56 Сейчас в теме
(68)
Впиши:
ПараметрыРегистрации.ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки();

Должно помочь.
irtk; ruzelka; LeXXeR; +3 Ответить
72. irtk 04.04.22 00:24 Сейчас в теме
(69)
ПараметрыРегистрации.ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки();
70. baracuda 2 30.09.21 13:24 Сейчас в теме
Статья прекрасная спасибо
71. ne_en 72 23.01.22 12:02 Сейчас в теме
Подскажите, а как во внешнем отчете на СКД с несколькими вариантами сделать автоматическую регистрацию этих вариантов (список команд)
Вот во внешней обработке я делал разные команды и они при подключении обработки показывали список команд, для каждой из которых я могу настроить размещение. Вот для отчета на СКД так же хотелось бы для разных вариантов сделать.

отставить. Оказывается оно само прописывается
74. fixin 4129 04.07.22 18:41 Сейчас в теме
Спасибо. Не все до конца прописано, конечно. Но когда делал отчет для карточки товара, использовал ваши подсказки.
Добавил статью себе в список шпаргалок по 1с.
75. user1274184 18.07.22 16:25 Сейчас в теме
Можете подсказать? Сделал отчет на СКД по шаблону. Вариант отчета, который описан в СКД не размещается в разделах, его не видно. Пользовательский вариант размещается и его видно. В чем может быть дело, не все параметры описаны в параметрах описания обработки?
76. basmanrs 11.08.22 15:55 Сейчас в теме
А как можно сделать НЕ отбор (Форма.ФормаПараметры.Отбор.Вставить("Ссылка", ОбъектыНазначения);),
а заполнение параметра?
Просто у меня в схеме КД именно запрос с параметром.
77. capnemo009 29.09.22 17:19 Сейчас в теме
Совершенно ничего не понятно из статьи, т.к. не работает добавление обработки даже с этой функцией "СведенияОВнешнейОбработке".
78. nixel 1285 29.09.22 17:20 Сейчас в теме
(77) потому что копировать ее надо с документации к БСП, а не из статей на инфостарте.
79. capnemo009 30.09.22 13:17 Сейчас в теме
(78) я не копировал из этой статьи. Сам разобрался, статья только запутывает.
Оставьте свое сообщение
Вакансии
Автор новостей об 1С, налогах и бухучете на INFOSTART.RU
Санкт-Петербург
По совместительству

Программист 1С
Екатеринбург
зарплата от 50 000 руб.
По совместительству

Ведущий разработчик 1С (техлид внутреннего учета)
Новосибирск
зарплата от 230 000 руб.
Полный день

Программист 1С
Рязань
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Архитектор 1С
Обнинск
зарплата от 150 000 руб. до 350 000 руб.
Полный день