Конец дня в СКД

1. swannm 24.09.20 21:03 Сейчас в теме
Добрый день! Как в СКД при выборе дата конца задать конец дня? Пробовала

КонецПериода(&Период, "День") так, не помогает.
По теме из базы знаний
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
3. Fox-trot 157 24.09.20 21:12 Сейчас в теме
(1) имхо надо не при выборе, а в тексте запроса указывать конец периода и кавычки лишние удалить
18. papami 55 25.09.20 19:47 Сейчас в теме
(1)
Заведите другие параметры, если хотите использовать Выражение для вычисления значения. Иными словами, не используйте стандартные названия НачалоПериода и КонецПериода, которые появляются автоматически когда вы добавляете виртуальные таблицы. Это же касается и параметра Период.
21. papami 55 29.09.20 11:11 Сейчас в теме
2. BackinSoda 24.09.20 21:07 Сейчас в теме
(1) по идее так и помогает.. или программно задаётся. Приложите скриншот с закладки "Параметры"
"Период" - это стандартный период ? Может тогда КонецПериода(&Период.ДатаОкончания, "День")
user712426; Jimbo; +2 Ответить
4. swannm 24.09.20 21:13 Сейчас в теме
(2) да, стандартный период
5. Fox-trot 157 24.09.20 21:35 Сейчас в теме
(4) тогда конецпериода() не нужен
6. swannm 24.09.20 21:35 Сейчас в теме
(2)
Прикрепленные файлы:
7. Fox-trot 157 24.09.20 21:40 Сейчас в теме
(6) достаточно &СтандартныйПериод.ДатаОкончания
а в самом запросе чтонить типа &КонецПериода {(&КонецПериода)}
8. BackinSoda 24.09.20 22:13 Сейчас в теме
(6) да вроде так, а в запросе в параметрах в фигурных скобках указали {&КонецПериода} ?
9. MuxaH 25.09.20 06:44 Сейчас в теме
Как уже сообщили, достаточно &СтандартныйПериод.ДатаОкончания. В чём выражается "не помогает"?
10. swannm 25.09.20 10:31 Сейчас в теме
(9) тем, что отчет сртоится на начало дня
11. MuxaH 25.09.20 10:33 Сейчас в теме
(10) Тогда зависит от того как написан отчёт.
13. -AI- 25.09.20 10:55 Сейчас в теме
(10)
тем, что отчет сртоится на начало дня


если решать проблему "в лоб", то надо использовать другую функцию:
ДОБАВИТЬКДАТЕ(<Исходная дата>, СЕКУНДА | МИНУТА | ЧАС | ДЕНЬ | НЕДЕЛЯ | МЕСЯЦ | КВАРТАЛ | ГОД | ДЕКАДА | ПОЛУГОДИЕ, <Величина увеличения>)
т.е. добавить 1 день, и будет на начало дня.
14. toypaul 63 25.09.20 16:57 Сейчас в теме
(10) выводим в отчете значение этого параметра в группировке и смотрим какое там настоящее значение

по одной только картинке параметров не понять в чем проблема. текст запроса хорошо бы посмотреть. по всем показаниями должно работать
16. swannm 25.09.20 18:00 Сейчас в теме
(14)
ВЫБРАТЬ
	ВложенныйЗапрос.СебестоимостьСНДС,
	ВложенныйЗапрос.СебестоимостьСНДСДляЕдиницы,
	ВложенныйЗапрос.КоличествоОстаток,
	ВложенныйЗапрос.Номенклатура,
	ВложенныйЗапрос.Контрагент,
	ВложенныйЗапрос.Артикул,
	ВложенныйЗапрос.ОсновнойЕдиницаИзмерения,
	ВложенныйЗапрос.Склад
ИЗ
	(ВЫБРАТЬ
		КомисионныеОстатки.Номенклатура КАК Номенклатура,
		КомисионныеОстатки.Партия КАК Партия,
		КомисионныеОстатки.КоличествоОстаток КАК КоличествоОстаток,
		КомисионныеОстатки.СуммаОстаток КАК СуммаОстаток,
		КомисионныеОстатки.СуммаНДСОстаток КАК СуммаНДСОстаток,
		КомисионныеОстатки.Контрагент КАК Контрагент,
		КомисионныеОстатки.СебестоимостьСНДС КАК СебестоимостьСНДС,
		КомисионныеОстатки.СебестоимостьСНДСДляЕдиницы КАК СебестоимостьСНДСДляЕдиницы,
		КомисионныеОстатки.Склад КАК Склад,
		Артикулы.Штрихкод КАК Артикул,
		ЕдиницыИзмерений.ОсновнойЕдиницаИзмерения КАК ОсновнойЕдиницаИзмерения
	ИЗ
		(ВЫБРАТЬ
			Ostatki.Номенклатура КАК Номенклатура,
			Ostatki.Партия КАК Партия,
			Ostatki.КоличествоОстаток КАК КоличествоОстаток,
			Ostatki.СуммаОстаток КАК СуммаОстаток,
			Ostatki.СуммаНДСОстаток КАК СуммаНДСОстаток,
			Kontr.Ссылка КАК Контрагент,
			ЕСТЬNULL(Ostatki.СуммаОстаток, 0) + ЕСТЬNULL(Ostatki.СуммаНДСОстаток, 0) КАК СебестоимостьСНДС,
			ВЫБОР
				КОГДА ЕСТЬNULL(Ostatki.КоличествоОстаток, 0) > 0
					ТОГДА (ЕСТЬNULL(Ostatki.СуммаОстаток, 0) + ЕСТЬNULL(Ostatki.СуммаНДСОстаток, 0)) / ЕСТЬNULL(Ostatki.КоличествоОстаток, 0)
				ИНАЧЕ 0
			КОНЕЦ КАК СебестоимостьСНДСДляЕдиницы,
			Ostatki.Склад КАК Склад
		ИЗ
			(ВЫБРАТЬ
				ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.СуммаОстаток, 0) КАК Поле1,
				ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.ТоварНаСуммуОстаток, 0) КАК Поле2,
				ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.УслугаНаСуммаОстаток, 0) КАК Поле3,
				ЕСТЬNULL(ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.СуммаОстаток, 0) + ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.ТоварНаСуммуОстаток, 0) + ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.УслугаНаСуммаОстаток, 0), 0) КАК Долг,
				ВЫБОР
					КОГДА ЕСТЬNULL(ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.СуммаОстаток, 0) + ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.ТоварНаСуммуОстаток, 0) + ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.УслугаНаСуммаОстаток, 0), 0) = 0
						ТОГДА """"
					ИНАЧЕ -ЕСТЬNULL(ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.СуммаОстаток, 0) + ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.ТоварНаСуммуОстаток, 0) + ЕСТЬNULL(РасчетыС_КонтрагентамиОстатки.УслугаНаСуммаОстаток, 0), 0)
				КОНЕЦ КАК да,
				Контрагенты.Ссылка КАК Ссылка
			ИЗ
				Справочник.Контрагенты КАК Контрагенты
					ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыС_Контрагентами.Остатки(, ) КАК РасчетыС_КонтрагентамиОстатки
					ПО Контрагенты.Ссылка = РасчетыС_КонтрагентамиОстатки.Контрагент) КАК Kontr
				ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
					УчетКомиссионныхТоваровОстатки.Номенклатура КАК Номенклатура,
					УчетКомиссионныхТоваровОстатки.Контрагент КАК Контрагент,
					УчетКомиссионныхТоваровОстатки.Партия КАК Партия,
					ЕСТЬNULL(УчетКомиссионныхТоваровОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
					ЕСТЬNULL(УчетКомиссионныхТоваровОстатки.СуммаОстаток, 0) КАК СуммаОстаток,
					ЕСТЬNULL(УчетКомиссионныхТоваровОстатки.СуммаНДСОстаток, 0) КАК СуммаНДСОстаток,
					УчетКомиссионныхТоваровОстатки.Склад КАК Склад
				ИЗ
					РегистрНакопления.УчетКомиссионныхТоваров.Остатки(, ) КАК УчетКомиссионныхТоваровОстатки) КАК Ostatki
				ПО Kontr.Ссылка = Ostatki.Контрагент
		ГДЕ
			(Kontr.Долг <> 0
					ИЛИ Ostatki.КоличествоОстаток <> 0)) КАК КомисионныеОстатки
			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
				ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
				ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура,
				ШтрихкодыНоменклатуры.Основной КАК Основной
			ИЗ
				РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
			ГДЕ
				ШтрихкодыНоменклатуры.Основной = ИСТИНА) КАК Артикулы
			ПО КомисионныеОстатки.Номенклатура = Артикулы.Номенклатура
			ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
				НоменклатурыЕдиницыИзмеренийНумеклатуры.Ссылка КАК Ссылка,
				МАКСИМУМ(НоменклатурыЕдиницыИзмеренийНумеклатуры.ЕдиницаИзмерения.Наименование) КАК ЕдиницаИзмерения,
				МАКСИМУМ(ВЫБОР
						КОГДА НоменклатурыЕдиницыИзмеренийНумеклатуры.Основная
							ТОГДА НоменклатурыЕдиницыИзмеренийНумеклатуры.ЕдиницаИзмерения.Наименование
						ИНАЧЕ NULL
					КОНЕЦ) КАК ОсновнойЕдиницаИзмерения
			ИЗ
				Справочник.Номенклатуры.ЕдиницыИзмеренийНумеклатуры КАК НоменклатурыЕдиницыИзмеренийНумеклатуры
			ГДЕ
				НоменклатурыЕдиницыИзмеренийНумеклатуры.Коэффициент = 1
			
			СГРУППИРОВАТЬ ПО
				НоменклатурыЕдиницыИзмеренийНумеклатуры.Ссылка) КАК ЕдиницыИзмерений
			ПО КомисионныеОстатки.Номенклатура = ЕдиницыИзмерений.Ссылка) КАК ВложенныйЗапрос
Показать
17. toypaul 63 25.09.20 18:09 Сейчас в теме
(16) что-то у вас показания не сходятся. если в запросе только таблицы остатков (может я ослеп?), то в параметрах должен быть один параметр &Период. у вас же их два - начало и конец, что свойственно таблицам ОстаткиИОбороты или Обороты, которых я в запросе не вижу
19. swannm 25.09.20 20:33 Сейчас в теме
(17) да, инвиняюсь, перепутала запросы. Вот запрос моего отчета
ВЫБРАТЬ
	ЗаказыОстаткиИОбороты.Склад КАК Склад,
	ЗаказыОстаткиИОбороты.Товар КАК Номенклатура,
	ЗаказыОстаткиИОбороты.Покупатель КАК Покупатель,
	ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК КолСкладаНачОстаток,
	ЕСТЬNULL(ЗаказыОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК КолЗаказаНачОстаток,
	ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.СуммаСебестоимостиНачальныйОстаток, 0) КАК СуммаСкладаНачОстаток,
	ВЫБОР
		КОГДА ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) <> 0
			ТОГДА ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.СуммаСебестоимостиНачальныйОстаток, 0) / ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0)
		ИНАЧЕ 0
	КОНЕЦ КАК СебЕдиницыНачОстаток,
	ЕСТЬNULL(ЗаказыОстаткиИОбороты.СуммаНачальныйОстаток, 0) КАК СуммаЗаказаНачОстаток,
	ЗаказыОстаткиИОбороты.КоличествоОборот,
	ЗаказыОстаткиИОбороты.СуммаОборот,
	ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток, 0) - ЕСТЬNULL(ЗаказыОстаткиИОбороты.КоличествоНачальныйОстаток, 0) КАК НачСвободныйОстаток,
	ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоСкладаКонОстаток,
	ТоварыНаСкладахОстаткиИОбороты.СуммаСебестоимостиКонечныйОстаток КАК СуммаСкладаКонОстаток,
	ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0) - ЕСТЬNULL(ЗаказыОстаткиИОбороты.КоличествоКонечныйОстаток, 0) КАК КонСвободныйОстаток,
	ЗаказыОстаткиИОбороты.Товар.Артикуль КАК Артикул,
	ЗаказыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КолЗаказаКонОстаток,
	ЗаказыОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаЗаказаКонОстаток,
	ЗаказыОстаткиИОбороты.Регистратор
ИЗ
	РегистрНакопления.Заказы.ОстаткиИОбороты(, , Регистратор, , ) КАК ЗаказыОстаткиИОбороты
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , , , ) КАК ТоварыНаСкладахОстаткиИОбороты
		ПО ЗаказыОстаткиИОбороты.Товар = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
			И ЗаказыОстаткиИОбороты.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад
Показать
20. papami 55 25.09.20 21:26 Сейчас в теме
(19)
РегистрНакопления.Заказы.ОстаткиИОбороты(, , Регистратор, , )


Я там выше отписал.
РегистрНакопления.Заказы.ОстаткиИОбороты(&НАЧ, &КОН, Регистратор, , )

И уже НАЧ КОН вычисляете через конец периода и как угодно.
Стандартные параметры не дает вычислять
15. toypaul 63 25.09.20 17:01 Сейчас в теме
(10) если в отчете значение параметра равно концу дня, то "отчет сртоится на начало дня " это только так кажется. если начало дня, то надо разбираться дальше.
12. herfis 498 25.09.20 10:42 Сейчас в теме
(10) Проверьте состав даты в настройке типа параметров. Может у вас там "Дата" а не "Дата и время".
22. talker 31.03.22 08:46 Сейчас в теме
Некропост.

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


Срез последних всегда дает результат среза на &Период. Если установить тип параметра &Период как Дата -время, то все равно не дает на
КОНЕЦПЕРИОДА(&Период,ДЕНЬ) , с только на &Период.
Если, например, установить параметр &Период = 01.02.2022 01:00:00
Причем первое поле(для теста) дает верный результат, т. е. КонецДня = 01.02.2022 23:59:59, а срез идет на 01.02.2022 01:00:00.
Периодичность регистра - по позиции регистратора.
Через доп. параметр КонецДня = КонецПериода(&Период,"ДЕНЬ") (Дата-время) тоже не хочет работать.
Даже вот так не работает:
...СрезПоследних(ДАТАВРЕМЯ(2022,1,31,23,59,59) ) ...

Два дня убил, в консоли запросов все работает, в СКД - вот так.


Конфигурация ЗУП 3.1.21.36 Платформа 8.3.18.1334
23. talker 31.03.22 08:51 Сейчас в теме
(22)
ДОБАВИТЬКДАТЕ тоже не работает...(((
24. talker 31.03.22 09:02 Сейчас в теме
(23)
Так работает

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


Показать
Оставьте свое сообщение

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