helpf.pro
Регистрация

v8.3: Обработка заполнения ТЧ

ElenaT
17.04.2017 20:24Прочитано: 1874

Обработка выполняет формирование аванса на выплату. Мне не удается отобразить сумму "к выплате" в открытой форме документа Ведомость к выплате в банк. Что я не так делаю?

Код 1C v 8.2 УП
 &НаСервере
Процедура ПеренестиНаСервере(ОбъектДок)
//ОбъектДок = Объект.СсылкаНаОбъект.ПолучитьОбъект();
ОбъектДок.Зарплата.Очистить();
ОбъектДок.Состав.Очистить();
для Каждого Строка из Объект.ИсходныеДанные Цикл
ИдентификаторСтроки = Новый УникальныйИдентификатор;
НовСтр = ОбъектДок.Зарплата.Добавить();
НовСтр.ИдентификаторСтроки = ИдентификаторСтроки;
НовСтр.Сотрудник = Строка.Сотрудник;
НовСтр.КВыплате = Строка.Сумма;
НовСтр.ФизическоеЛицо = НовСтр.Сотрудник.ФизическоеЛицо;
НовСтр.ПериодВзаиморасчетов = ОбъектДок.ПериодРегистрации;
НовСтр.НомерЛицевогоСчета = Строка.НомерЛицевогоСчета;
НовСтрСостав = ОбъектДок.Состав.Добавить();
НовСтрСостав.ИдентификаторСтроки = ИдентификаторСтроки;
НовСтрСостав.ФизическоеЛицо = НовСтр.ФизическоеЛицо;
НовСтрСостав.НомерЛицевогоСчета = Строка.НомерЛицевогоСчета;
КонецЦикла;
ОбъектДок.СуммаПоДокументу = ОбъектДок.Зарплата.Итог("КВыплате");
//ОбъектДок.Записать();
КонецПроцедуры
&НаКлиенте
Процедура Перенести(Команда)
Оповещение = Новый ОписаниеОповещения("ПеренестиТЧВопросЗавершение", ЭтотОбъект);
ТекстВопроса = "Табличная часть будет очищена. Продолжить?";
ПоказатьВопрос(Оповещение, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецПроцедуры

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

Форма.Модифицированность = Истина;
//ОбновитьОтображениеДанных();
Форма.Открыть();
КонецЕсли;
КонецЦикла;
КонецЕсли;
//ЭтаФорма.ВладелецФормы.Прочитать();
ЭтаФорма.Закрыть();
КонецПроцедуры
Yandex
Возможно, вас также заинтересует
Реклама на портале
all4cf
19.04.2017 23:15Ответ № 1

посмотрите отладчиком переменную НовСтр, там помимо реквизита кВыплате есть еще реквизит для суммы

ElenaT
03.05.2017 13:32Ответ № 2

реквизит КВыплате есть только в ТЧ Зарплата. Копать надо в направлении передачи данных объекта в данные формы, т. к. в форме отражается ТЧ Состав, в которой реквизит КВыплате существует только на форме, а не в ТЧ объекта. Пока проблему решили через запись объекта после возвращения из обработки заполнения ТЧ. Но не "комильфо". Осадочек остался.

Подсказка: Щелкнув по значку (справа от названия вопроса), вы получите список ответов на похожие вопросы!
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.