Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

ЗикГУ 3.1 изменить показатели расчета обработкой табличной части

ЗикГУ 3.1  изменить показатели расчета обработкой табличной части
Я
   KrasnSergey
 
22.11.17 - 10:59
Готовимся к переходу с НГ на ЗикГУ 3.
Начисление по формуле: "(2*СтажПолныхМесяцевВГоду*(Оклад + (Оклад/100*НадбавкаЗаВУТ)+  (Оклад/100*ДоплатаЗаНесениеБД) )) / 12". Все показатели в формуле у сотрудников в плановых начислениях, кроме СтажПолныхМесяцевВГоду(его приходится рассчитывать), в ЗУП 2.5 расчет месяцев производился внешней обработкой табличной части. Показатель СтажПолныхМесяцевВГоду настроен на заполнение из документа.
Не получается его заполнить обработкой ТЧ. Если смотришь состав показателей там нет незаполненных (т.е. СтажПолныхМесяцевВГоду не виден), а если его добавляешь, то появляется ошибка: "  ПоказательСтаж = Ссылка.Показатели.Добавить();
по причине:
Объект недоступен для изменения."
Сижу полчаса и могу сообразить с какой стороны подойти ...
 
 
   KrasnSergey
 
1 - 22.11.17 - 10:59
(0) забыл добавить, начисление произвожу в "разовом начислении"
   KrasnSergey
 
2 - 22.11.17 - 11:07
(0)  ПоказательСтаж = Ссылка.ПолучитьОбъект().Показатели.Добавить()
не сохраняет показатель
   Denis_CFO
 
3 - 22.11.17 - 11:12
(2) ПоказательСтаж.Записать()?
   KrasnSergey
 
4 - 22.11.17 - 11:22
(3) {ВнешняяОбработка.КоличествоМесяцев.Форма.Форма.Форма(90)}: Метод объекта не обнаружен (Записать)
          ПоказательСтаж.Записать();
   Denis_CFO
 
5 - 22.11.17 - 12:02
(4) Кто Вас так криво кодить учит?
ОбъектЧегоТо = Ссылка.ПолучитьОбъект();
ПоказательСтаж = ОбъектЧегоТо.Показатели.Добавить();
ОбъектЧегоТо.Записать();
   KrasnSergey
 
6 - 22.11.17 - 12:07
(6) нас уже не учат, мы ученые ))), проверь на базе что написал то, раз такой умный
   Denis_CFO
 
7 - 22.11.17 - 12:10
(6) И что конкретно не работает? я тебе не решение задачи делал, а подсказывал путь решения, которое ты искал в (2).
   KrasnSergey
 
8 - 22.11.17 - 12:14
(5)(7) если б все было так просто я б тут не писал
   Denis_CFO
 
9 - 22.11.17 - 12:17
(8) Понятно. А обработку посмотреть можно?
   pasha_d
 
10 - 22.11.17 - 12:18
(2) посмотри в отладчике на ПоказательСтаж = Ссылка.ПолучитьОбъект().Показатели.Добавить()
 
 Рекламное место пустует
   KrasnSergey
 
11 - 22.11.17 - 12:23
(10) в отладчике ПоказательСтаж присвает значения, в доке не появляется и в таблице показатели не появляется новая строка
   KrasnSergey
 
12 - 22.11.17 - 12:24
(9) обработка в процессе написания, могу скинуть на почту
   KrasnSergey
 
13 - 22.11.17 - 12:26
я так понимаю тут все дело в премудростях УФ
   KrasnSergey
 
14 - 22.11.17 - 12:27
в зуп 2.5 это делается за 3 мин, тут ступор
   KrasnSergey
 
15 - 22.11.17 - 12:30
показатели хранятся на в таблице начисления, а в таблице показатели и хранятся только заполненные (не нулевые), в форму показатели выводятся в обще форме выводятся ГрупповоеЗаполнениеПоказателейДокументов
   KrasnSergey
 
16 - 22.11.17 - 12:32
(15) сори, показатели хранятся НЕ в таблице начисления, а в таблице показатели и хранятся только заполненные (не нулевые), в форму РазовыеНачисления показатели выводятся в общей форме  ГрупповоеЗаполнениеПоказателейДокументов
   pasha_d
 
17 - 22.11.17 - 12:32
(10) там точно объект, а не ссылка?
   Denis_CFO
 
18 - 22.11.17 - 12:33
(12) denis_cfo@mail.ru
   KrasnSergey
 
19 - 22.11.17 - 12:39
(18) выслал
   KrasnSergey
 
20 - 22.11.17 - 12:40
(18) Ссылка.ПолучитьОбъект().Показатели.Добавить()
   pasha_d
 
21 - 22.11.17 - 12:45
(4) ну дык почему тогда он ругается на метод Записать() ?

что за тип значения у ПоказательСтаж в отладчике?

я бы к в (5) код чирикал, все сразу понятно станет.
   KrasnSergey
 
22 - 22.11.17 - 12:50
(21) получилось... сам намудрил с кодом, сенкс
   Denis_CFO
 
23 - 22.11.17 - 13:01
Вот так работает:
Стаж  =1;/// Стаж будем считать по алгоритму

Строки = Ссылка.ПолучитьОбъект();
Для Каждого Строка Из Строки.Начисления Цикл
ПоказательСтаж = Строки.Показатели.Добавить();
ПоказательСтаж.Показатель   = Справочники.ПоказателиРасчетаЗарплаты.НайтиПоНаименованию("Стаж (полных месяцев)");
ПоказательСтаж.Значение     = Стаж;
ПоказательСтаж.ИдентификаторСтрокиВидаРасчета     = Строка.ИдентификаторСтрокиВидаРасчета;
КонецЦИкла;
Строки.Записать();


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует