Не обновляется форма ЗУП 3.1 "Распределение по статья финансирования"
Здравсвтуйте! имеется код, в котором я хочу добавить строки к табличной части формы документа. На клиент мне строка приходит, а на форме не отображается...второй день борюсь...подскажите кто сталкивался.
Код:
Подскажите, что делать и как исправить...
Код:
&НаСервере
Процедура НачисленияПриАктивизацииСтрокиНаСервере() Экспорт
ОбъектДокумента = РеквизитФормыВЗначение("Объект");
Массив = ОбъектДокумента.РассчетКоэффициентов();
//Для Счетчик = 0 По Массив.Количество() - 1 Цикл
// Сообщить(Массив[Счетчик]);
//КонецЦикла;
Запрос = Новый Запрос;
Ссылка = ОбъектДокумента.Ссылка;
//Ссылка = Документы.НачислениеЗарплаты.ПолучитьСсылку(Новый УникальныйИдентификатор(Ссылка));
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| НачислениеЗарплатыНачисления.Сотрудник КАК СотрудникВДокументеНачислениеЗП,
| РаботаСотрудниковНаОбъектеДанные.Сотрудник
|ИЗ
| Документ.РаботаСотрудниковНаОбъекте.Данные КАК РаботаСотрудниковНаОбъектеДанные
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.НачислениеЗарплаты.Начисления КАК НачислениеЗарплатыНачисления
| ПО (НачислениеЗарплатыНачисления.Сотрудник.Ссылка = РаботаСотрудниковНаОбъектеДанные.Сотрудник.Ссылка)
|ГДЕ
| НачислениеЗарплатыНачисления.Ссылка = &Ссылка";
Результат = Запрос.Выполнить().Выбрать();
Сотр = Новый Массив;
Пока Результат.Следующий() Цикл
Сотр.Добавить(Результат.Сотрудник);
КонецЦикла;
Индекс =1;
Для Каждого СтрокаТЧ из ОбъектДокумента.Начисления Цикл
Индекс = Индекс +1;
НайдСтроки = ОбъектДокумента.РаспределениеРезультатовНачислений.НайтиСтроки(Новый Структура("ИдентификаторСтроки",Индекс));
НайдСтроки[0].Результат = 10000;
//Сообщить(НайдСтроки[0].Результат);
НовСтр = ОбъектДокумента.РаспределениеРезультатовНачислений.Добавить();
НовСтр.ИдентификаторСтроки = СтрокаТЧ.НомерСтроки;
НовСтр.СпособОтраженияЗарплатыВБухучете = Справочники.СпособыОтраженияЗарплатыВБухУчете.НайтиПоНаименованию("для проверки табеля 2");//НайдСтроки[0].СпособОтраженияЗарплатыВБухучете;
НовСтр.СтатьяФинансирования = НайдСтроки[0].СтатьяФинансирования;
НовСтр.Результат = НайдСтроки[0].Результат;
КонецЦикла;
ЗначениеВРеквизитФормы(ОбъектДокумента, "Объект");
КонецПроцедуры
ПоказатьПодскажите, что делать и как исправить...
По теме из базы знаний
Найденные решения
Общий модуль ЗарплатаИКадрыРасширенныйКлиент, процедура ОткрытьФормуРедактированияРезультатовРаспределенияПоИсточник амФинансирования и процедура ФормаРедактированияРезультатовРаспределенияПоИсточникамФинан сированиПослеЗакрытия. Посмотрите, что в них происходит, это как раз открытие и закрытие формы РедактированиеРезультатовРаспределенияНачисленийИУдержаний. Не все так просто оказалось) Реквизита Финансирование у табличной части Начисления нет, видимо он формируется программно и заполняется при открытии документа.
В модуле формы документа Начисления зарплаты посмотрите процедуру ВыполнитьКомандуРедактированияРезультатовРаспределенияНачисл енийИУдержаний.
В модуле формы документа Начисления зарплаты посмотрите процедуру ВыполнитьКомандуРедактированияРезультатовРаспределенияНачисл
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(11) К сожалению у меня такого нету, смотрю в КА, видимо в нее такого не добавили, хотя раздел зарплаты и ЗУП должны быть одинаковыми, ну да ладно. Судя по вашему коду вы не туда добавляете строки. Вам нужно увидеть данные в тч Начисления, значит в ней и надо менять данные. Либо после добавления в таблицу РаспределениеРезультатовНачислений должен выполниться еще какой-то стандартный код, который переносит данные в Начисления.
В поле финансирование таблицы Начисления какие данные должны выводиться? Общая сумма по статьям финансирования и способам отражения?
Если заполнить РаспределениеРезультатовНачислений, сохранить документ и открыть его, колонка финансирование в начислениях заполняется?
Если заполнить РаспределениеРезультатовНачислений, сохранить документ и открыть его, колонка финансирование в начислениях заполняется?
Общий модуль ЗарплатаИКадрыРасширенныйКлиент, процедура ОткрытьФормуРедактированияРезультатовРаспределенияПоИсточник амФинансирования и процедура ФормаРедактированияРезультатовРаспределенияПоИсточникамФинан сированиПослеЗакрытия. Посмотрите, что в них происходит, это как раз открытие и закрытие формы РедактированиеРезультатовРаспределенияНачисленийИУдержаний. Не все так просто оказалось) Реквизита Финансирование у табличной части Начисления нет, видимо он формируется программно и заполняется при открытии документа.
В модуле формы документа Начисления зарплаты посмотрите процедуру ВыполнитьКомандуРедактированияРезультатовРаспределенияНачисл енийИУдержаний.
В модуле формы документа Начисления зарплаты посмотрите процедуру ВыполнитьКомандуРедактированияРезультатовРаспределенияНачисл
(37) пробовал через внешнюю обработку он мне ошибку выдает:
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(76)}: Ошибка при вызове метода контекста (Добавить)
НовСтр = Объект.СсылкаНаОбъект.РаспределениеРезультатовНачислений.Добавить();
по причине:
Объект недоступен для изменения.
{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(76)}: Ошибка при вызове метода контекста (Добавить)
НовСтр = Объект.СсылкаНаОбъект.РаспределениеРезультатовНачислений.Добавить();
по причине:
Объект недоступен для изменения.
(38) Конечно не будет доступен, нужно же сначала объект получить: ОбъектДок = СсылкаНаОбъект.ПолучитьОбъект(); А потом уже добавлять или изменять что-либо и не забыть потом записать документ. Но скорее всего добавленные строчки пропадут, потому что там завязка идет на перерасчетах после заполнения таблички.
Реализовано через кнопку на форме документа Начисления зарплаты, при нажатии на которую получаем данные текущей выделенной строки для дальнейшего использования:
&НаКлиенте
Процедура ЗаполнитьФинансирование(Команда)
ТекущаяСтрока = ТекущийЭлемент.ТекущиеДанные;
Массив = ЗаполнитьДанными(ТекущаяСтрока.ПолучитьИдентификатор());
ФиксМассив = Новый ФиксированныйМассив(Массив);
ТаблицаСДанными = ОбщегоНазначенияКлиентСервер.ПолучитьРеквизитФормыПоПути(ЭтотОбъект, "Объект.Начисления");
ТекущиеДанные = ТаблицаСДанными.НайтиПоИдентификатору(ТекущаяСтрока.ПолучитьИдентификатор());
ТекущиеДанные.РезультатРаспределения = ФиксМассив;
ОтражениеЗарплатыВБухучетеКлиентСерверРасширенный.ЗаполнитьПредставлениеРаспределенияВСтроке(ТекущиеДанные, Ложь, "Начисления", Ложь);
СтруктураИсходныеДанные = ПолучитьИсходныеДанные(ТекущаяСтрока.Сотрудник,ТекущиеДанные.НомерСтроки,ТекущиеДанные["Начисление"]);
ОбновитьБухучетРезультатовРасчетаНаСервере(СтруктураИсходныеДанные);
КонецПроцедуры
Функция ПолучитьИсходныеДанные(Сотрудник,НомерСтрокиИсходнойТаблицы,ВидРасчета)
ПараметрыДляРаспределения = ОтражениеЗарплатыВБухучетеКлиентСерверРасширенный.ОписаниеИсходныхДанныхДляОбновленияЗависимыхТаблиц();
ПараметрыДляРаспределения.Вставить("ИмяИсходнойТаблицы", "Начисления");
ПараметрыДляРаспределения.Вставить("НомерСтрокиИсходнойТаблицы", НомерСтрокиИсходнойТаблицы);
ПараметрыДляРаспределения.Вставить("РаспределятьЗависимыеТаблицы", Истина);
ПараметрыДляРаспределения.Вставить("ИзмениласьДоляЕНВД", Ложь);
ПараметрыДляРаспределения.Вставить("ТребуетсяПересчетНДФЛ", Истина);
ПараметрыДляРаспределения.Вставить("Сотрудник", Сотрудник);
ПараметрыДляРаспределения.Вставить("ВидРасчета", ВидРасчета);
ПараметрыДляРаспределения.Вставить("ИменаТаблицДляОбновления", "Начисления,Пособия,НДФЛ,Удержания,ПогашениеЗаймов");
Возврат ПараметрыДляРаспределения;
КонецФункции
Функция ЗаполнитьДанными(Идентификатор)
СпособОтраженияЗарплатыВБухучете=Справочники.СпособыОтраженияЗарплатыВБухУчете.НайтиПоНаименованию("eee");
СтатьяРасходов=Справочники.СтатьиРасходовЗарплата.ПустаяСсылка();
СтатьяФинансирования=справочники.СтатьиФинансированияЗарплата.НайтиПоКоду("222");
Территория=Справочники.ТерриторииВыполненияРабот.ПустаяСсылка();
Массив = Новый Массив;
Массив.Добавить(Новый Структура("ИдентификаторСтроки,КодСтатьиФинансирования,ОблагаетсяЕНВД,Результат,СпособОтраженияЗарплатыВБухучете,СтатьяРасходов,СтатьяФинансирования,Территория",
Идентификатор,"222",Ложь,65000,СпособОтраженияЗарплатыВБухучете,СтатьяРасходов,СтатьяФинансирования,Территория));
Возврат Массив;
КонецФункции
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот