Помогите пожалуйста с выводом из таблицы данных
Оклад и надбавка за вредность выводит правильно, а вот стаж и качество не получается совсем.
Вот вроде достает
вот оклад находит и надбавку за вредность
вот вывожу его
Подскажите пожалуйста как можно вывести стаж и качество примерно также. Пожалуйста только не надо унижать и если что-то не правильно то простите, новичок.
Оклад и надбавка за вредность выводит правильно, а вот стаж и качество не получается совсем.
|ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА КадровыйПереводПоказатели.Показатель В (&СписокПоказателейОклад)
| ТОГДА КадровыйПереводПоказатели.Значение
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаОклад,
| СУММА(ВЫБОР
| КОГДА КадровыйПереводПоказатели.Показатель В (&СписокПоказателейНадбавка)
| ТОГДА КадровыйПереводПоказатели.Значение
| ИНАЧЕ 0
| КОНЕЦ) КАК СуммаНадбавки
|ПОМЕСТИТЬ ВТНачисленияПоказатели
|ИЗ
| Документ.КадровыйПеревод.Показатели КАК КадровыйПереводПоказатели
|ГДЕ
| КадровыйПереводПоказатели.Ссылка = &Ссылка
ПоказатьВот вроде достает
СписокПоказателейОклад = Новый СписокЗначений;
Попытка СписокПоказателейОклад.Добавить(Справочники.ПоказателиРасчетаЗарплаты.Оклад); Исключение КонецПопытки;
Запрос.УстановитьПараметр("СписокПоказателейОклад",СписокПоказателейОклад);
СписокПоказателейНадбавка = Новый СписокЗначений;
Попытка СписокПоказателейНадбавка.Добавить(Справочники.ПоказателиРасчетаЗарплаты.ПроцентНадбавкиЗаВредность); Исключение КонецПопытки;
Запрос.УстановитьПараметр("СписокПоказателейНадбавка",СписокПоказателейНадбавка);
Запрос.Выполнить();
вот оклад находит и надбавку за вредность
Область.Параметры.СуммаНадбавки = ВыборкаЗапроса.СуммаНадбавки;
вот вывожу его
Подскажите пожалуйста как можно вывести стаж и качество примерно также. Пожалуйста только не надо унижать и если что-то не правильно то простите, новичок.
Прикрепленные файлы:
По теме из базы знаний
- Сохранение таблицы значений в файл XML / восстановление из файла XML c возможностью произвольной обработки данных таблицы значений
- Чтение данных из таблиц базы данных (MySQL в частности)
- Выгрузка-загрузка любых данных из 1С (и измененных) в XML между похожими конфигурациями (ФАЙЛ, HTTP, COM) ЛЮБЫХ баз 1С 8.1-8.3 с обработкой и поиском данных по произвольным полям поиска
- Образец обработки по загрузке данных из Excel-таблицы в поступление товаров в БП 3.0 УФ
- Получение данных таблиц PostgreSQL через внешний источник данных
Найденные решения
Можно воспользоваться стандартной функцией
Либо использовать в своем запросе РегистрСведений.НакопленныеСтажиФизическихЛиц
// Вычисляет разность между двумя датами: в годах, месяцах, днях
Процедура ПолучитьСтажЗаПериод(Знач ДатаОкончанияПериода, Знач ДатаНачалаПериода, Лет=0, Месяцев=0, Дней=0) Экспорт
Если ДатаОкончанияПериода >= ДатаНачалаПериода Тогда
Лет1 = Год(ДатаОкончанияПериода);
Месяцев1 = Месяц(ДатаОкончанияПериода);
Если НачалоДня(ДатаОкончанияПериода) <> НачалоДня(КонецМесяца(ДатаОкончанияПериода)) Тогда
Дней1 = День(ДатаОкончанияПериода);
Иначе
Дней1 = 30;//В каждом месяце ровно 30 дней
КонецЕсли;
Лет2 = Год(ДатаНачалаПериода);
Месяцев2 = Месяц(ДатаНачалаПериода);
Если НачалоДня(ДатаНачалаПериода) <> НачалоДня(КонецМесяца(ДатаНачалаПериода)) Тогда
Дней2 = День(ДатаНачалаПериода);
Иначе
Дней2 = 30;//В каждом месяце ровно 30 дней
КонецЕсли;
Лет = Лет1 - Лет2;
Месяцев = Месяцев1 - Месяцев2;
Дней = Дней1 - Дней2 + 1;//1 день на увольнение
Иначе
Лет = 0;
Месяцев = 0;
Дней = 0;
КонецЕсли;
КонецПроцедуры
ПоказатьЛибо использовать в своем запросе РегистрСведений.НакопленныеСтажиФизическихЛиц
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
ВЫБРАТЬ РАЗЛИЧНЫЕ
Т.Регистратор КАК Регистратор,
Т.Период КАК Период,
Т.НомерСтроки КАК НомерСтроки,
Т.Активность КАК Активность,
Т.Сотрудник КАК Сотрудник,
Т.Организация КАК Организация,
Т.ФизическоеЛицо КАК ФизическоеЛицо,
Т.Показатель КАК Показатель,
Т.ДокументОснование КАК ДокументОснование,
Т.Значение КАК Значение,
Т.ДействуетДо КАК ДействуетДо
ИЗ
РегистрСведений.ЗначенияПериодическихПоказателейРасчетаЗарплатыСотрудников КАК Т
ГДЕ
Т.Регистратор = &Регистратор
Показать
(7)
Вот месяцы вроде выводятся, но мне кажется что неправильно
ВЫБРАТЬ
НакопленныеСтажиФизическихЛиц.РазмерМесяцев КАК РазмерМесяцев
ИЗ
РегистрСведений.НакопленныеСтажиФизическихЛиц КАК НакопленныеСтажиФизическихЛиц
ГДЕ
НакопленныеСтажиФизическихЛиц.ФизическоеЛицо = &ФизическоеЛицо
И НакопленныеСтажиФизическихЛиц.ВидСтажа = &ВидСтажа
Вот месяцы вроде выводятся, но мне кажется что неправильно
Можно воспользоваться стандартной функцией
Либо использовать в своем запросе РегистрСведений.НакопленныеСтажиФизическихЛиц
// Вычисляет разность между двумя датами: в годах, месяцах, днях
Процедура ПолучитьСтажЗаПериод(Знач ДатаОкончанияПериода, Знач ДатаНачалаПериода, Лет=0, Месяцев=0, Дней=0) Экспорт
Если ДатаОкончанияПериода >= ДатаНачалаПериода Тогда
Лет1 = Год(ДатаОкончанияПериода);
Месяцев1 = Месяц(ДатаОкончанияПериода);
Если НачалоДня(ДатаОкончанияПериода) <> НачалоДня(КонецМесяца(ДатаОкончанияПериода)) Тогда
Дней1 = День(ДатаОкончанияПериода);
Иначе
Дней1 = 30;//В каждом месяце ровно 30 дней
КонецЕсли;
Лет2 = Год(ДатаНачалаПериода);
Месяцев2 = Месяц(ДатаНачалаПериода);
Если НачалоДня(ДатаНачалаПериода) <> НачалоДня(КонецМесяца(ДатаНачалаПериода)) Тогда
Дней2 = День(ДатаНачалаПериода);
Иначе
Дней2 = 30;//В каждом месяце ровно 30 дней
КонецЕсли;
Лет = Лет1 - Лет2;
Месяцев = Месяцев1 - Месяцев2;
Дней = Дней1 - Дней2 + 1;//1 день на увольнение
Иначе
Лет = 0;
Месяцев = 0;
Дней = 0;
КонецЕсли;
КонецПроцедуры
ПоказатьЛибо использовать в своем запросе РегистрСведений.НакопленныеСтажиФизическихЛиц
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот