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

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

Не сохраняются показатели расчета зарплаты

Не сохраняются показатели расчета зарплаты
Я
   Sayan_mi
 
27.02.18 - 08:06
День добрый усть ЗиУП 3.1
Есть внешняя обработка заполняющая табличную часть документа Разовые начисления.
Табличную часть формы она заполнила, т.е. заполнено время, заполнены необходимые для данного вида расчета показатели, заполнена сумма.
(т.ч. начисления) При сохранении документа, показатели уходят в пустоту. Причем не зависит от того пишу ли я их в т.ч. показатели.
В чем может быть проблема?
 
 
   SleepyHead
 
1 - 27.02.18 - 08:13
(0) В том, что не заполнена таблничная часть "Показатели". Ваш кэп.
   Фрэнки
 
2 - 27.02.18 - 08:13
Там куча проблем.
Если совсем кратко, то сделай замер производительности с момента нажатия на кнопку запись и просто взгляни в какую кучу программного кода превращены событие перед записью документа.
   SleepyHead
 
3 - 27.02.18 - 08:14
(2) Что же я тогда не так делаю, что у меня все заполняется и проводится? ))
   Sayan_mi
 
4 - 27.02.18 - 08:27
(1) Заполнял и т.ч. показатели. При сохранении очищается ;(
На другом виде расчета (там один показатель) все сохранялось. Тут два показателя - глухо.
   SleepyHead
 
5 - 27.02.18 - 08:29
(4) Есть соответствие между ТЧ показателей и сотрудников по идентификатору строки? Ты его вообще заполнял?
   SleepyHead
 
6 - 27.02.18 - 08:33
Алгоритм примерно такой. Из вида начисления читаешь его показатели, запросом. Соединяешь с таблицей показателей, чтобы понять, какой из них рассчитывается, какой нет.

потом при формировании строк разового начисления примерно такой крестьянский код
                ИдентификаторСтрокиВидаРасчета = ИдентификаторСтрокиВидаРасчета + 1;
                
                СтрНачисление = Док.Начисления.Добавить();
                СтрНачисление.Сотрудник = ВыборкаДетальныеЗаписи.Сотрудник;
                СтрНачисление.Подразделение = мПодразделение;
                СтрНачисление.Результат = ВыборкаДетальныеЗаписи.Сумма;
                СтрНачисление.ИдентификаторСтрокиВидаРасчета = ИдентификаторСтрокиВидаРасчета;
                СтрНачисление.ДатаНачала = НачалоМесяца(Объект.ПериодРегистрации);
                СтрНачисление.ДатаОкончания = КонецМесяца(Объект.ПериодРегистрации);
                СтрНачисление.ФиксРасчет = Истина;
                СтрНачисление.ФиксЗаполнение = Истина;
                СтрНачисление.ФиксРасчетВремени = Истина;
                СтрНачисление.ПериодРегистрацииВремени = СтрНачисление.ДатаНачала;
                СтрНачисление.ГрафикРаботыНорма = ГрафикНормы;
                СтрНачисление.ГрафикРаботы = ГрафикРаботы;
                СтрНачисление.ВидУчетаВремени = Справочники.ВидыИспользованияРабочегоВремени.Явка;
                СтрНачисление.ПериодДействия = НачалоМесяца(Объект.ПериодРегистрации);
                СтрНачисление.ОбщийГрафик = ОбщийГрафик;
                СтрНачисление.ПериодРегистрацииНормыВремени = НачалоМесяца(Объект.ПериодРегистрации);
                
                Если СтрПоказатель.Рассчитывается Тогда
                    СтрПок = Док.Показатели.Добавить();
                    СтрПок.ИдентификаторСтрокиВидаРасчета = ИдентификаторСтрокиВидаРасчета;
                    СтрПок.Показатель = СтрПоказатель.Показатель;
                    СтрПок.Значение = ВыборкаДетальныеЗаписи.Сумма;
                КонецЕсли;
                
                СтрРаспределение = Док.РаспределениеРезультатовНачислений.Добавить();
                СтрРаспределение.ИдентификаторСтроки = ИдентификаторСтрокиВидаРасчета;
                СтрРаспределение.Территория = Док.Подразделение;
                СтрРаспределение.СтатьяФинансирования = Док.СтатьяФинансирования;
                СтрРаспределение.СтатьяРасходов = Док.СтатьяРасходов;
                СтрРаспределение.Результат = ВыборкаДетальныеЗаписи.Сумма;
                СтрРаспределение.СпособОтраженияЗарплатыВБухучете = СпособОтраженияЗарплатыВБухучете;
                
                СтрФЛ = Док.ФизическиеЛица.Добавить();
                СтрФЛ.ФизическоеЛицо = ВыборкаДетальныеЗаписи.ФизическоеЛицо;
   Sayan_mi
 
7 - 27.02.18 - 08:34
(5) Естественно и в т.ч начисления (ИдентификаторСтрокиВидаРасчета) и в т.ч. тоже значение (по строке т.ч. Начисления)
   SleepyHead
 
8 - 27.02.18 - 08:34
Для чтения данных о показателях я использовал такой крестьянский код:

    // получаем колонки: ВидНачисления, Показатель, Способ, ВидДокумента (для подбора вида документа - разовое начисление или назначение постоянной надбавки)

    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("МассивПриказов", МассивПриказов);
    Запрос.Текст = 
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    АлтГПУ_ПриказОЕдиновременнойДоплате.ВидПоощрения.ВидНачисления КАК ВидНачисления
        |ПОМЕСТИТЬ ВТ_ВидыНачисления
        |ИЗ
        |    Документ.АлтГПУ_ПриказОЕдиновременнойДоплате КАК АлтГПУ_ПриказОЕдиновременнойДоплате
        |ГДЕ
        |    АлтГПУ_ПриказОЕдиновременнойДоплате.Ссылка В(&МассивПриказов)
        |;
        |
        ////////////////////////////////////////////////////////////////////////////////

        |ВЫБРАТЬ
        |    НачисленияПоказатели.Показатель КАК Показатель,
        |    НачисленияПоказатели.Ссылка КАК ВидНачисления,
        |    НачисленияПоказатели.Ссылка.СпособВыполненияНачисления КАК Способ,
        |    НачисленияПоказатели.Ссылка.ВидДокументаНачисления КАК ВидДокумента,
        |    НачисленияПоказатели.Ссылка.Рассчитывается КАК Рассчитывается
        |ИЗ
        |    ПланВидовРасчета.Начисления.Показатели КАК НачисленияПоказатели
        |ГДЕ
        |    НачисленияПоказатели.Ссылка В
        |            (ВЫБРАТЬ
        |                ВТ_ВидыНачисления.ВидНачисления КАК ВидНачисления
        |            ИЗ
        |                ВТ_ВидыНачисления КАК ВТ_ВидыНачисления)
        |    И НачисленияПоказатели.ОсновнойПоказатель";
    ТаблицаПоказателей = Запрос.Выполнить().Выгрузить();
    ТаблицаПоказателей.Индексы.Добавить("ВидНачисления");
   SleepyHead
 
9 - 27.02.18 - 08:35
Этот запрос сложноват, можешь переделать его на чтение из одного вида начисления. А я читал по набору документов.
   Фрэнки
 
10 - 27.02.18 - 08:40
(3) вероятно, что была выполнена вся настройка опций, расчетов, удержаний, показателей и т.д. - где-то там в порядке заполнения прописали нечто, что ликвидировало проблему.

Я бы автору посоветовал еще, до того, как наверчивать автозаполнение документа в форме, проверить его заполнение при полностью интерактивном способе.
 
 Рекламное место пустует
   Sayan_mi
 
11 - 27.02.18 - 08:50
(10) Заполняется. И по этому документу уже пишется вторая обработка по заполнению, первая прекрасно отработала!!!
   SleepyHead
 
12 - 27.02.18 - 08:51
(11) а проблема-то решена?
   Sayan_mi
 
13 - 27.02.18 - 09:01
(12) Решил - Не правильно вычислял показатели. Значение то в Т.ч. отображалось, а имя показателя шло неопределено.

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