Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 07:18

СКД формирование отчета из 2-ух разных наборов данных (содержащих по дням показатели дневные и месячные за месяц)

Автор Св Ч, 24 авг 2017, 13:56

0 Пользователей и 1 гость просматривают эту тему.

Св Ч

Добрый День!
Прошу помощи, есть проблема нужно на СКД сформировать отчет из 2-ух частей .т.е. из 2-ух разных запросов (данные по дням) и суммарные данные за месяц,
Т.е. правая часть отчета по дням , а левая суммарная за месяц. Итоги не берут. Это два разных запроса. Кто знает как  это сделать?

oleg-x

А зачем два запроса, сделай один, с двумя датами. Преобразуй в запросе дату к месяцу и к дню.
Сгруппируй отчет месяц, день.
Будет тебе счастье и по дням и по месяцам.
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Св Ч

он так и сделан, но информация которая тянется по дням -это начисленная зарплата (отработанные часы за каждый день, часовая ставка в этот день, начисленная зарплата), а которая по месяцам это штрафы, премии, доплаты - как я их сгруппирую? Причем есть проблема- все показатели меняются внутри расчетного периода...
Добавлено: 24 авг 2017, 19:54


вот его текст....
ВЫБРАТЬ
1 КАК Единица
ПОМЕСТИТЬ Единицы

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
2

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
3

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
4

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
5

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
6

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
7

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
8

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
9

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
10
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КОНЕЦПЕРИОДА(ДОБАВИТЬКДАТЕ(&ДатаНачала, ДЕНЬ, 1000 * (Тысячи.Единица - 1) + 100 * (Сотни.Единица - 1) + 10 * (Десятки.Единица - 1) + Единицы.Единица - 1), ДЕНЬ) КАК ТекущаяДата
ПОМЕСТИТЬ ДатыПериода
ИЗ
Единицы КАК Единицы,
Единицы КАК Десятки,
Единицы КАК Сотни,
Единицы КАК Тысячи
ГДЕ
ДОБАВИТЬКДАТЕ(&ДатаНачала, ДЕНЬ, 1000 * (Тысячи.Единица - 1) + 100 * (Сотни.Единица - 1) + 10 * (Десятки.Единица - 1) + Единицы.Единица - 1) <= &ДатаОкончания
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
"Понедельник" КАК ДеньНедели,
"Пн" КАК ДеньНеделиСокращено,
1 КАК НомерДняНедели,
ЛОЖЬ КАК СтандартныйВыходной
ПОМЕСТИТЬ ТаблицаДнейНедели

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Вторник",
"Вт",
2,
ЛОЖЬ

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Среда",
"Ср",
3,
ЛОЖЬ

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Четверг",
"Чт",
4,
ЛОЖЬ

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Пятница",
"Пт",
5,
ЛОЖЬ

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Суббота",
"Сб",
6,
ИСТИНА

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
"Воскресенье",
"Вс",
7,
ИСТИНА
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Сотрудники.Ссылка КАК Сотрудник,
Сотрудники.Бригада.Ссылка КАК Бригада
ПОМЕСТИТЬ Сотрудники_сп
ИЗ
Справочник.Сотрудники КАК Сотрудники
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДатыПериода.ТекущаяДата КАК ТекущаяДата,
ДЕНЬНЕДЕЛИ(ДатыПериода.ТекущаяДата) КАК ДНед,
ТаблицаДнейНедели.ДеньНеделиСокращено КАК ДеньНедели
ПОМЕСТИТЬ Набор_дат
ИЗ
ДатыПериода КАК ДатыПериода
ЛЕВОЕ СОЕДИНЕНИЕ ТаблицаДнейНедели КАК ТаблицаДнейНедели
ПО (ДЕНЬНЕДЕЛИ(ДатыПериода.ТекущаяДата) = ТаблицаДнейНедели.НомерДняНедели)
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ОтработкаЧасов.Период,
ОтработкаЧасов.Сотрудники,
ОтработкаЧасов.Количество
ПОМЕСТИТЬ отработка
ИЗ
РегистрНакопления.ОтработкаЧасов КАК ОтработкаЧасов
ГДЕ
ОтработкаЧасов.Период >= &ДатаНачала
И ОтработкаЧасов.Период <= &ДатаОкончания
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Набор_дат.ТекущаяДата КАК Дат,
Набор_дат.ДеньНедели КАК ДеньНедели,
Сотрудники_сп.Сотрудник КАК Сотрудник,
Сотрудники_сп.Бригада КАК Бригада
ПОМЕСТИТЬ шаблон_табеля
ИЗ
Набор_дат КАК Набор_дат,
Сотрудники_сп КАК Сотрудники_сп
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
0 КАК Дат,
0 КАК ДеньНедели,
0 КАК Сотрудник,
0 КАК Бригада,
0 КАК итк,
0 КАК Часы,
0 КАК Ставка_за_час,
0 КАК Ставка_мес,
0 КАК Аванс,
0 КАК проц_аванса,
0 КАК На_карточку,
0 КАК проц_на_карточку,
0 КАК Удержания,
0 КАК Ссуды,
0 КАК Доплаты,
0 КАК Штрафы,
0 КАК Премии,
0 КАК Разность,
0 КАК Выдача_ит,
0 КАК Выдача,
0 КАК Оплата_ит,
0 КАК Оплата,
0 КАК Часы_с,
0 КАК Ставка_за_час_с,
0 КАК Ставка_мес_с,
0 КАК Оплата_с,
0 КАК Доплаты_с,
0 КАК Удержания_с,
0 КАК Оплата_ит_с,
0 КАК Аванс_с,
0 КАК Ссуды_с,
0 КАК Премии_с,
0 КАК Штрафы_с,
0 КАК Выдача_с,
0 КАК На_карточку_с,
0 КАК Выдача_ит_с
ПОМЕСТИТЬ втИскуственная_строка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(шаблон_табеля.Дат, ДЕНЬ) КАК Дат,
шаблон_табеля.ДеньНедели КАК ДеньНедели,
шаблон_табеля.Сотрудник КАК Сотрудник,
шаблон_табеля.Бригада КАК Бригада,
СУММА(отработка_часов.Количество) КАК Часы
ПОМЕСТИТЬ шаблон_табеля2
ИЗ
шаблон_табеля КАК шаблон_табеля
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ОтработкаЧасов.Период КАК Период,
ОтработкаЧасов.Сотрудники КАК Сотрудники,
ОтработкаЧасов.Бригада КАК Бригада,
ОтработкаЧасов.КоличествоОборот КАК Количество
ИЗ
РегистрНакопления.ОтработкаЧасов.ОстаткиИОбороты(&ДатаНачала, &ДатаОкончания, День, ДвиженияИГраницыПериода, ) КАК ОтработкаЧасов

