Необходимо вывести Структурное подразделение = пустому значению в СКД

1. user734952 23.10.23 19:47 Сейчас в теме
Добрый день! Необходимо вывести Структурное подразделение = пустому значению в СКД. В Бухгалтерии для Казахстана, если ведется по подразделению, но когда подразделение не выбирается то в проводках оно пустое. А в отчетах стандартных оно выводиться как Головное подразделение и по нему есть цифры. Так вот в моем отчете надо вывести в СКД Пустое Структурное подразделение со значение его,т.е данными пробую делать так
ВЫБРАТЬ
	ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
	ХозрасчетныйОбороты4.Организация КАК Организация4,
	ВЫБОР
		КОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение = НЕОПРЕДЕЛЕНО
					ТОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение
	КОНЕЦ КАК СтруктурноеПодразделение4,  
	ХозрасчетныйОбороты4.СуммаОборотДт КАК СуммаАдминРасхОрг
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
	РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовЗатратАдминистративных), , , , ) КАК ХозрасчетныйОбороты4
Сгруппировать ПО
	ХозрасчетныйОбороты4.ПериодМесяц,
	ХозрасчетныйОбороты4.Организация,
	ХозрасчетныйОбороты4.СтруктурноеПодразделение,
	ХозрасчетныйОбороты4.СуммаОборотДт;  
Показать


но не выводит цифры
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 24.10.23 09:18 Сейчас в теме
(1)
ВЫБОР
        КОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение = НЕОПРЕДЕЛЕНО
                    ТОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение
    КОНЕЦ КАК СтруктурноеПодразделение4

1. Реквизит никогда не будет равен Неопределено. В 1с есть несколько разных пустых значений, но вот именно значение реквизита чего-либо никогда не может равняться Неопределено. В запросе там может быть пустая ссылка или NULL.
2. А что предполагает получить автор кода, когда условие не выполняется?
3. nomad_irk 76 24.10.23 09:36 Сейчас в теме
(2)
Реквизит никогда не будет равен Неопределено. В 1с есть несколько разных пустых значений, но вот именно значение реквизита чего-либо никогда не может равняться Неопределено. В запросе там может быть пустая ссылка или NULL.

Если реквизит составного типа и он не заполнен, то таки будет Неопределено.
Он может быть заполнен пустой ссылкой одного из типов - в этом основная проблема свертки баз/закрытия счетов обработками
5. user734952 24.10.23 11:17 Сейчас в теме
(3)А как это сделать пустая ссылка?
6. nomad_irk 76 24.10.23 11:41 Сейчас в теме
(5)ваша задача определить тип значения и установить пустую ссылку этого типа, что-то вроде
ХозрасчетныйОбороты4.СтруктурноеПодразделение = ЗНАЧЕНИЕ(Справочник.СтруктураПредприятия.ПустаяСсылка)
4. user734952 24.10.23 11:16 Сейчас в теме
(2)Когда условие не выполняется ничего выводить не надо
7. nomad_irk 76 24.10.23 11:42 Сейчас в теме
(4)в случае конструкции ВЫБОР КОГДА..... ТОГДА...... без указания значения ветки ИНАЧЕ будет выведено NULL.
8. user734952 24.10.23 13:19 Сейчас в теме
(7) как понять
без указания значения ветки
11. nomad_irk 76 24.10.23 14:25 Сейчас в теме
(8)Конструкция
ВЫБОР
        КОГДА <Условие>
            ТОГДА <Действие>
       .......

может иметь описание ИНАЧЕ, в котором указывается, что делать в случае когда ни одно из условий, описанных КОГДА не выполняется.
9. user734952 24.10.23 13:23 Сейчас в теме
Сейчас у меня выбирает по выбранным подразделениям сумму несмотря на то что я пробую выбрать подразделение с пустым полем в проводках ө как это все таки сделать? Мне надо получить сумму по подразделению пустому, а потом получить отношение, т.е. поделить полученную сумму на сумму подразделений выбранных
10. user734952 24.10.23 13:33 Сейчас в теме
(9)В отчет выбираются подразделения, но надо перебрать движение по счету по всем подразделения и выбрать сумму только по пустым в запросе СКД, потом эту сумму разделить на сумму выбранных подразделениях
13. nomad_irk 76 24.10.23 14:54 Сейчас в теме
(10) Под описание в (9) + (10) подходит запрос такого вида:

ВЫБРАТЬ
    ПериодМесяц,
    Организация,
    СтруктурноеПодразделение КАК Подразделение,
    ХозрасчетныйОбороты4.СуммаОборотДт КАК Сумма
