По теме из базы знаний
- Вывод вариантов СКД в таблицы на управляемой форме
- Динамическая расшифровка СКД (на примере отчета)
- Пример платежного календаря. СКД. Работает на любой платформе, без привязки к данным. Подробное описание действий
- Как указать время в периоде типового отчета (СтандартныйПериод, СКД) в системах класса WMS, MES, SCADA, АСУ ТП на 1С, построить отчет за период с временем?
- Модель СКД
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Заведите другие параметры, если хотите использовать Выражение для вычисления значения. Иными словами, не используйте стандартные названия НачалоПериода и КонецПериода, которые появляются автоматически когда вы добавляете виртуальные таблицы. Это же касается и параметра Период.
Заведите другие параметры, если хотите использовать Выражение для вычисления значения. Иными словами, не используйте стандартные названия НачалоПериода и КонецПериода, которые появляются автоматически когда вы добавляете виртуальные таблицы. Это же касается и параметра Период.
(10)
если решать проблему "в лоб", то надо использовать другую функцию:
ДОБАВИТЬКДАТЕ(<Исходная дата>, СЕКУНДА | МИНУТА | ЧАС | ДЕНЬ | НЕДЕЛЯ | МЕСЯЦ | КВАРТАЛ | ГОД | ДЕКАДА | ПОЛУГОДИЕ, <Величина увеличения>)
т.е. добавить 1 день, и будет на начало дня.
тем, что отчет сртоится на начало дня
если решать проблему "в лоб", то надо использовать другую функцию:
ДОБАВИТЬКДАТЕ(<Исходная дата>, СЕКУНДА | МИНУТА | ЧАС | ДЕНЬ | НЕДЕЛЯ | МЕСЯЦ | КВАРТАЛ | ГОД | ДЕКАДА | ПОЛУГОДИЕ, <Величина увеличения>)
т.е. добавить 1 день, и будет на начало дня.
(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
СГРУППИРОВАТЬ ПО
НоменклатурыЕдиницыИзмеренийНумеклатуры.Ссылка) КАК ЕдиницыИзмерений
ПО КомисионныеОстатки.Номенклатура = ЕдиницыИзмерений.Ссылка) КАК ВложенныйЗапрос
Показать
(16) что-то у вас показания не сходятся. если в запросе только таблицы остатков (может я ослеп?), то в параметрах должен быть один параметр &Период. у вас же их два - начало и конец, что свойственно таблицам ОстаткиИОбороты или Обороты, которых я в запросе не вижу
(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) КАК КонСвободныйОстаток,
ЗаказыОстаткиИОбороты.Товар.Артикуль КАК Артикул,
ЗаказыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КолЗаказаКонОстаток,
ЗаказыОстаткиИОбороты.СуммаКонечныйОстаток КАК СуммаЗаказаКонОстаток,
ЗаказыОстаткиИОбороты.Регистратор
ИЗ
РегистрНакопления.Заказы.ОстаткиИОбороты(, , Регистратор, , ) КАК ЗаказыОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , , , ) КАК ТоварыНаСкладахОстаткиИОбороты
ПО ЗаказыОстаткиИОбороты.Товар = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
И ЗаказыОстаткиИОбороты.Склад = ТоварыНаСкладахОстаткиИОбороты.Склад
Показать
Некропост.
В запросе СКД не работает конструкция вида
Срез последних всегда дает результат среза на &Период. Если установить тип параметра &Период как Дата -время, то все равно не дает на
КОНЕЦПЕРИОДА(&Период,ДЕНЬ) , с только на &Период.
Если, например, установить параметр &Период = 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
В запросе СКД не работает конструкция вида
ВЫБРАТЬ
КОНЕЦПЕРИОДА(&Период,ДЕНЬ) КАК КонецДня,
КатегорииСотрудниковСрезПоследних.Период КАК Период,
КатегорииСотрудниковСрезПоследних.Регистратор КАК Регистратор,
КатегорииСотрудниковСрезПоследних.НомерСтроки КАК НомерСтроки,
КатегорииСотрудниковСрезПоследних.Активность КАК Активность,
КатегорииСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
КатегорииСотрудниковСрезПоследних.Категория КАК Категория,
КатегорииСотрудниковСрезПоследних.СистемаОплаты КАК СистемаОплаты,
КатегорииСотрудниковСрезПоследних.ДействуетДо КАК ДействуетДо,
КатегорииСотрудниковСрезПоследних.КатегорияПоОкончании КАК КатегорияПоОкончании,
КатегорииСотрудниковСрезПоследних.СистемаОплатыПоОкончании КАК СистемаОплатыПоОкончании
ИЗ
РегистрСведений.КатегорииСотрудников.СрезПоследних(КОНЕЦПЕРИОДА(&Период,ДЕНЬ) ) КАК КатегорииСотрудниковСрезПоследних
ПоказатьСрез последних всегда дает результат среза на &Период. Если установить тип параметра &Период как Дата -время, то все равно не дает на
КОНЕЦПЕРИОДА(&Период,ДЕНЬ) , с только на &Период.
Если, например, установить параметр &Период = 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)
Так работает
Так работает
ВЫБРАТЬ
Рег.Сотрудник,
МАКСИМУМ(Рег.Период) КАК МаксДата
ПОМЕСТИТЬ втМаксДаты
ИЗ
РегистрСведений.КатегорииСотрудников КАК Рег
ГДЕ
Рег.Период <= КОНЕЦПЕРИОДА(&Период,ДЕНЬ)
СГРУППИРОВАТЬ ПО Рег.Сотрудник
;
///////////////////////////////////////////
ВЫБРАТЬ
&КонецДня КАК КонецДня,
КатегорииСотрудниковСрезПоследних.Период КАК Период,
КатегорииСотрудниковСрезПоследних.Регистратор КАК Регистратор,
КатегорииСотрудниковСрезПоследних.НомерСтроки КАК НомерСтроки,
КатегорииСотрудниковСрезПоследних.Активность КАК Активность,
КатегорииСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
КатегорииСотрудниковСрезПоследних.Категория КАК Категория,
КатегорииСотрудниковСрезПоследних.СистемаОплаты КАК СистемаОплаты,
КатегорииСотрудниковСрезПоследних.ДействуетДо КАК ДействуетДо,
КатегорииСотрудниковСрезПоследних.КатегорияПоОкончании КАК КатегорияПоОкончании,
КатегорииСотрудниковСрезПоследних.СистемаОплатыПоОкончании КАК СистемаОплатыПоОкончании
ИЗ
РегистрСведений.КатегорииСотрудников КАК умКатегорииСотрудниковСрезПоследних
ВНУТРЕННЕЕ СОЕДИНЕНИЕ втМаксДаты КАК втМаксДаты
ПО втМаксДаты.Сотрудник = КатегорииСотрудниковСрезПоследних.Сотрудник
И втМаксДаты.МаксДата = КатегорииСотрудниковСрезПоследних.Период
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот