Имя: Пароль:
1C
1С v8
СКД вывод данных за разные периоды
0 ghostrid3r
 
27.08.12
13:35
Добрый день подскажите как можно сделать такую штуку на скд. Пользователь указывает период например, текущий месяц, а ему показывают данные за тот месяц который он выбрал + за предыдущий месяц. Пользователь всегда будет выбирать период месяц, т.к. интересуют данные только за 1 месяц. Просто можно сделать через обьединение запросов, а вот как задать второй период, чтобы пользователь указывал только 1 который ему нужно.
1 Cube
 
27.08.12
13:36
(0) Плохо объясняешь... Попробуй ещё разок.
2 vmv
 
27.08.12
13:37
+(1), тс на курсы риторики
3 Конфигуратор1с
 
27.08.12
13:38
(0)Недавно делал подобное, в твоем случае достаточно при компоновке результата задавать параметр период2 = параметр1- месяц и все
4 ghostrid3r
 
27.08.12
13:44
(3) Спс попробую а месяц указывать в числовом выражении ? или может есть какая то определенная штука на компоновке?
5 ghostrid3r
 
27.08.12
13:45
(1) что не понятно в результате должно получится 1 колонка с результатом за месяц выбранный пользователем, и 2-я колонка за предыдущий месяц.
6 Cube
 
27.08.12
13:47
(5) Сделай, чтобы у тебя эти две колонки выдавал запрос.
7 vmv
 
27.08.12
13:49
(5) ДобавитьКДате()  минус один месяц в запросе компоновки по выборке 2-ой(прошлой) порции данных и не нужен 2-ой параметр
8 Конфигуратор1с
 
27.08.12
13:51
(7)можно и так, суть та же)))
9 ghostrid3r
 
27.08.12
13:56
ясно всем спс буду пробовать
10 ghostrid3r
 
28.08.12
12:38
Подскажите в чем проблема? Сделал через 2 набора данных СКД, в первом ДатаНач и ДатаКон, обычные параметры, во втрой перидаю через ДобавитьКДате() и связал наборы данных по ОС. получается что я не получаю данные со второго набора, только текущие, в чем может быть причина такого поведения. Данные в регистрах есть и за текщий период и за предыдущий.
11 Конфигуратор1с
 
28.08.12
12:41
запрос покажи
12 ghostrid3r
 
28.08.12
12:44
ВЫБРАТЬ
   СпособыОтраженияРасходовПоАмортизацииСпособы.Ссылка КАК Ссылка,
   СпособыОтраженияРасходовПоАмортизацииСпособы.СчетЗатрат КАК СчетЗатрат
ПОМЕСТИТЬ ТчСоответствиеСчетовЗатрат
ИЗ
   Справочник.СпособыОтраженияРасходовПоАмортизации.Способы КАК СпособыОтраженияРасходовПоАмортизацииСпособы
ГДЕ
   СпособыОтраженияРасходовПоАмортизацииСпособы.НомерСтроки = 1
   И СпособыОтраженияРасходовПоАмортизацииСпособы.Ссылка.ПериодическоеИзменение = ЛОЖЬ

СГРУППИРОВАТЬ ПО
   СпособыОтраженияРасходовПоАмортизацииСпособы.Ссылка,
   СпособыОтраженияРасходовПоАмортизацииСпособы.СчетЗатрат

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

ВЫБРАТЬ
   ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.СпособОтраженияРасходовПоАмортизации.Ссылка,
   МАКСИМУМ(ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.СчетЗатрат)
ИЗ
   Документ.ИзменениеКоэффициентовРаспределенияРасходовПоАмортизации.Способы КАК ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы
       ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
           МАКСИМУМ(ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка) КАК Ссылка,
           МАКСИМУМ(ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.Дата) КАК Дата,
           ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.СпособОтраженияРасходовПоАмортизации КАК СпособОтраженияРасходовПоАмортизации
       ИЗ
           Документ.ИзменениеКоэффициентовРаспределенияРасходовПоАмортизации.Способы КАК ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы
       ГДЕ
           ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.Дата <= &ДатаКон
           И ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.Проведен
       
       СГРУППИРОВАТЬ ПО
           ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.СпособОтраженияРасходовПоАмортизации) КАК ВложенныйЗапрос
       ПО ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.СпособОтраженияРасходовПоАмортизации = ВложенныйЗапрос.СпособОтраженияРасходовПоАмортизации
ГДЕ
   ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.НомерСтроки = 1
   И ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.СпособОтраженияРасходовПоАмортизации.ПериодическоеИзменение = ИСТИНА
   И ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.Дата = ВложенныйЗапрос.Дата

СГРУППИРОВАТЬ ПО
   ИзменениеКоэффициентовРаспределенияРасходовПоАмортизацииСпособы.Ссылка.СпособОтраженияРасходовПоАмортизации.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
   СтоимостьОСОстаткиИОбороты.ОсновноеСредство КАК ОсновноеСредство,
   СтоимостьОСОстаткиИОбороты.ОсновноеСредство.Код КАК ИнвентарныйНомер,
   МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение КАК Подразделение,
   СчетаБухгалтерскогоУчетаОССрезПоследних.СчетУчета КАК СчетУчета,
   ТчСоответствиеСчетовЗатрат.СчетЗатрат КАК СчетЗатрат,
   СУММА(СтоимостьОСОстаткиИОбороты.АмортизацияПриход) КАК АмортизацияПриход,
   СУММА(СтоимостьОСОстаткиИОбороты.АмортизацияНУПриход) КАК АмортизацияНУПриход,
   СУММА(СтоимостьОСОстаткиИОбороты.АмортизацияПриход - СтоимостьОСОстаткиИОбороты.АмортизацияНУПриход) КАК РазницаАмортизаций,
   ПервоначальныеСведенияОСНалоговыйУчетСрезПоследних.НалоговаяГруппаОС КАК НалоговаяГруппаОС
{ВЫБРАТЬ
   ОсновноеСредство.*,
   ИнвентарныйНомер,
   Подразделение.*,
   СчетУчета.*,
   СчетЗатрат.*,
   АмортизацияПриход,
   АмортизацияНУПриход,
   РазницаАмортизаций,
   НалоговаяГруппаОС.*}
ИЗ
   РегистрНакопления.СтоимостьОСБухгалтерскийУчет.ОстаткиИОбороты(ДобавитьКДате(&ДатаНач, МЕСЯЦ, -1), ДобавитьКДате(&ДатаКон, МЕСЯЦ, -1), , , {(Организация).* КАК Организация, (ОсновноеСредство).* КАК ОсновноеСредство}) КАК СтоимостьОСОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.МестонахождениеОСБухгалтерскийУчет.СрезПоследних(&ДатаКон, ) КАК МестонахождениеОСБухгалтерскийУчетСрезПоследних
       ПО СтоимостьОСОстаткиИОбороты.ОсновноеСредство = МестонахождениеОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СчетаБухгалтерскогоУчетаОС.СрезПоследних(&ДатаКон, ) КАК СчетаБухгалтерскогоУчетаОССрезПоследних
       ПО СтоимостьОСОстаткиИОбороты.ОсновноеСредство = СчетаБухгалтерскогоУчетаОССрезПоследних.ОсновноеСредство
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчет.СрезПоследних(&ДатаКон, ) КАК СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчетСрезПоследних
           ЛЕВОЕ СОЕДИНЕНИЕ ТчСоответствиеСчетовЗатрат КАК ТчСоответствиеСчетовЗатрат
           ПО СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчетСрезПоследних.СпособыОтраженияРасходовПоАмортизации.Ссылка = ТчСоответствиеСчетовЗатрат.Ссылка
       ПО СтоимостьОСОстаткиИОбороты.ОсновноеСредство = СпособыОтраженияРасходовПоАмортизацииОСБухгалтерскийУчетСрезПоследних.ОсновноеСредство
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПервоначальныеСведенияОСНалоговыйУчет.СрезПоследних(&ДатаКон, ) КАК ПервоначальныеСведенияОСНалоговыйУчетСрезПоследних
       ПО СтоимостьОСОстаткиИОбороты.ОсновноеСредство = ПервоначальныеСведенияОСНалоговыйУчетСрезПоследних.ОсновноеСредство
{ГДЕ
   МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение.* КАК Подразделение,
   СчетаБухгалтерскогоУчетаОССрезПоследних.СчетУчета.*,
   ПервоначальныеСведенияОСНалоговыйУчетСрезПоследних.НалоговаяГруппаОС.*,
   ТчСоответствиеСчетовЗатрат.СчетЗатрат.*}

СГРУППИРОВАТЬ ПО
   СтоимостьОСОстаткиИОбороты.ОсновноеСредство,
   СтоимостьОСОстаткиИОбороты.ОсновноеСредство.Код,
   МестонахождениеОСБухгалтерскийУчетСрезПоследних.Местонахождение,
   СчетаБухгалтерскогоУчетаОССрезПоследних.СчетУчета,
   ТчСоответствиеСчетовЗатрат.СчетЗатрат,
   ПервоначальныеСведенияОСНалоговыйУчетСрезПоследних.НалоговаяГруппаОС
13 ghostrid3r
 
28.08.12
12:48
Если отдельно без связей наборот то этот запрос выводит данные
14 ghostrid3r
 
28.08.12
12:48
наборов*
15 Конфигуратор1с
 
28.08.12
13:33
а ты через объединение делал или соединил просто два набора?
Программист всегда исправляет последнюю ошибку.