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

Как получить начальный остаток по РегиструНакопления

Автор Шурик_1985, 30 дек 2011, 09:26

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

Шурик_1985

Всем привет! всех с наступающим С Новым Годом!
помогите решить задачу новичку!
Конфа: РегистрНакопленияРасчетыСПерсоналом
Измерения ПериодРегистрации Тип Дата
Измерения Сотрудник тип СправочникСсылка.Сотрудники
Ресурс Сумма тип число
Пример.Петрову начислено по ПериодуРегистрации 01.11.11 15000руб, удержано 8000руб, к выдаче 7000руб.
теперь мне надо 7000 руб получить по НачОст в 01.12.11
я примерно написал но у меня не получаеться получить нач ост, что я не так делаю?

Код
ВЫБРАТЬ
   РасчетыСПерсоналомОстаткиИОбороты.Сотрудник,
   РасчетыСПерсоналомОстаткиИОбороты.СуммаНачальныйОстаток,
   РасчетыСПерсоналомОстаткиИОбороты.СуммаПриход,
   РасчетыСПерсоналомОстаткиИОбороты.СуммаРасход,
   РасчетыСПерсоналомОстаткиИОбороты.СуммаКонечныйОстаток
ИЗ
   РегистрНакопления.РасчетыСПерсоналом.ОстаткиИОбороты КАК РасчетыСПерсоналомОстаткиИОбороты
ГДЕ
   РасчетыСПерсоналомОстаткиИОбороты.ПериодРегистрации = &;НачалоПериода



Всем за ранее большое спасибо

Dethmontt

Таблица виртуальная, смотри параметры виртуальных таблиц и все станет понятно.
Если долго всматриваться в учебник...то в голову может прийти мысль его открыть!

Шурик_1985

Нашел решение, самое главное работает все!
"ВЫБРАТЬ
            |   ЕСТЬNULL(Остаток.Сотрудник, Обороты.Сотрудник) КАК Сотрудник,
            |   ЕСТЬNULL(Остаток.СтруктурнаяЕдиница, Обороты.СтруктурнаяЕдиница) КАК Подразделения,
            |   СУММА(ЕСТЬNULL(Остаток.СуммаКонечныйОстаток, 0)) КАК НачальныйОстаток,
            |   ЕСТЬNULL(Обороты.СуммаПриход, 0) КАК Начислено,
            |   ЕСТЬNULL(Обороты.СуммаРасход, 0) КАК Удержано,
            |   ЕСТЬNULL(Остаток.СуммаКонечныйОстаток, 0) + ЕСТЬNULL(Обороты.СуммаПриход, 0) - ЕСТЬNULL(Обороты.СуммаРасход, 0) КАК КВыдаче
            |ИЗ
            |   (ВЫБРАТЬ
            |      РасчетыСПерсоналомОстаткиИОбороты.Сотрудник КАК Сотрудник,
            |      РасчетыСПерсоналомОстаткиИОбороты.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
            |      СУММА(РасчетыСПерсоналомОстаткиИОбороты.СуммаКонечныйОстаток) КАК СуммаКонечныйОстаток
            |   ИЗ
            |      РегистрНакопления.РасчетыСПерсоналом.ОстаткиИОбороты(, , , , ) КАК РасчетыСПерсоналомОстаткиИОбороты
            |   ГДЕ
            |      РасчетыСПерсоналомОстаткиИОбороты.СтруктурнаяЕдиница = &СтруктурнаяЕдиница
            |      И РасчетыСПерсоналомОстаткиИОбороты.ПериодРегистрации <= &началоПериода
            |   
            |   СГРУППИРОВАТЬ ПО
            |      РасчетыСПерсоналомОстаткиИОбороты.Сотрудник,
            |      РасчетыСПерсоналомОстаткиИОбороты.СтруктурнаяЕдиница) КАК Остаток
            |      ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            |         РасчетыСПерсоналомОбороты.Сотрудник КАК Сотрудник,
            |         РасчетыСПерсоналомОбороты.СуммаПриход КАК СуммаПриход,
            |         РасчетыСПерсоналомОбороты.СуммаРасход КАК СуммаРасход,
            |         РасчетыСПерсоналомОбороты.СтруктурнаяЕдиница КАК СтруктурнаяЕдиница,
            |         РасчетыСПерсоналомОбороты.ПериодРегистрации КАК ПериодРегистрации
            |      ИЗ
            |         РегистрНакопления.РасчетыСПерсоналом.Обороты(, , , ) КАК РасчетыСПерсоналомОбороты
            |      ГДЕ
            |         РасчетыСПерсоналомОбороты.ПериодРегистрации = &ПериодРегистрации
            |         И РасчетыСПерсоналомОбороты.СтруктурнаяЕдиница = &СтруктурнаяЕдиница) КАК Обороты
            |      ПО (Остаток.Сотрудник = Обороты.Сотрудник)
            |
            |СГРУППИРОВАТЬ ПО
            |   ЕСТЬNULL(Обороты.СуммаПриход, 0),
            |   ЕСТЬNULL(Обороты.СуммаРасход, 0),
            |   ЕСТЬNULL(Остаток.Сотрудник, Обороты.Сотрудник),
            |   ЕСТЬNULL(Остаток.СтруктурнаяЕдиница, Обороты.СтруктурнаяЕдиница),
            |   ЕСТЬNULL(Остаток.СуммаКонечныйОстаток, 0) + ЕСТЬNULL(Обороты.СуммаПриход, 0) - ЕСТЬNULL(Обороты.СуммаРасход, 0)";

Теги:

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

Рейтинг@Mail.ru

Поиск