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

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

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

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

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


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

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

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

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

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

Закрыть();

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

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

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

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


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

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

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

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

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

Закрыть();

КонецПроцедуры
Показать
alex-l19041; +1 Ответить
14. dmt 66 08.07.20 11:37 Сейчас в теме
А откуда ее взять "Владелец"?
15. nomad_irk 68 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 68 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 68 08.07.20 12:59 Сейчас в теме
(21)Вы должны будете их указать. Какие параметры устанавливаются можно посмотреть по коду вызова дополнительной обработки.
По поводу параметров вообще: да вроде там ничего не обычного нет, как правило стандартные свойства/возможности формы используются.
23. dmt 66 08.07.20 13:02 Сейчас в теме
Оставьте свое сообщение
Вакансии
Программист 1С
Казань
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 200 000 руб. до 300 000 руб.
Полный день

Программист 1С (удаленно)
Самара
зарплата от 230 000 руб. до 230 000 руб.
Полный день

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

Специалист техподдержки
Санкт-Петербург
зарплата от 100 руб. до 150 руб.
Полный день