Имя: Пароль:
1C
1С v8
ЗУП 3.1 Разбираемся с подсчётом итогов в документе Изменение штатного расписания
0 DomenER
 
11.08.21
14:58
Всем привет.

В документе "Изменение штатного расписания" есть ТЧ "Позиции". Эта ТЧ выведена на форму документа. В форме в эту ТЧ добавлен дополнительный реквизит "ФОТПоПозиции". В отображаемой форме в параметре "путь к данным подвала" указано "Объект.Позиции.ИтогФОТ". Значит будет подсчитываться другая колонка по фондам без учёта количества штатных единиц. Т.е. оклад 100 000, позиции 2. В колонке "ФОТПоПозиции" отражается верно 200 000, а вот в подвале 100 000. Как поправить подсчёт в "подвале" формы? Выбрать эту колонку "ФОТПоПозиции" в "Путь к данным в подвале" конфигуратор не даст.
1 SleepyHead
 
гуру
11.08.21
16:17
(0) Сформируйте отчет "Штатное по форме Т-3" и не занимайтесь ерундой.
2 DomenER
 
11.08.21
16:49
Добавить процедуру
Процедура ОбновитьИтогиФОТПозиции()
    ИтогоПоПозициям = 0;
    Для каждого Строка Из Объект.Позиции цикл
        ИтогоПоПозициям = ИтогоПоПозициям + Строка.ФОТПоПозиции;
    КонецЦикла;
    Элементы.ПозицииФОТПоПозиции.ТекстПодвала = Строка(ИтогоПоПозициям);
КонецПроцедуры

И вызывать её после выполнения команд "Изменить позицию", "Закрыть позицию"... В настройке колонки очистить ПутьКДаннымПозиции.

Другого ничего не придумал...
3 DomenER
 
11.08.21
16:50
(1) Это запрос другого отдела. Им видимо так важнее.
4 DomenER
 
11.08.21
16:56
(2) в конце имелось ввиду "ПутьКДаннымПодвала"
6 Serg_1960
 
11.08.21
17:13
(2) Имхо, достаточно пары строк в УправлениеШтатнымРасписаниемКлиентСервер.ЗаполнитьИтоговыйФОТПоПозициям()
7 DomenER
 
11.08.21
17:50
(6) это решение более универсально. Только в настройке колонки нужно очистить ПутьКДаннымПодвала.
Процедура ЗаполнитьИтоговыйФОТПоПозициям(Форма, Позиции) Экспорт
    //++
    СуммаФОТПозиций = 0;
    //--
    Для каждого СтрокаПозиции Из Позиции Цикл
        РассчитатьИтогиФОТПоСтрокеПозиции(Форма, СтрокаПозиции);
        //++
        СуммаФОТПозиций = СуммаФОТПозиций+СтрокаПозиции.ФОТПоПозиции;
        //--
    КонецЦикла;
    //++
    Форма.Элементы.ПозицииФОТПоПозиции.ТекстПодвала = Строка(СуммаФОТПозиций);
    //--
КонецПроцедуры