ПОМЕСТИТЬ ВТРезультатАдмРасх
ИЗ
    РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовЗатратАдминистративных), , , , )
ИНДЕКСИРОВАТЬ ПО
    Подразделение
;
ВЫБРАТЬ
     ПериодМесяц КАК ПериодМесяц,
     Организация КАК Организация,
     СУММА(Сумма) КАК Сумма
ПОМЕСТИТЬ ВТПустыеПодразделения
ИЗ
     ВТРезультатАдмРасх
ГДЕ
     Подразделение = ЗНАЧЕНИЕ(Справочник.<ИмяСправочникаСПодразделениями>.ПустаяСсылка)
СГРУППИРОВАТЬ ПО
    ПериодМесяц,
    Организация
ИНДЕКСИРОВАТЬ ПО
    ПериодМесяц,
    Организация
;
ВЫБРАТЬ
     Т1.ПериодМесяц,
     Т1.Организация,
     Т1.Подразделение,
     Т1.Сумма,
     ЕСТЬNULL(Т2.Сумма, 0) КАК СуммаПустых,
     ВЫРАЗИТЬ(ЕСТЬNULL(Т2.Сумма, 0) / Т1.Сумма КАК ЧИСЛО(15, 2)) КАК ОтношениеСумм
ИЗ
     ВТРезультатАдмРасх Т1
         ЛЕВОЕ СОЕДИНЕНИЕ ВТПустыеПодразделения КАК Т2
         ПО Т1.ПериодМесяц = Т2.ПериодМесяц
              И Т1.Организация = Т2.Организация
Показать
14. user734952 24.10.23 15:04 Сейчас в теме
(13)Спасибо сейчас попробую
15. user734952 24.10.23 17:49 Сейчас в теме
(13)Почему то опять выдает суммы и подразделение которые в выборе (в настройках отчета), а по пустым вообще ничего
16. nomad_irk 76 25.10.23 05:56 Сейчас в теме
(15)Вы ж ничего не показываете, какие типы данных используются, как выглядят данные в регистре
Возможно, вместо
....
ГДЕ
     Подразделение = ЗНАЧЕНИЕ(Справочник.<ИмяСправочникаСПодразделениями>.ПустаяСсылка)
......


нужно сделать так:
......
ГДЕ
     Подразделение = ЗНАЧЕНИЕ(Справочник.<ИмяСправочникаСПодразделениями>.ГоловноеПодразделение)
.......
17. user734952 25.10.23 09:59 Сейчас в теме
(16)Проблема в том что если Подразделение выбрано в настройках отчета отбора, то условие по пустой ссылке не работает оно выбирает по выбранным подразделениям рис 1. А если делаем не заполненным параметр подразделение рис 2 то работает, но тогда не то выдает верхняя часть отчета. Мне надо чтоб верхняя часть работала по выбранным подразделениям, а последняя табличка по пустым. Подружить не получается. Делала даже через параметры не помогла та же ситуация
Прикрепленные файлы:
18. nomad_irk 76 25.10.23 10:23 Сейчас в теме
(17).....и эти подробности мы узнаем только на 17 сообщении. Прелестно.

Вам нужны 2 набора данных: с пустыми подразделениями и вашими выбранными
Далее соединяем эти наборы по Месяц и Организация и делаем вычисляемое поле вида

СуммаПусыеПодразделения / СуммаВыбранныеПодразделения
19. user734952 25.10.23 10:43 Сейчас в теме
(18) Так пробовала делать, но там где в наборе я даже не выбираю подразделение т.е. делаю так
ВЫБРАТЬ
	ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
	ХозрасчетныйОбороты4.Организация КАК Организация4,
	ХозрасчетныйОбороты4.СуммаОборотДт КАК СуммаОборотДт4 	
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
	РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовАдминистративныеРасходы), , , , ) КАК ХозрасчетныйОбороты4
Сгруппировать ПО
	ХозрасчетныйОбороты4.ПериодМесяц,
	ХозрасчетныйОбороты4.Организация,
	ХозрасчетныйОбороты4.СуммаОборотДт;  
Показать

Сумма берется не по всей организации, а почему то по выбранным подразделения и это еще не соединяя с другим набором. А почему я так делала потому что получилось по другому массиву счетов (Запасы), ну думала что такой фокус и по другим массивам счетов сработает а вот нет
20. nomad_irk 76 25.10.23 10:47 Сейчас в теме
(19) Запрос у вас получает данные по всем подразделениям, в том числе и по пустым, отбор у вас добавлен уже в структуре вывода, поэтому вы видите результат только по выбранным.
22. user734952 25.10.23 10:53 Сейчас в теме
23. nomad_irk 76 25.10.23 11:04 Сейчас в теме
(22)у вас отбор по подразделению осуществляется в момент вывода, а не в момент получения данных, поэтому в таблице с пустыми подразделениями нет циферок, т.к. они не попадают в условия отбора.

для того, чтобы отбор работал на стадии получения данных, необходимо использовать параметры запроса
что-то вроде:
ВЫБРАТЬ
    ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
    ХозрасчетныйОбороты4.Организация КАК Организация4,
    ХозрасчетныйОбороты4.СтруктурноеПодразделение КАК Подразделение4,
    ХозрасчетныйОбороты4.СуммаОборотДт КАК СуммаОборотДт4     
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
    РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовАдминистративныеРасходы), , СтруктурноеПодразделение В ИЕРАРХИИ (&Подразделение), , ) КАК ХозрасчетныйОбороты4


И, соответственно, сделать еще один набор данных, по пустым подразделениям:
ВЫБРАТЬ
    ХозрасчетныйОбороты5.ПериодМесяц КАК ПериодМесяц5,
    ХозрасчетныйОбороты5.Организация КАК Организация5,
    ХозрасчетныйОбороты5.СуммаОборотДт КАК СуммаОборотДт5
ПОМЕСТИТЬ РезультатАдмРасхПустыеПодразделения
ИЗ
    РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовАдминистративныеРасходы), , СтруктурноеПодразделение = ЗНАЧЕНИЕ(Справочник.<ИмяСправочникаСПодразделениями>.ПустаяСсылка), , ) КАК ХозрасчетныйОбороты5
24. user734952 25.10.23 11:21 Сейчас в теме
(23)Так делала вот результат
Прикрепленные файлы:
25. user734952 25.10.23 11:22 Сейчас в теме
(24)Суммы вообще никакой нет
12. user734952 24.10.23 14:42 Сейчас в теме
Что то все по нулям выдал, посмотрите правильно ли:
	ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
	ХозрасчетныйОбороты4.Организация КАК Организация4,
	ВЫБОР
		КОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
			ТОГДА "Головное подразделение"
			Иначе NULL
	КОНЕЦ КАК СтруктурноеПодразделение4, 
	ВЫБОР
		КОГДА ХозрасчетныйОбороты4.СтруктурноеПодразделение = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
	        ТОГДА ХозрасчетныйОбороты4.СуммаОборотДт 
			Иначе NULL
	КОНЕЦ КАК СуммаАдминРасхОрг
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
	РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовЗатратАдминистративных), , , , ) КАК ХозрасчетныйОбороты4
Сгруппировать ПО
	ХозрасчетныйОбороты4.ПериодМесяц,
	ХозрасчетныйОбороты4.Организация,
	ХозрасчетныйОбороты4.СтруктурноеПодразделение,
	ХозрасчетныйОбороты4.СуммаОборотДт;  
Показать
21. user734952 25.10.23 10:52 Сейчас в теме
Вот результат
Прикрепленные файлы:
26. user734952 25.10.23 13:25 Сейчас в теме
Все получилось, лишний раз убеждаюсь что почему то, что- то остается от старого в скд в конфигурации. Решила все заново создать на чистую и все заработало вот по такому простенькому коду
ВЫБРАТЬ
	ХозрасчетныйОбороты4.ПериодМесяц КАК ПериодМесяц4,
	ХозрасчетныйОбороты4.Организация КАК Организация4,
	ХозрасчетныйОбороты4.СуммаОборотДт КАК СуммаОборотДт4 	
ПОМЕСТИТЬ РезультатАдмРасх
ИЗ
	РегистрБухгалтерии.Типовой.Обороты(, , Авто, Счет В ИЕРАРХИИ (&МассивСчетовАдминистративныеРасходы), , , , ) КАК ХозрасчетныйОбороты4
ГДЕ
     ХозрасчетныйОбороты4.СтруктурноеПодразделение  = ЗНАЧЕНИЕ(Справочник.ПодразделенияОрганизаций.ПустаяСсылка)
Сгруппировать ПО
	ХозрасчетныйОбороты4.ПериодМесяц,
	ХозрасчетныйОбороты4.Организация,
	ХозрасчетныйОбороты4.СуммаОборотДт;  
////////////////////////////////////////////////////////////­////////////////////
//--------------------------------------------------------------------------	 
ВЫБРАТЬ
	РезультатАдмРасх.ПериодМесяц4,
	РезультатАдмРасх.Организация4,
	РезультатАдмРасх.СуммаОборотДт4
ИЗ
	РезультатАдмРасх КАК РезультатАдмРасх
//--------------------------------------------------------------------------

Показать

Сумму теперь получила теперь буду далее наслаивать. Всем огромное спасибо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот