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