СГРУППИРОВАТЬ ПО
ОтработкаЧасов.Период,
ОтработкаЧасов.Сотрудники,
ОтработкаЧасов.КоличествоОборот,
ОтработкаЧасов.Бригада) КАК отработка_часов
ПО шаблон_табеля.Сотрудник = отработка_часов.Сотрудники
И (НАЧАЛОПЕРИОДА(шаблон_табеля.Дат, ДЕНЬ) = НАЧАЛОПЕРИОДА(отработка_часов.Период, ДЕНЬ)),
(ВЫБРАТЬ
РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&ДатаНачала, ДЕНЬ), НАЧАЛОПЕРИОДА(&ДатаОкончания, ДЕНЬ), ДЕНЬ) КАК разность) КАК РазнстьДат
ГДЕ
шаблон_табеля.Сотрудник.Р18 = &Место_работы
И шаблон_табеля.Сотрудник.ПометкаУдаления = ЛОЖЬ

СГРУППИРОВАТЬ ПО
шаблон_табеля.Дат,
шаблон_табеля.ДеньНедели,
шаблон_табеля.Сотрудник,
шаблон_табеля.Бригада
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Ставки_сотрудников.Сотрудник,
МАКСИМУМ(Ставки_сотрудников.Период) КАК дата_Ставки,
шаблон_табеля2.Дат
ПОМЕСТИТЬ Таб_даты_ставок2
ИЗ
шаблон_табеля2 КАК шаблон_табеля2
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Ставки_сотрудников КАК Ставки_сотрудников
ПО шаблон_табеля2.Сотрудник = Ставки_сотрудников.Сотрудник
ГДЕ
Ставки_сотрудников.Период <= шаблон_табеля2.Дат

СГРУППИРОВАТЬ ПО
Ставки_сотрудников.Сотрудник,
шаблон_табеля2.Дат
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Таб_даты_ставок.Сотрудник,
Таб_даты_ставок.дата_Ставки,
Ставки_сотрудников.Ставка_за_час,
Таб_даты_ставок.Дат
ПОМЕСТИТЬ Таб_ставок
ИЗ
Таб_даты_ставок2 КАК Таб_даты_ставок
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.Ставки_сотрудников КАК Ставки_сотрудников
ПО Таб_даты_ставок.Сотрудник = Ставки_сотрудников.Сотрудник
И Таб_даты_ставок.дата_Ставки = Ставки_сотрудников.Период
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
МАКСИМУМ(На_карту.Период) КАК дата_Карточки,
На_карту.Сотрудник,
шаблон_табеля2.Дат
ПОМЕСТИТЬ Таб_даты_карточки
ИЗ
шаблон_табеля2 КАК шаблон_табеля2
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.На_карточку КАК На_карту
ПО шаблон_табеля2.Сотрудник = На_карту.Сотрудник
ГДЕ
На_карту.Период <= шаблон_табеля2.Дат

СГРУППИРОВАТЬ ПО
шаблон_табеля2.Дат,
На_карту.Сотрудник
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Таб_даты_карточки.Сотрудник,
Таб_даты_карточки.дата_Карточки,
Таб_даты_карточки.Дат,
На_карту.На_карточку КАК Карточка
ПОМЕСТИТЬ Таб_карточки
ИЗ
Таб_даты_карточки КАК Таб_даты_карточки
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.На_карточку КАК На_карту
ПО Таб_даты_карточки.дата_Карточки = На_карту.Период
И Таб_даты_карточки.Сотрудник = На_карту.Сотрудник
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
МАКСИМУМ(Удержания_пос.Период) КАК дата_Удержания,
Удержания_пос.Сотрудник,
шаблон_табеля2.Дат
ПОМЕСТИТЬ Таб_даты_Удержания
ИЗ
шаблон_табеля2 КАК шаблон_табеля2
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Удержания_пос КАК Удержания_пос
ПО шаблон_табеля2.Сотрудник = Удержания_пос.Сотрудник
ГДЕ
Удержания_пос.Период <= шаблон_табеля2.Дат

СГРУППИРОВАТЬ ПО
Удержания_пос.Сотрудник,
шаблон_табеля2.Дат
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Таб_даты_Удержания.Сотрудник,
Таб_даты_Удержания.дата_Удержания,
Таб_даты_Удержания.Дат,
Удержания.Сумма КАК Удержание
ПОМЕСТИТЬ Таб_Удержания
ИЗ
Таб_даты_Удержания КАК Таб_даты_Удержания
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Удержания_пос КАК Удержания
ПО Таб_даты_Удержания.дата_Удержания = Удержания.Период
И Таб_даты_Удержания.Сотрудник = Удержания.Сотрудник
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
МАКСИМУМ(Ссуды_мес_платеж.Период) КАК дата_Ссуды,
Ссуды_мес_платеж.Сотрудник,
шаблон_табеля2.Дат
ПОМЕСТИТЬ Таб_даты_Ссуды
ИЗ
шаблон_табеля2 КАК шаблон_табеля2
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Ссуды_мес_платеж КАК Ссуды_мес_платеж
ПО шаблон_табеля2.Сотрудник = Ссуды_мес_платеж.Сотрудник
ГДЕ
Ссуды_мес_платеж.Период <= шаблон_табеля2.Дат

СГРУППИРОВАТЬ ПО
Ссуды_мес_платеж.Сотрудник,
шаблон_табеля2.Дат
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Таб_даты_Ссуды.Сотрудник,
Таб_даты_Ссуды.дата_Ссуды,
Таб_даты_Ссуды.Дат,
Ссуды_мес_платеж.ставка КАК Ссуда
ПОМЕСТИТЬ Таб_Ссуды
ИЗ
Таб_даты_Ссуды КАК Таб_даты_Ссуды
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Ссуды_мес_платеж КАК Ссуды_мес_платеж
ПО Таб_даты_Ссуды.дата_Ссуды = Ссуды_мес_платеж.Период
И Таб_даты_Ссуды.Сотрудник = Ссуды_мес_платеж.Сотрудник
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
МАКСИМУМ(Доплаты.Период) КАК дата_Доплаты,
Доплаты.Сотрудник,
шаблон_табеля2.Дат
ПОМЕСТИТЬ Таб_даты_Доплаты
ИЗ
шаблон_табеля2 КАК шаблон_табеля2
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Доплаты КАК Доплаты
ПО шаблон_табеля2.Сотрудник = Доплаты.Сотрудник
ГДЕ
Доплаты.Период <= шаблон_табеля2.Дат

СГРУППИРОВАТЬ ПО
Доплаты.Сотрудник,
шаблон_табеля2.Дат
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
Таб_даты_Доплаты.Сотрудник,
Таб_даты_Доплаты.дата_Доплаты,
Таб_даты_Доплаты.Дат,
Доплаты.Сумма КАК Доплата
ПОМЕСТИТЬ Таб_Доплат
ИЗ
Таб_даты_Доплаты КАК Таб_даты_Доплаты
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Доплаты КАК Доплаты
ПО Таб_даты_Доплаты.дата_Доплаты = Доплаты.Период
И Таб_даты_Доплаты.Сотрудник = Доплаты.Сотрудник
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
шаблон_табеля2.Дат,
шаблон_табеля2.ДеньНедели,
шаблон_табеля2.Сотрудник,
шаблон_табеля2.Бригада,
шаблон_табеля2.Часы,
Таб_ставок.Ставка_за_час,
Таб_карточки.Карточка,
Таб_Удержания.Удержание,
Таб_Ссуды.Ссуда,
Таб_Доплат.Доплата,
шаблон_табеля2.Часы * Таб_ставок.Ставка_за_час КАК Оплата
ПОМЕСТИТЬ сотрудники_часы
ИЗ
шаблон_табеля2 КАК шаблон_табеля2
ЛЕВОЕ СОЕДИНЕНИЕ Таб_ставок КАК Таб_ставок
ПО шаблон_табеля2.Дат = Таб_ставок.Дат
И шаблон_табеля2.Сотрудник = Таб_ставок.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ Таб_карточки КАК Таб_карточки
ПО шаблон_табеля2.Дат = Таб_карточки.Дат
И шаблон_табеля2.Сотрудник = Таб_карточки.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ Таб_Удержания КАК Таб_Удержания
ПО шаблон_табеля2.Дат = Таб_Удержания.Дат
И шаблон_табеля2.Сотрудник = Таб_Удержания.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ Таб_Ссуды КАК Таб_Ссуды
ПО шаблон_табеля2.Дат = Таб_Ссуды.Дат
И шаблон_табеля2.Сотрудник = Таб_Ссуды.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ Таб_Доплат КАК Таб_Доплат
ПО шаблон_табеля2.Дат = Таб_Доплат.Дат
И шаблон_табеля2.Сотрудник = Таб_Доплат.Сотрудник
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
сотрудники_часы.Сотрудник,
СУММА(сотрудники_часы.Оплата) КАК Оплата,
СУММА(сотрудники_часы.Часы) КАК Часы_сумма

ПОМЕСТИТЬ сотрудники_оплаты
ИЗ
сотрудники_часы КАК сотрудники_часы

СГРУППИРОВАТЬ ПО
сотрудники_часы.Сотрудник
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
сотрудники_часы.Дат,
сотрудники_часы.ДеньНедели,
сотрудники_часы.Сотрудник,
сотрудники_часы.Бригада,
сотрудники_часы.Часы,
сотрудники_часы.Ставка_за_час,
сотрудники_часы.Карточка,
сотрудники_часы.Удержание,
сотрудники_часы.Ссуда,
сотрудники_часы.Доплата,
сотрудники_часы.Оплата,
сотрудники_оплаты.Оплата КАК Оплата_периода,
    сотрудники_оплаты.Часы_сумма

ПОМЕСТИТЬ сотрудники_расчеты
ИЗ
сотрудники_часы КАК сотрудники_часы
ВНУТРЕННЕЕ СОЕДИНЕНИЕ сотрудники_оплаты КАК сотрудники_оплаты
ПО сотрудники_часы.Сотрудник = сотрудники_оплаты.Сотрудник
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
сотрудники_расчеты.Дат,
сотрудники_расчеты.ДеньНедели,
сотрудники_расчеты.Сотрудник,
сотрудники_расчеты.Бригада,
сотрудники_расчеты.Часы,
сотрудники_расчеты.Ставка_за_час,
сотрудники_расчеты.Карточка,
сотрудники_расчеты.Удержание,
сотрудники_расчеты.Ссуда,
сотрудники_расчеты.Доплата,
сотрудники_расчеты.Оплата,
сотрудники_расчеты.Оплата_периода,
сотрудники_расчеты.Часы_сумма,

ВЫБОР
КОГДА сотрудники_расчеты.Удержание ЕСТЬ NULL
И сотрудники_расчеты.Ссуда ЕСТЬ NULL
И сотрудники_расчеты.Доплата ЕСТЬ NULL
И сотрудники_расчеты.Карточка ЕСТЬ NULL
ТОГДА сотрудники_расчеты.Оплата_периода
КОГДА сотрудники_расчеты.Удержание ЕСТЬ NULL
И сотрудники_расчеты.Ссуда ЕСТЬ NULL
И сотрудники_расчеты.Доплата ЕСТЬ NULL
И 0 < сотрудники_расчеты.Карточка < сотрудники_расчеты.Оплата_периода
ТОГДА сотрудники_расчеты.Оплата_периода - сотрудники_расчеты.Карточка
КОГДА сотрудники_расчеты.Удержание ЕСТЬ NULL
И сотрудники_расчеты.Карточка ЕСТЬ NULL
И сотрудники_расчеты.Доплата ЕСТЬ NULL
И 0 < сотрудники_расчеты.Ссуда < сотрудники_расчеты.Оплата_периода
ТОГДА сотрудники_расчеты.Оплата_периода - сотрудники_расчеты.Ссуда
КОГДА сотрудники_расчеты.Ссуда ЕСТЬ NULL
И сотрудники_расчеты.Карточка ЕСТЬ NULL
И сотрудники_расчеты.Доплата ЕСТЬ NULL
И 0 < сотрудники_расчеты.Удержание < сотрудники_расчеты.Оплата_периода
ТОГДА сотрудники_расчеты.Оплата_периода - сотрудники_расчеты.Удержание
КОГДА сотрудники_расчеты.Ссуда ЕСТЬ NULL
И сотрудники_расчеты.Карточка ЕСТЬ NULL
И сотрудники_расчеты.Удержание ЕСТЬ NULL
И 0 < сотрудники_расчеты.Доплата
ТОГДА сотрудники_расчеты.Оплата_периода + сотрудники_расчеты.Доплата
КОГДА сотрудники_расчеты.Ссуда ЕСТЬ NULL
И 0 < сотрудники_расчеты.Карточка < сотрудники_расчеты.Оплата_периода
И сотрудники_расчеты.Доплата ЕСТЬ NULL
И 0 < сотрудники_расчеты.Удержание < сотрудники_расчеты.Оплата_периода
ТОГДА сотрудники_расчеты.Оплата_периода - сотрудники_расчеты.Удержание - сотрудники_расчеты.Карточка
КОГДА 0 < сотрудники_расчеты.Ссуда < сотрудники_расчеты.Оплата_периода
И 0 < сотрудники_расчеты.Карточка < сотрудники_расчеты.Оплата_периода
И сотрудники_расчеты.Доплата ЕСТЬ NULL
И сотрудники_расчеты.Удержание ЕСТЬ NULL
ТОГДА сотрудники_расчеты.Оплата_периода - сотрудники_расчеты.Карточка - сотрудники_расчеты.Ссуда
КОГДА 0 < сотрудники_расчеты.Ссуда < сотрудники_расчеты.Оплата_периода
И сотрудники_расчеты.Карточка ЕСТЬ NULL
И сотрудники_расчеты.Доплата ЕСТЬ NULL
И 0 < сотрудники_расчеты.Удержание < сотрудники_расчеты.Оплата_периода
ТОГДА сотрудники_расчеты.Оплата_периода - сотрудники_расчеты.Удержание - сотрудники_расчеты.Ссуда
КОГДА 0 < сотрудники_расчеты.Ссуда < сотрудники_расчеты.Оплата_периода
И 0 < сотрудники_расчеты.Карточка < сотрудники_расчеты.Оплата_периода
И сотрудники_расчеты.Доплата ЕСТЬ NULL
И 0 < сотрудники_расчеты.Удержание < сотрудники_расчеты.Оплата_периода
ТОГДА сотрудники_расчеты.Оплата_периода - сотрудники_расчеты.Удержание - сотрудники_расчеты.Карточка - сотрудники_расчеты.Ссуда
КОНЕЦ КАК Выдача

ИЗ
сотрудники_расчеты КАК сотрудники_расчеты



Добавлено: 24 авг 2017, 20:04


проблема - так как отчет изначально по дням, то все месячные показатели подтягиваясь, тоже расходятся по дням.. данные дублируются ... Как тут сгруппировать?
Добавлено: 24 авг 2017, 20:34


oleg-x, не могли бы вы уточнить?

oleg-x

Цитироватьпроблема - так как отчет изначально по дням, то все месячные показатели подтягиваясь, тоже расходятся по дням.. данные дублируются ... Как тут сгруппировать?
Сделайте отчет по дням, выведете одну и туже дату но в разных форматах:
НАЧАЛОПЕРИОДА(ПоступлениеТоваров.Дата, МЕСЯЦ) КАК Месяц, //для этого реквизита в настройках формата сделайте представление даты ДФ=MMMM.yyyy
НАЧАЛОПЕРИОДА(ПоступлениеТоваров.Дата, ДЕНЬ) КАК День

И получится так
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Св Ч

oleg-x, извините, я немного не догоняю...Проблема была в том что таблицу содержащею ежедневные данные шаблон_табеля2 разбитые по дням и сотрудникам, а именно отработанные часы за день пришлось связать с месячными данными, т.е. РегистрСведений.Доплаты , РегистрСведений.Ссуды, РегистрСведений.Штрафы,  РегистрСведений.Удержания. т.е. данные которые могут меняться в течении расчетного периода но являются данными за месяц, в результате данные за месяц - расходятся по дням и дублируются, а именно:
(тут используется замена регистра срезпоследних )
ВЫБРАТЬ
МАКСИМУМ(Доплаты.Период) КАК дата_Доплаты,
Доплаты.Сотрудник,
шаблон_табеля2.Дат
ПОМЕСТИТЬ Таб_даты_Доплаты
ИЗ
шаблон_табеля2 КАК шаблон_табеля2
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Доплаты КАК Доплаты
ПО шаблон_табеля2.Сотрудник = Доплаты.Сотрудник
ГДЕ
Доплаты.Период <= шаблон_табеля2.Дат

СГРУППИРОВАТЬ ПО
Доплаты.Сотрудник,
шаблон_табеля2.Дат
;
   
как мне поможет разложение на месяц, т.е. связь Доплаты.Период <= шаблон_табеля2.Дат

я должна буду записать как? 
т.е. будет не на каждую дату таблицы шаблон_табеля2.Дат (которая содержит данные на каждую дату из периода разницы дат ДатаНачала и ДатаОкончания), и как тогда сделать связь?


Добавлено: 25 авг 2017, 01:05


я так понимаю у меня ошибка в связи
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.На_карточку КАК На_карту
ПО шаблон_табеля2.Сотрудник = На_карту.Сотрудник
ГДЕ
На_карту.Период <=КОНЕЦПЕРИОДА(шаблон_табеля2.Дат,МЕСЯЦ)


oleg-x

Нарисуйте лучше как должен выглядеть отчет и какие данные берутся за месяц, а какие по дням.

Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Св Ч


Добавлено: 25 авг 2017, 18:11


по дням ставка за час  и часы отработанные, по месяцам штрафы, доплаты, ссуды, удержания

oleg-x

Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск