Имя: Пароль:
1C
1С v8
СКД по регистру бухгалтерии периодами
0 m_oleg
 
16.07.13
16:43
Доброго времени суток!
Перечитал похожие темы, но разобраться с проблемой не получилось, поэтому прошу помощи..
Есть запрос:
ВЫБРАТЬ
   ТиповойОстатки.КоличествоОстаток КАК ОстатокПоБухгалтерии,
   ТиповойОстатки.Организация,
   ТиповойОстатки.Субконто1 КАК ГСМ,
   ОМ_ДанныеОтПоставщика.СальдоНаКонец КАК ОстатокПоДаннымПоставщика,
   ОМ_ДанныеОтПоставщика.Период,
   ТиповойОстатки.Субконто2 КАК Склад
ИЗ
   РегистрБухгалтерии.Типовой.Остатки(&Период, , ,) КАК ТиповойОстатки
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОМ_ДанныеОтПоставщика КАК ОМ_ДанныеОтПоставщика
       ПО ТиповойОстатки.Организация = ОМ_ДанныеОтПоставщика.Организация
           И ТиповойОстатки.Субконто1 = ОМ_ДанныеОтПоставщика.Номенклатура
           И ТиповойОстатки.Субконто2 = ОМ_ДанныеОтПоставщика.Склад

Необходимо выводить остатки регистра бухгалтерии на конец каждого месяца и сравнивать их с регистром сведения в котором так же записи хранятся на конец месяца...
1 m_oleg
 
16.07.13
22:05
ап
2 hhhh
 
16.07.13
22:11
это пользователь всё настраивает. &Период только убери, чтобы не мешался.
3 RomanYS
 
16.07.13
22:11
РегистрСведений.ОМ_ДанныеОтПоставщика периодический?
4 RomanYS
 
16.07.13
22:20
ВЫБРАТЬ
   Типовой.Период КАК НачМесяца,
   Типовой.СуммаКонечныйОстаток
ИЗ
   РегистрБухгалтерии.Типовой.ОстаткиИОбороты(&НачДата, &КонДата, Месяц, , , , ) КАК Типовой

а РС ты хочешь срезы получать, или нет данных за этот период -  выводим 0?
5 m_oleg
 
16.07.13
22:28
(3) По позиции регистратора
(4) Если нет данных тогда 0
6 RomanYS
 
16.07.13
22:51
уточню
если нет данных в этом месяце - берем последние с предыдущего ("срез")
или всё-таки выводим 0
7 RomanYS
 
16.07.13
23:00
для варианта "срез"(замени регистры на свои)

ВЫБРАТЬ
   ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
   ЦеныНоменклатурыСрезПоследних.Цена,
   ЦеныНоменклатурыСрезПоследних.Период
ПОМЕСТИТЬ Цены
ИЗ
   РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&НачДата, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних

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

ВЫБРАТЬ
   ЦеныНоменклатуры.Номенклатура,
   ЦеныНоменклатуры.Цена,
   ЦеныНоменклатуры.Период
ИЗ
   РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
ГДЕ
   ЦеныНоменклатуры.Период МЕЖДУ &НачДата И &КонДата
   И ЦеныНоменклатуры.ТипЦен = &ТипЦен

ИНДЕКСИРОВАТЬ ПО
   Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   Цены.Номенклатура КАК Номенклатура,
   Цены.Цена,
   Цены.Период КАК ПериодС,
   МИНИМУМ(ЕСТЬNULL(Цены1.Период, &КонДата)) КАК ПериодПо
ПОМЕСТИТЬ ЦеныПериодами
ИЗ
   Цены КАК Цены
       ЛЕВОЕ СОЕДИНЕНИЕ Цены КАК Цены1
       ПО Цены.Номенклатура = Цены1.Номенклатура
           И Цены.Период < Цены1.Период

СГРУППИРОВАТЬ ПО
   Цены.Номенклатура,
   Цены.Период,
   Цены.Цена

ИНДЕКСИРОВАТЬ ПО
   Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   КОНЕЦПЕРИОДА(ОстаткиИОбороты.Период, МЕСЯЦ) КАК КонецМесяца,
   ЦеныПериодами.Цена,
   ОстаткиИОбороты.Субконто1,
   ОстаткиИОбороты.СуммаКонечныйОстаток
ИЗ
   РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(&НачДата, &КонДата, Месяц, , , , ) КАК ОстаткиИОбороты
       ЛЕВОЕ СОЕДИНЕНИЕ ЦеныПериодами КАК ЦеныПериодами
       ПО (КОНЕЦПЕРИОДА(ОстаткиИОбороты.Период, МЕСЯЦ) >= ЦеныПериодами.ПериодС)
           И (КОНЕЦПЕРИОДА(ОстаткиИОбороты.Период, МЕСЯЦ) < ЦеныПериодами.ПериодПо)
           И ОстаткиИОбороты.Субконто1 = ЦеныПериодами.Номенклатура
8 m_oleg
 
17.07.13
08:03
RomanYS Большое спасибо! все получилось!
Основная теорема систематики: Новые системы плодят новые проблемы.