Имя: Пароль:
1C
1С v8
0 вместо NULL в запросе
0 Масянька
 
27.12.23
11:41
День добрый!
Как в запросе:

ВЫБРАТЬ
	(РАЗНОСТЬДАТ(КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо.ДатаРождения, &НачалоГода, ГОД) - 1) КАК Возраст,
	СУММА(1) КАК КолВо
ПОМЕСТИТЬ ВТРаботающие
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&НачалоГода, ) КАК КадроваяИсторияСотрудниковСрезПоследних
ГДЕ
	КадроваяИсторияСотрудниковСрезПоследних.ВидСобытия <> &ВидСобытия

СГРУППИРОВАТЬ ПО
	РАЗНОСТЬДАТ(КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо.ДатаРождения, &НачалоГода, ГОД) - 1
;

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

СГРУППИРОВАТЬ ПО
	РАЗНОСТЬДАТ(КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо.ДатаРождения, &ДатаСреза, ГОД) - 1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ВТРаботающие.Возраст КАК Возраст,
	ВТРаботающие.КолВо КАК Работающие,
	ВТУволенные.КолВо КАК Уволенные
ИЗ
	ВТРаботающие КАК ВТРаботающие
		ЛЕВОЕ СОЕДИНЕНИЕ ВТУволенные КАК ВТУволенные
		ПО (ВТРаботающие.Возраст = ВТУволенные.Возраст)

УПОРЯДОЧИТЬ ПО
	Возраст


вывести "0" вместо "NULL"?
Спасибо.
1 Волшебник
 
27.12.23
11:40
ЕСТЬNULL(поле, 0)
2 Волшебник
 
27.12.23
11:41
верните Масяньку
3 Масянька
 
27.12.23
11:43
(1) ВЫБРАТЬ
    ВТРаботающие.Возраст КАК Возраст,
    ВТРаботающие.КолВо КАК Работающие,
    ЕСТЬNULL(ВТУволенные.КолВо, 0) КАК Уволенные
ИЗ
    ВТРаботающие КАК ВТРаботающие
        ЛЕВОЕ СОЕДИНЕНИЕ ВТУволенные КАК ВТУволенные
        ПО (ВТРаботающие.Возраст = ВТУволенные.Возраст)

УПОРЯДОЧИТЬ ПО
    Возраст
выводит (в консоли) - https://postimg.cc/DSDsHdbX
4 Fedor-1971
 
27.12.23
11:43
(0) а словами, чего хотела получить?
5 Масянька
 
27.12.23
11:44
+ (3) В отчете СКД тоже самое.
6 Масянька
 
27.12.23
11:44
(4) Кол-во работников. Если нет уволенных = 0.
7 Буковка
 
27.12.23
11:45
(3) Условное оформление
поставь там представление ноля (ЧН=0)
8 Масянька
 
27.12.23
11:46
(7) Где?
9 Буковка
 
27.12.23
11:49
10 Масянька
 
27.12.23
11:51
(9) А где в СКД конструктор?
11 Fedor-1971
 
27.12.23
11:52
Не напрягай машину, дай ей отдохнуть перед новым годом
ВЫБРАТЬ
    (РАЗНОСТЬДАТ(КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо.ДатаРождения, &НачалоГода, ГОД) - 1) КАК Возраст,
    1 КАК КолВоРаботают,
    0 КАК КолВоУволены

ПОМЕСТИТЬ втОбщая
ИЗ
    РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&НачалоГода, ) КАК КадроваяИсторияСотрудниковСрезПоследних
ГДЕ
    КадроваяИсторияСотрудниковСрезПоследних.ВидСобытия <> &ВидСобытия

Объединить все

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    втОбщая.Возраст КАК Возраст,
    Сумма(втОбщая.КолВоРаботают) КАК Работающие,
    Сумма(втОбщая.КолВоУволены) КАК Уволенные
ИЗ
    втОбщая КАК втОбщая
сгруппировать по втОбщая.Возраст
УПОРЯДОЧИТЬ ПО
    Возраст
12 Fedor-1971
 
27.12.23
11:54
(8) в описании полей СКД: найди своё поле и поставь оформление оному
13 Масянька
 
27.12.23
12:02
(11) ВЫБРАТЬ
    РАЗНОСТЬДАТ(КадроваяИсторияСотрудниковСрезПоследних.ФизическоеЛицо.ДатаРождения, НАЧАЛОПЕРИОДА(&НачалоГода, ГОД), ГОД) - 1 КАК Возраст,
    0 КАК КолВоУволенных,
    1 КАК КолВоРаботающих
ПОМЕСТИТЬ ВТОбщая
ИЗ
    РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(НАЧАЛОПЕРИОДА(&НачалоГода, ГОД), ) КАК КадроваяИсторияСотрудниковСрезПоследних
ГДЕ
    КадроваяИсторияСотрудниковСрезПоследних.ВидСобытия <> &ВидСобытияРабота

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТОбщая.Возраст КАК Возраст,
    СУММА(ВТОбщая.КолВоРаботающих) КАК Работающие,
    СУММА(ВТОбщая.КолВоУволенных) КАК Уволенные
ИЗ
    ВТОбщая КАК ВТОбщая

СГРУППИРОВАТЬ ПО
    ВТОбщая.Возраст

УПОРЯДОЧИТЬ ПО
    Возраст
В консоли пустая колонка с уволенными.
14 Масянька
 
27.12.23
12:03
(12) Непереводимая игра слов с использованием местных идиоматических выражений...
15 Масянька
 
27.12.23
12:04
(9) Спасибо!
(12) Спасибо!
Ну, и всем остальным тоже спасибо!
16 Fedor-1971
 
27.12.23
12:14
(13) Бе такой быть, параметр ВидСобытияУвольнение должен быть одинаковым в обеих частях Объединить ВСЕ

  КадроваяИсторияСотрудниковСрезПоследних.ВидСобытия <> &ВидСобытияРабота  - по логике названия параметра это уволенные

тут заданы оба параметра в консоли?
    КадроваяИсторияСотрудниковСрезПоследних.ВидСобытия = &ВидСобытияУвольнение
    И НЕ КадроваяИсторияСотрудниковСрезПоследних.Регистратор.СтатьяТКРФ В (&СтатьяТКРФ)