Как с помощью доп. обр. табличной части изменить текущую форму?

1. dmt 66 08.07.20 10:52 Сейчас в теме
В тех примерах, что нашел меняется и записывается объект, а не форма.
Вознаграждение за ответ
Показать полностью
Найденные решения
13. nomad_irk 72 08.07.20 11:35 Сейчас в теме
(10)У вас открыта форма документа, вы создаете еще одну форму и в нее выполняете копирование данных и ей устанавливаете модифицированность.
Ваша открытая форма должна быть во Владелец открываемой формы обработки.

Вашу открытую форму необходимо передавать в качестве ДополнительныеПараметры в обработчик события "ВставитьИзБуфераЗавершение"

ДополнительныеПараметры = Новый Структура("ФормаДокумента", Владелец);

Обработчик = Новый ОписаниеОповещения("ВставитьИзБуфераЗавершение", ЭтотОбъект, ДополнительныеПараметры); 


Далее в самом обработчике достать из доп. параметров форму и выполнять манипуляции с ней:

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

Если НайденныеОбъекты = Неопределено Тогда
Возврат;
КонецЕсли;

ФормаДокумента = ДополнительныеПараметры.ФормаДокумента;
ОбъектДокумента = ФормаДокумента.Объект;
ЗаполнитьДокументНаСервере(ОбъектДокумента, НайденныеОбъекты);

ФормаДокумента.Модифицированность = Истина;

Закрыть();

КонецПроцедуры
Показать
alex-l19041; +1 Ответить
16. alex-l19041 8 08.07.20 11:45 Сейчас в теме
(12)пример
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
	Для каждого  ТекущаяСтрока из ВладелецФормы.Объект.Материалы Цикл
		ТекущаяСтрока.Количество = 100 ;
		Сообщить(ТекущаяСтрока.Количество) ;
	КонецЦикла ;	
КонецПроцедуры	
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 72 08.07.20 10:54 Сейчас в теме
(1)что в вашем понимании есть "изменить текущую форму"?
3. dmt 66 08.07.20 10:56 Сейчас в теме
(2) В данном примере, я добавляю строки в табличную часть и заполняю один из реквизитов.
4. nomad_irk 72 08.07.20 10:57 Сейчас в теме
(3)Табличная часть и реквизит - это реквизиты формы или объекта?
5. dmt 66 08.07.20 11:04 Сейчас в теме
(3) Конфигурация КА2
Документ "Реализация товаров и услуг"
ТЧ "Товары"
Реквизит ТЧ "Номенклатура"
6. nomad_irk 72 08.07.20 11:07 Сейчас в теме
(5)так, поменяли в строке ТЧ номенклатуру программно, что дальше?
Вы так и не ответили на вопрос: что в вашем понимании "изменить текущую форму"?
7. dmt 66 08.07.20 11:15 Сейчас в теме
(6) У меня открыта форма. Табличная часть "Товары" пустая.
Нажимаю на кнопку. В открытой форме в табличной части "Товары" добавились строки.
8. nomad_irk 72 08.07.20 11:17 Сейчас в теме
(7)Хорошо. Что происходит внутри доп. обработки заполнения ТЧ?
9. dmt 66 08.07.20 11:20 Сейчас в теме
(8) Модуль формы:


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ОбъектНазначения = Параметры.ОбъектыНазначения[0];
    
КонецПроцедуры

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

    
КонецПроцедуры

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


&НаСервере
Процедура ЗаполнитьДокументНаСервере( ОбъектДокумента, НайденныеОбъекты)
	
	Для каждого Товар Из НайденныеОбъекты Цикл
		НовСтр = ОбъектДокумента.Товары.Добавить();
	    НовСтр.Номенклатура = Товар;
	КонецЦикла;
    
КонецПроцедуры
Показать
11. alex-l19041 8 08.07.20 11:32 Сейчас в теме
(9) зачем
ФормаДокумента = ПолучитьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта"
,
если есть ВладелецФормы ?
12. dmt 66 08.07.20 11:34 Сейчас в теме
16. alex-l19041 8 08.07.20 11:45 Сейчас в теме
(12)пример
&НаКлиенте
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ОбъектыНазначенияМассив) Экспорт
	Для каждого  ТекущаяСтрока из ВладелецФормы.Объект.Материалы Цикл
		ТекущаяСтрока.Количество = 100 ;
		Сообщить(ТекущаяСтрока.Количество) ;
	КонецЦикла ;	
КонецПроцедуры	
10. dmt 66 08.07.20 11:23 Сейчас в теме
(8) Модуль объекта:

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиЗаполнениеОбъекта();
    ПараметрыРегистрации.Наименование = НСтр("ru='Дополнительная обработка табличной части( Заплнить из списка)'");
    ПараметрыРегистрации.Информация = НСтр("ru='Дополнительная обработка табличной части( Заплнить из списка)'");
    ПараметрыРегистрации.Версия = "1.0";
    ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг");
    
    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Идентификатор = "ЗаполнитьИзСписка";
    Команда.Представление = "Заполнить из списка";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    
    Возврат ПараметрыРегистрации;
    
КонецФункции
Показать
13. nomad_irk 72 08.07.20 11:35 Сейчас в теме
(10)У вас открыта форма документа, вы создаете еще одну форму и в нее выполняете копирование данных и ей устанавливаете модифицированность.
Ваша открытая форма должна быть во Владелец открываемой формы обработки.

Вашу открытую форму необходимо передавать в качестве ДополнительныеПараметры в обработчик события "ВставитьИзБуфераЗавершение"

ДополнительныеПараметры = Новый Структура("ФормаДокумента", Владелец);

Обработчик = Новый ОписаниеОповещения("ВставитьИзБуфераЗавершение", ЭтотОбъект, ДополнительныеПараметры); 


Далее в самом обработчике достать из доп. параметров форму и выполнять манипуляции с ней:

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

Если НайденныеОбъекты = Неопределено Тогда
Возврат;
КонецЕсли;

ФормаДокумента = ДополнительныеПараметры.ФормаДокумента;
ОбъектДокумента = ФормаДокумента.Объект;
ЗаполнитьДокументНаСервере(ОбъектДокумента, НайденныеОбъекты);

ФормаДокумента.Модифицированность = Истина;

Закрыть();

КонецПроцедуры
Показать
alex-l19041; +1 Ответить
14. dmt 66 08.07.20 11:37 Сейчас в теме
А откуда ее взять "Владелец"?
15. nomad_irk 72 08.07.20 11:39 Сейчас в теме
(14)У формы обработки он должен заполнится при открытии типовым механизмом.
17. dmt 66 08.07.20 12:23 Сейчас в теме
Коллеги, спасибо! Помогли.
18. dmt 66 08.07.20 12:42 Сейчас в теме
Коллеги, может еще подскажите как отлаживать такую обработку?
Попробовал прописать деление на ноль. И включить остановку по ошибке.
Программа выдала ошибку, но не остановилась.
19. nomad_irk 72 08.07.20 12:50 Сейчас в теме
(18)Создать еще форму обработки, назначить ее основной, эмулировать открытие формы обработки, которая открывается при заполнении документа.
20. dmt 66 08.07.20 12:56 Сейчас в теме
(19) Мне интересно какими параметрами я могу оперировать в форме.
Например, я не знал про "ВладелецФормы".
21. dmt 66 08.07.20 12:57 Сейчас в теме
(19) А таким способом я ж не получу, такие параметры.
22. nomad_irk 72 08.07.20 12:59 Сейчас в теме
(21)Вы должны будете их указать. Какие параметры устанавливаются можно посмотреть по коду вызова дополнительной обработки.
По поводу параметров вообще: да вроде там ничего не обычного нет, как правило стандартные свойства/возможности формы используются.
23. dmt 66 08.07.20 13:02 Сейчас в теме
Оставьте свое сообщение

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