Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 сен 2021, 14:48

отчет по основным средствам

Автор Николай, 19 авг 2019, 08:40

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

Николай

1С Бух 3. Помогите с отчетом по ОС за период. Если основное средство на конец периода продано, то данные по нему не выводятся, как исправить?
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ОсновныеСредства.Ссылка КАК ОсновныеСредства,
ОсновныеСредства.ГруппаОС КАК ГруппаОС
ПОМЕСТИТЬ ТабОС
ИЗ
Справочник.ОсновныеСредства КАК ОсновныеСредства;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОстатки.Субконто1 КАК ОсновноеСредство01,
ХозрасчетныйОстатки.Организация КАК Организация,
ХозрасчетныйОстатки.СуммаНачальныйРазвернутыйОстатокДт КАК БалансоваяСтоимость_НП
ПОМЕСТИТЬ ТабНачалоПериода01
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ),КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ),,,Счет В  (&Счет01), , ) КАК ХозрасчетныйОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОстатки.Субконто1 КАК ОсновноеСредство02,
ХозрасчетныйОстатки.Организация КАК Организация,
ХозрасчетныйОстатки.СуммаНачальныйРазвернутыйОстатокКт КАК Амортизация_НП
ПОМЕСТИТЬ ТабНачалоПериода02
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ),,, Счет В  (&Счет02), , ) КАК ХозрасчетныйОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТабНачалоПериода01.ОсновноеСредство01 КАК ОсновноеСредство_НП,
ТабНачалоПериода01.Организация КАК Организация,
ТабНачалоПериода01.БалансоваяСтоимость_НП КАК БалансоваяСтоимость_НП,
ТабНачалоПериода02.Амортизация_НП КАК Амортизация_НП,
ВЫБОР
КОГДА ТабНачалоПериода02.Амортизация_НП ЕСТЬ NULL
ТОГДА ТабНачалоПериода01.БалансоваяСтоимость_НП - 0
ИНАЧЕ ТабНачалоПериода01.БалансоваяСтоимость_НП - ТабНачалоПериода02.Амортизация_НП
КОНЕЦ КАК ОстаточнаяСтоимость_НП
ПОМЕСТИТЬ ТабДанныеНаНачалоПериода
ИЗ
ТабНачалоПериода01 КАК ТабНачалоПериода01
ЛЕВОЕ СОЕДИНЕНИЕ ТабНачалоПериода02 КАК ТабНачалоПериода02
ПО ТабНачалоПериода01.ОсновноеСредство01 = ТабНачалоПериода02.ОсновноеСредство02
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОстатки.Субконто1 КАК ОсновноеСредство01,
ХозрасчетныйОстатки.Организация КАК Организация,
ХозрасчетныйОстатки.СуммаКонечныйРазвернутыйОстатокДт КАК БалансоваяСтоимость_КП
ПОМЕСТИТЬ ТабКонецПериода01
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ),,, Счет В  (&Счет01), , ) КАК ХозрасчетныйОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОстатки.Субконто1 КАК ОсновноеСредство02,
ХозрасчетныйОстатки.Организация КАК Организация,
ХозрасчетныйОстатки.СуммаКонечныйРазвернутыйОстатокКт КАК Амортизация_КП
ПОМЕСТИТЬ ТабКонецПериода02
ИЗ
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ),,, Счет В  (&Счет02), , ) КАК ХозрасчетныйОстатки
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ТабКонецПериода01.ОсновноеСредство01 КАК ОсновноеСредство_КП,
ТабКонецПериода01.Организация КАК Организация,
ТабКонецПериода01.БалансоваяСтоимость_КП КАК БалансоваяСтоимость_КП,
ТабКонецПериода02.Амортизация_КП КАК Амортизация_КП,
ВЫБОР
КОГДА ТабКонецПериода02.Амортизация_КП ЕСТЬ NULL
ТОГДА ТабКонецПериода01.БалансоваяСтоимость_КП - 0
ИНАЧЕ ТабКонецПериода01.БалансоваяСтоимость_КП - ТабКонецПериода02.Амортизация_КП
КОНЕЦ КАК ОстаточнаяСтоимость_КП
ПОМЕСТИТЬ ТабДанныеКонецПериода
ИЗ
ТабКонецПериода01 КАК ТабКонецПериода01
ЛЕВОЕ СОЕДИНЕНИЕ ТабКонецПериода02 КАК ТабКонецПериода02
ПО ТабКонецПериода01.ОсновноеСредство01 = ТабКонецПериода02.ОсновноеСредство02
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОбороты.Субконто1 КАК ОсновноеСредство_ИзмБаланс,
ХозрасчетныйОбороты.СуммаОборотДт - ХозрасчетныйОбороты.СуммаОборотКт КАК ИзмБаланс
ПОМЕСТИТЬ ТабИзмБаланс
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ), , Счет В  (&Счет01), , , , ) КАК ХозрасчетныйОбороты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
ХозрасчетныйОбороты.Субконто1 КАК ОсновноеСредство_ИзмАморт,
ХозрасчетныйОбороты.СуммаОборотКт - ХозрасчетныйОбороты.СуммаОборотДт КАК ИзменениеАмортизации
ПОМЕСТИТЬ ТабИзмАморт
ИЗ
РегистрБухгалтерии.Хозрасчетный.Обороты(НАЧАЛОПЕРИОДА(&НачалоПериода, ДЕНЬ), КОНЕЦПЕРИОДА(&КонецПериода, ДЕНЬ), , Счет В  (&Счет02), , , , ) КАК ХозрасчетныйОбороты
;

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

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

LexaK

ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДанныеКонецПериода КАК ТабДанныеКонецПериода
попробуйте замените на
левое СОЕДИНЕНИЕ ТабДанныеКонецПериода КАК ТабДанныеКонецПериода
ответ Понравился? (в смысле пригодился?)

Николай

Цитата: LexaK от 19 авг 2019, 09:24
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДанныеКонецПериода КАК ТабДанныеКонецПериода
попробуйте замените на
левое СОЕДИНЕНИЕ ТабДанныеКонецПериода КАК ТабДанныеКонецПериода
Данные на начало стали верные, а на конец и амортизация за период теперь меньше
Добавлено: 19 авг 2019, 09:42


Сделал ПОЛНОЕ СОЕДИНЕНИЕ. Выровнялись данные на начало и на конец. Врет только ТабИзмБаланс.ИзмБаланс КАК ИзмБаланс,
ТабИзмАморт.ИзменениеАмортизации КАК ИзменениеАмортизации,

LexaK

ну да, вы вторую ситуацию не описали что у вас в начале периода какой-то ОС не приняли ( и записи по нему на начало периода - нет )
а на конец периода запись есть тогда надо было еще и
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДанныеНаНачалоПериода КАК ТабДанныеНаНачалоПериода
делать как
левое СОЕДИНЕНИЕ ТабДанныеНаНачалоПериода КАК ТабДанныеНаНачалоПериода

и естественно везде учесть значение Null

ответ Понравился? (в смысле пригодился?)

Николай

Цитата: LexaK от 19 авг 2019, 10:13
ну да, вы вторую ситуацию не описали что у вас в начале периода какой-то ОС не приняли ( и записи по нему на начало периода - нет )
а на конец периода запись есть тогда надо было еще и
ВНУТРЕННЕЕ СОЕДИНЕНИЕ ТабДанныеНаНачалоПериода КАК ТабДанныеНаНачалоПериода
делать как
левое СОЕДИНЕНИЕ ТабДанныеНаНачалоПериода КАК ТабДанныеНаНачалоПериода

и естественно везде учесть значение Null


А как учесть значение Null? Сейчас у меня все цифры верны, но выводятся все элементы справочника ОС.

LexaK

если нет данных на начало периода (Null) и нет на конец (Null)
то такая запись не нужна
примерно так
Где
...
//в конец условий добавьте такой отбор
и ( ТабДанныеНаНачалоПериода.ОсновноеСредство_НП есть Не Null
или ТабДанныеКонецПериода.ОсновноеСредство_КП есть Не Null ) //обязательно в скобках через ИЛИ
ответ Понравился? (в смысле пригодился?)

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск