|
Сформировать таблицу периодов. | ☑ | ||
---|---|---|---|---|
0
егаис
11.06.19
✎
09:56
|
Господа, есть красивое решение, как реализовать такую задачу?
Есть таблица периодов 01.05 - 18.05 19.05 - 31.05 И есть период начисления с 15.05 по 29.05 В итоге надо наложить период начисления на таблицу периодов. Результат должен быть 15.05 - 18.05 19.05 - 29.05 Научите красоте, а не простым перебором |
|||
1
mistеr
11.06.19
✎
10:09
|
(0)
ВЫБРАТЬ ... ИЗ Периоды КАК Т1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Начисления КАК Т2 ПО Т1.НачалоПериода <= Т2.КонецПериода И Т1.КонецПериода >= Т2.НачалоПериода |
|||
2
mistеr
11.06.19
✎
10:10
|
Границы сам определишь?
|
|||
3
егаис
11.06.19
✎
10:12
|
спасибо, попробую
|
|||
4
егаис
11.06.19
✎
11:19
|
где неправ?
ВЫБРАТЬ ТаблицаПериодов.ДатаНачала КАК ДатаНачалаНачисления, ТаблицаПериодов.ДатаОкончания КАК ДатаОкончанияНачисления ПОМЕСТИТЬ ТаблицаПериодов ИЗ &ТаблицаПериодов КАК ТаблицаПериодов ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТаблицаПериодовСтажа.ДатаНачала КАК ДатаНачалаСтажа, ТаблицаПериодовСтажа.ДатаОкончания КАК ДатаОкончанияСтажа, ТаблицаПериодовСтажа.Процент КАК Процент ПОМЕСТИТЬ ТаблицаПериодовСтажа ИЗ &ТаблицаПериодовСтажа КАК ТаблицаПериодовСтажа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТаблицаПериодов.ДатаНачалаНачисления КАК ДатаНачалаНачисления, ТаблицаПериодов.ДатаОкончанияНачисления КАК ДатаОкончанияНачисления, ТаблицаПериодовСтажа.Процент КАК Процент ИЗ ТаблицаПериодов КАК ТаблицаПериодов ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаПериодовСтажа КАК ТаблицаПериодовСтажа ПО ТаблицаПериодов.ДатаНачалаНачисления <= ТаблицаПериодовСтажа.ДатаОкончанияСН И ТаблицаПериодов.ДатаОкончанияНачисления >= ТаблицаПериодовСН.ДатаНачалаСтажа для такого примера 01.05 - 18.05 40% 19.05 - 31.05 50% период с 01.05 по 31.05 формируется две строчки 01.05 - 31.05 40% 01.05 - 31.05 50% |
|||
5
егаис
11.06.19
✎
11:24
|
очепятка в тексте запроса
//////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТаблицаПериодов.ДатаНачалаНачисления КАК ДатаНачалаНачисления, ТаблицаПериодов.ДатаОкончанияНачисления КАК ДатаОкончанияНачисления, ТаблицаПериодовСтажа.Процент КАК Процент ИЗ ТаблицаПериодов КАК ТаблицаПериодов ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаПериодовСтажа КАК ТаблицаПериодовСтажа ПО ТаблицаПериодов.ДатаНачалаНачисления <= ТаблицаПериодовСтажа.ДатаОкончанияСтажа И ТаблицаПериодов.ДатаОкончанияНачисления >= ТаблицаПериодовСтажа.ДатаНачалаСтажа |
|||
6
savaB
11.06.19
✎
11:26
|
мин для датаОкончания и макс для ДатаНачала
|
|||
7
егаис
11.06.19
✎
11:42
|
не понимаю
|
|||
8
егаис
11.06.19
✎
11:57
|
максимум, минимум через выбор реализовал, насколько верно?
ВЫБРАТЬ ВЫБОР КОГДА ТаблицаПериодов.ДатаНачалаНачисления > ТаблицаПериодовСтажа.ДатаНачалаСтажа ТОГДА ТаблицаПериодов.ДатаНачалаНачисления ИНАЧЕ ТаблицаПериодовСтажа.ДатаНачалаСтажа КОНЕЦ КАК ДатаНачалаНачисления, ВЫБОР КОГДА ТаблицаПериодов.ДатаОкончанияНачисления < ТаблицаПериодовСтажа.ДатаНачалаСтажа ТОГДА ТаблицаПериодов.ДатаОкончанияНачисления ИНАЧЕ ТаблицаПериодовСтажа.ДатаОкончанияСтажа КОНЕЦ КАК ДатаОкончанияНачисления, ТаблицаПериодовСтажа.Процент КАК Процент ИЗ ТаблицаПериодов КАК ТаблицаПериодов ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТаблицаПериодовСтажа КАК ТаблицаПериодовСтажа ПО ТаблицаПериодов.ДатаНачалаНачисления <= ТаблицаПериодовСтажа.ДатаОкончанияСтажа И ТаблицаПериодов.ДатаОкончанияНачисления >= ТаблицаПериодовСтажа.ДатаНачалаСтажа |
|||
9
mistеr
11.06.19
✎
12:17
|
(8) А по-другому в 1С и не сделать.
Пожалели, блин, две функции, МИН() и МАКС()... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |