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

Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Не очень понятно в каком месте вы это делаете, но можете по другому сделать
Окна = ПолучитьОкна();
Для каждого ОкноПриложения Из Окна Цикл
Если ОкноПриложения.Основное Или ОкноПриложения.НачальнаяСтраница Тогда
Продолжить
КонецЕсли;
Если Найти(ОкноПриложения.Заголовок,СокрЛП("Заявка на расход")> 0
Тогда
Для N = 0 По ОкноПриложения.Содержимое.ВГраница() Цикл
ФормаНужная = ОкноПриложения.Содержимое[N];
ФормаНужная.Прочитать();
КонецЦикла;
КонецЕсли;
КонецЦикла;
//возможно заголовок нужной формы у вас другой и это нужно поправить
Окна = ПолучитьОкна();
Для каждого ОкноПриложения Из Окна Цикл
Если ОкноПриложения.Основное Или ОкноПриложения.НачальнаяСтраница Тогда
Продолжить
КонецЕсли;
Если Найти(ОкноПриложения.Заголовок,СокрЛП("Заявка на расход")> 0
Тогда
Для N = 0 По ОкноПриложения.Содержимое.ВГраница() Цикл
ФормаНужная = ОкноПриложения.Содержимое[N];
ФормаНужная.Прочитать();
КонецЦикла;
КонецЕсли;
КонецЦикла;
//возможно заголовок нужной формы у вас другой и это нужно поправить
(5)
&НаСервере
Процедура ХозяйственнаяОперацияПриИзмененииПослеНаСервере()
Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПеречислениеТаможне Тогда
Объект.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Тут контрагент");
Объект.БанковскийСчетКонтрагента = Справочники.БанковскиеСчетаКонтрагентов.НайтиПоНаименованию("тут счет контрагента");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ХозяйственнаяОперацияПриИзмененииПосле(Элемент)
ХозяйственнаяОперацияПриИзмененииПослеНаСервере();
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("ТолькоПросмотр", Ложь);
Форма = ПолучитьФорму(
"ОбщаяФорма.РеквизитыПлатежаВБюджет",
ПараметрыФормы,
ЭтотОбъект);
Форма.ВладелецФормы.Объект.КодБК = "11111111111";
//Форма.ВладелецФормы.Объект.ОбновитьОтображениеДанных();
//ЭтаФорма.ОбновитьОтображениеДанных();
//ЭтаФорма.Прочитать();
//ОбновитьОтображениеДанных(ЭтаФорма.Элементы);
//ОповеститьОбИзменении(Форма.ВладелецФормы.Объект.НадписьРеквизитыПлатежаВБюджет);
//ОповеститьОбИзменении(ЭтаФорма.НадписьРеквизитыПлатежаВБюджет);
//ОповеститьОбИзменении(Тип("ДокументСсылка.ЗаявкаНаРасходованиеДенежныхСредств"));
//ОтобразитьИзменениеДанных(ЭтаФорма.Элементы, ВидИзмененияДанных.Изменение);
КонецПроцедуры
Показать
(7) Вот код по кнопке "Ок"
&НаКлиенте
Процедура ОК(Команда)
ОчиститьСообщения();
Если Не Модифицированность Или ТолькоПросмотр Тогда
Закрыть();
Иначе
Если ТипЗнч(ПоказательДаты) = Тип("Дата") Тогда
ПоказательДаты = Формат(ПоказательДаты, "ДЛФ=D");
КонецЕсли;
СтруктураОбъекта = Новый Структура;
СтруктураОбъекта.Вставить("ВидПеречисленияВБюджет", ВидПеречисленияВБюджет);
СтруктураОбъекта.Вставить("КодБК", КодБК);
СтруктураОбъекта.Вставить("КодОКАТО", КодОКАТО);
СтруктураОбъекта.Вставить("ПоказательДаты", ПоказательДаты);
СтруктураОбъекта.Вставить("ПоказательНомера", ПоказательНомера);
СтруктураОбъекта.Вставить("ПоказательОснования", ПоказательОснования);
СтруктураОбъекта.Вставить("ПоказательПериода", ПоказательПериода);
СтруктураОбъекта.Вставить("ПоказательТипа", ПоказательТипа);
СтруктураОбъекта.Вставить("СтатусСоставителя", СтатусСоставителя);
Готово = Истина;
Закрыть(СтруктураОбъекта);
КонецЕсли;
КонецПроцедуры
Показать
(8) Вам нужно описать процедуру ОбработкаОповещения на форме владельце, а в дочерней оповестить
Это пример:
Или при открытии формы указать в ОписаниеОповещения наименивание процедуры оповещения после закрытия открываемой формы и уже в этой процедуре обработать данные из дочерней формы
Это пример:
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
// ЭлектронноеВзаимодействие.РаботаСНоменклатурой
Если ИмяСобытия = РаботаСНоменклатуройКлиент.ОписаниеОповещенийПодсистемы().ЗагрузкаКатегорий Тогда
Если Не Модифицированность Тогда
ПерезаполнитьИдентификаторыКатегорий();
КонецЕсли;
КонецЕсли;
// Конец ЭлектронноеВзаимодействие.РаботаСНоменклатурой
КонецПроцедуры
ПоказатьИли при открытии формы указать в ОписаниеОповещения наименивание процедуры оповещения после закрытия открываемой формы и уже в этой процедуре обработать данные из дочерней формы
Прикрепленные файлы:

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