Имя: Пароль:
1C
 
СКД. Отчет в разрезе "понедельно"
0 Point
 
01.09.10
18:57
Ситуация следующая:
Есть номенклатура для которой установлены даты: НачалоРабот,ОкончаниеРабот.

В СКД сделал вычисляемое поле "Период", которое получает максимальное значение из этих дат - в последствии по этому полю будет проводиться группировка колонок.

Вопрос:
Все даты по одной номенклатуре будут находиться в одной колонке, даже в том случае если одна из дат не принадлежит периоду колонки. Как сделать чтобы каждая дата по номенклатуре находилась в том периоде которому она принадлежит.


Пример что нужно сделать http://s53.radikal.ru/i141/1009/d0/e1a8e3d8ae0c.jpg
1 Kashemir
 
01.09.10
18:58
Что мешает ?
2 Point
 
01.09.10
18:59
(1) ты все правильно прочитал?
3 Kashemir
 
01.09.10
19:02
(2) У тебя есть проблема с созданием дополнительного группировочного поля на базе вычисляемого, рассчитываемого как производное от уже имеющегося поля период ?
4 azernot
 
01.09.10
19:02
Дважды обратись к номенклатуре, один раз в качемстве поля Период - НачалоРабот, второй раз - конец работ.
5 Point
 
01.09.10
19:04
(3)(4) ничего не понял, давай по колхозному
6 azernot
 
01.09.10
19:05
(0) А вообще, постановка вопроса - дурацкая. Ни фига не понять. Лучше тогда уж запрос выложи.
7 Point
 
01.09.10
19:06
(6) по ссылке сходи - все станет ясно
8 Kashemir
 
01.09.10
19:06
(5)  Создаешь вычисляемое поле "неделька" ... формула расчета НачалоПериода(КакТамУТебяПериодНазывается, "Неделя")

Настройки таблицы вывода: группировка строки = КакТамУТебяПериодНазывается
Группировка колонок: Неделька
9 Point
 
01.09.10
19:08
(8) А если ДатаНачала и ДатаКонца в разных неделях - как тогда будет группировать
10 azernot
 
01.09.10
19:08
(7) Как хочешь. Мне - не надо.
11 Kashemir
 
01.09.10
19:09
(8) Т.е. не так, группировка строк - номенклатура, ресурс - Максимум(КакТамУТебяПериодНазывается)
12 Kashemir
 
01.09.10
19:09
(9) А ты на бумаге нарисуй - как ты себе это представлешь ?
13 Point
 
01.09.10
19:11
(12) если есть, кинь ссылку на твой пример.
14 azernot
 
01.09.10
19:17
ВЫБРАТЬ
   СпрНоменклатура.Ссылка КАК Номенклатура,
   НАЧАЛОПЕРИОДА(СпрНоменклатура.НачалоРабот, НЕДЕЛЯ) КАК ПериодНеделя,
   СпрНоменклатура.НачалоРабот КАК Дата
ИЗ
   Справочник.Номенклатура КАК СпрНоменклатура

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

ВЫБРАТЬ
   СпрНоменклатура.Ссылка,
   НАЧАЛОПЕРИОДА(СпрНоменклатура.ОкончаниеРабот, НЕДЕЛЯ),
   СпрНоменклатура.ОкончаниеРабот
ИЗ
   Справочник.Номенклатура КАК СпрНоменклатура
ИТОГИ
   МАКСИМУМ(Дата)
ПО
   Номенклатура,
   ПериодНеделя
15 Kashemir
 
01.09.10
19:23
ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура,
   МАКСИМУМ(ВложенныйЗапрос.ДатаНачала) КАК ДатаНачала,
   МАКСИМУМ(ВложенныйЗапрос.ДатаКонца) КАК ДатаКонца,
   ВложенныйЗапрос.Неделька
ИЗ
   (ВЫБРАТЬ
       НекийПланФакт.Номенклатура КАК Номенклатура,
       НекийПланФакт.ДатаНачала КАК ДатаНачала,
       NULL КАК ДатаКонца,
       НАЧАЛОПЕРИОДА(НекийПланФакт.ДатаНачала, НЕДЕЛЯ) КАК Неделька
   ИЗ
       РегистрСведений.НекийПланФакт КАК НекийПланФакт
   
   ОБЪЕДИНИТЬ ВСЕ
   
   ВЫБРАТЬ
       НекийПланФакт.Номенклатура,
       NULL,
       НекийПланФакт.ДатаКонца,
       НАЧАЛОПЕРИОДА(НекийПланФакт.ДатаКонца, НЕДЕЛЯ)
   ИЗ
       РегистрСведений.НекийПланФакт КАК НекийПланФакт) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Номенклатура,
   ВложенныйЗапрос.Неделька
2 + 2 = 3.9999999999999999999999999999999...