Необходимо вывести Структурное подразделение = пустому значению в СКД
Добрый день! Необходимо вывести Структурное подразделение = пустому значению в СКД. В Бухгалтерии для Казахстана, если ведется по подразделению, но когда подразделение не выбирается то в проводках оно пустое. А в отчетах стандартных оно выводиться как Головное подразделение и по нему есть цифры. Так вот в моем отчете надо вывести в СКД Пустое Структурное подразделение со значение его,т.е данными пробую делать так
но не выводит цифры
ВЫБРАТЬ
ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
ХозрасчетныйОбороты4.Организация КАК Организация4,
ВЫБОР
КОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение = НЕОПРЕДЕЛЕНО
ТОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение
КОНЕЦ КАК СтруктурноеПодразделение4,
ХозрасчетныйОбороты4.СуммаОборотДт КАК СуммаАдминРасхОрг
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовЗатратАдминистративных), , , , ) КАК ХозрасчетныйОбороты4
Сгруппировать ПО
ХозрасчетныйОбороты4.ПериодМесяц,
ХозрасчетныйОбороты4.Организация,
ХозрасчетныйОбороты4.СтруктурноеПодразделение,
ХозрасчетныйОбороты4.СуммаОборотДт;
Показатьно не выводит цифры
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
1. Реквизит никогда не будет равен Неопределено. В 1с есть несколько разных пустых значений, но вот именно значение реквизита чего-либо никогда не может равняться Неопределено. В запросе там может быть пустая ссылка или NULL.
2. А что предполагает получить автор кода, когда условие не выполняется?
ВЫБОР
КОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение = НЕОПРЕДЕЛЕНО
ТОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение
КОНЕЦ КАК СтруктурноеПодразделение4
1. Реквизит никогда не будет равен Неопределено. В 1с есть несколько разных пустых значений, но вот именно значение реквизита чего-либо никогда не может равняться Неопределено. В запросе там может быть пустая ссылка или NULL.
2. А что предполагает получить автор кода, когда условие не выполняется?
(2)
Если реквизит составного типа и он не заполнен, то таки будет Неопределено.
Он может быть заполнен пустой ссылкой одного из типов - в этом основная проблема свертки баз/закрытия счетов обработками
Реквизит никогда не будет равен Неопределено. В 1с есть несколько разных пустых значений, но вот именно значение реквизита чего-либо никогда не может равняться Неопределено. В запросе там может быть пустая ссылка или NULL.
Если реквизит составного типа и он не заполнен, то таки будет Неопределено.
Он может быть заполнен пустой ссылкой одного из типов - в этом основная проблема свертки баз/закрытия счетов обработками
Сейчас у меня выбирает по выбранным подразделениям сумму несмотря на то что я пробую выбрать подразделение с пустым полем в проводках ө как это все таки сделать? Мне надо получить сумму по подразделению пустому, а потом получить отношение, т.е. поделить полученную сумму на сумму подразделений выбранных
(10) Под описание в (9) + (10) подходит запрос такого вида:
ВЫБРАТЬ
ПериодМесяц,
Организация,
СтруктурноеПодразделение КАК Подразделение,
ХозрасчетныйОбороты4.СуммаОборотДт КАК Сумма
ПОМЕСТИТЬ ВТРезультатАдмРасх
ИЗ
РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовЗатратАдминистративных), , , , )
ИНДЕКСИРОВАТЬ ПО
Подразделение
;
ВЫБРАТЬ
ПериодМесяц КАК ПериодМесяц,
Организация КАК Организация,
СУММА(Сумма) КАК Сумма
ПОМЕСТИТЬ ВТПустыеПодразделения
ИЗ
ВТРезультатАдмРасх
ГДЕ
Подразделение = ЗНАЧЕНИЕ(Справочник.<ИмяСправочникаСПодразделениями>.ПустаяСсылка)
СГРУППИРОВАТЬ ПО
ПериодМесяц,
Организация
ИНДЕКСИРОВАТЬ ПО
ПериодМесяц,
Организация
;
ВЫБРАТЬ
Т1.ПериодМесяц,
Т1.Организация,
Т1.Подразделение,
Т1.Сумма,
ЕСТЬNULL(Т2.Сумма, 0) КАК СуммаПустых,
ВЫРАЗИТЬ(ЕСТЬNULL(Т2.Сумма, 0) / Т1.Сумма КАК ЧИСЛО(15, 2)) КАК ОтношениеСумм
ИЗ
ВТРезультатАдмРасх Т1
ЛЕВОЕ СОЕДИНЕНИЕ ВТПустыеПодразделения КАК Т2
ПО Т1.ПериодМесяц = Т2.ПериодМесяц
И Т1.Организация = Т2.Организация
Показать
(15)Вы ж ничего не показываете, какие типы данных используются, как выглядят данные в регистре
Возможно, вместо
нужно сделать так:
Возможно, вместо
....
ГДЕ
Подразделение = ЗНАЧЕНИЕ(Справочник.<ИмяСправочникаСПодразделениями>.ПустаяСсылка)
......
нужно сделать так:
......
ГДЕ
Подразделение = ЗНАЧЕНИЕ(Справочник.<ИмяСправочникаСПодразделениями>.ГоловноеПодразделение)
.......
(16)Проблема в том что если Подразделение выбрано в настройках отчета отбора, то условие по пустой ссылке не работает оно выбирает по выбранным подразделениям рис 1. А если делаем не заполненным параметр подразделение рис 2 то работает, но тогда не то выдает верхняя часть отчета. Мне надо чтоб верхняя часть работала по выбранным подразделениям, а последняя табличка по пустым. Подружить не получается. Делала даже через параметры не помогла та же ситуация
Прикрепленные файлы:


(17).....и эти подробности мы узнаем только на 17 сообщении. Прелестно.
Вам нужны 2 набора данных: с пустыми подразделениями и вашими выбранными
Далее соединяем эти наборы по Месяц и Организация и делаем вычисляемое поле вида
СуммаПусыеПодразделения / СуммаВыбранныеПодразделения
Вам нужны 2 набора данных: с пустыми подразделениями и вашими выбранными
Далее соединяем эти наборы по Месяц и Организация и делаем вычисляемое поле вида
СуммаПусыеПодразделения / СуммаВыбранныеПодразделения
(18) Так пробовала делать, но там где в наборе я даже не выбираю подразделение т.е. делаю так
Сумма берется не по всей организации, а почему то по выбранным подразделения и это еще не соединяя с другим набором. А почему я так делала потому что получилось по другому массиву счетов (Запасы), ну думала что такой фокус и по другим массивам счетов сработает а вот нет
ВЫБРАТЬ
ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
ХозрасчетныйОбороты4.Организация КАК Организация4,
ХозрасчетныйОбороты4.СуммаОборотДт КАК СуммаОборотДт4
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовАдминистративныеРасходы), , , , ) КАК ХозрасчетныйОбороты4
Сгруппировать ПО
ХозрасчетныйОбороты4.ПериодМесяц,
ХозрасчетныйОбороты4.Организация,
ХозрасчетныйОбороты4.СуммаОборотДт;
ПоказатьСумма берется не по всей организации, а почему то по выбранным подразделения и это еще не соединяя с другим набором. А почему я так делала потому что получилось по другому массиву счетов (Запасы), ну думала что такой фокус и по другим массивам счетов сработает а вот нет
(22)у вас отбор по подразделению осуществляется в момент вывода, а не в момент получения данных, поэтому в таблице с пустыми подразделениями нет циферок, т.к. они не попадают в условия отбора.
для того, чтобы отбор работал на стадии получения данных, необходимо использовать параметры запроса
что-то вроде:
И, соответственно, сделать еще один набор данных, по пустым подразделениям:
для того, чтобы отбор работал на стадии получения данных, необходимо использовать параметры запроса
что-то вроде:
ВЫБРАТЬ
ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
ХозрасчетныйОбороты4.Организация КАК Организация4,
ХозрасчетныйОбороты4.СтруктурноеПодразделение КАК Подразделение4,
ХозрасчетныйОбороты4.СуммаОборотДт КАК СуммаОборотДт4
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовАдминистративныеРасходы), , СтруктурноеПодразделение В ИЕРАРХИИ (&Подразделение), , ) КАК ХозрасчетныйОбороты4
И, соответственно, сделать еще один набор данных, по пустым подразделениям:
ВЫБРАТЬ
ХозрасчетныйОбороты5.ПериодМесяц КАК ПериодМесяц5,
ХозрасчетныйОбороты5.Организация КАК Организация5,
ХозрасчетныйОбороты5.СуммаОборотДт КАК СуммаОборотДт5
ПОМЕСТИТЬ РезультатАдмРасхПустыеПодразделения
ИЗ
РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовАдминистративныеРасходы), , СтруктурноеПодразделение = ЗНАЧЕНИЕ(Справочник.<ИмяСправочникаСПодразделениями>.ПустаяСсылка), , ) КАК ХозрасчетныйОбороты5
Что то все по нулям выдал, посмотрите правильно ли:
ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
ХозрасчетныйОбороты4.Организация КАК Организация4,
ВЫБОР
КОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
ТОГДА "Головное подразделение"
Иначе NULL
КОНЕЦ КАК СтруктурноеПодразделение4,
ВЫБОР
КОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
ТОГДА ХозрасчетныйОбороты4.СуммаОборотДт
Иначе NULL
КОНЕЦ КАК СуммаАдминРасхОрг
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовЗатратАдминистративных), , , , ) КАК ХозрасчетныйОбороты4
Сгруппировать ПО
ХозрасчетныйОбороты4.ПериодМесяц,
ХозрасчетныйОбороты4.Организация,
ХозрасчетныйОбороты4.СтруктурноеПодразделение,
ХозрасчетныйОбороты4.СуммаОборотДт;
Показать
Все получилось, лишний раз убеждаюсь что почему то, что- то остается от старого в скд в конфигурации. Решила все заново создать на чистую и все заработало вот по такому простенькому коду
Сумму теперь получила теперь буду далее наслаивать. Всем огромное спасибо!
ВЫБРАТЬ
ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
ХозрасчетныйОбороты4.Организация КАК Организация4,
ХозрасчетныйОбороты4.СуммаОборотДт КАК СуммаОборотДт4
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовАдминистративныеРасходы), , , , ) КАК ХозрасчетныйОбороты4
ГДЕ
ХозрасчетныйОбороты4.СтруктурноеПодразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
Сгруппировать ПО
ХозрасчетныйОбороты4.ПериодМесяц,
ХозрасчетныйОбороты4.Организация,
ХозрасчетныйОбороты4.СуммаОборотДт;
////////////////////////////////////////////////////////////////////////////////
//--------------------------------------------------------------------------
ВЫБРАТЬ
РезультатАдмРасх.ПериодМесяц4,
РезультатАдмРасх.Организация4,
РезультатАдмРасх.СуммаОборотДт4
ИЗ
РезультатАдмРасх КАК РезультатАдмРасх
//--------------------------------------------------------------------------
ПоказатьСумму теперь получила теперь буду далее наслаивать. Всем огромное спасибо!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот