1с добавитькдате неверные параметры

Неверные параметры в запросе

Вот та строчка на которой ошибка
| ДОБАВИТЬКДАТЕ(ВремТаб.СрокГ, СЕКУНДА, ВремТаб.НачИстекЛиСрок) КАК ИстекЛиСрок

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

Источник

ДобавитьКДате в запросе не работает! 1С 8.2

kgn Вопрос-ответ Отзывов (7) 1с добавитькдате неверные параметры1с добавитькдате неверные параметрыВ закладки

Помогите почему-то после ДобавитьКДате ….ДатаОплатыПоДоговору —пустая!См.ниже…..

ВЫБОР КОГДА ИсточникДанных.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности=0

ТОГДА ИсточникДанных.Регистратор.Дата
ИНАЧЕ
ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(ИсточникДанных.Регистратор.Дата КАК ДАТА), ДЕНЬ, ВЫРАЗИТЬ(ИсточникДанных.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ЧИСЛО))
КОНЕЦ КАК ДатаОплатыПоДоговору
// А вот так все проходит! (когда число 15 ставим конкретное)

ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(ИсточникДанных.Регистратор.Дата КАК ДАТА), ДЕНЬ, 15) КАК ДатаОплатыПоДоговору

1с добавитькдате неверные параметры 1с добавитькдате неверные параметры 1с добавитькдате неверные параметры 1с добавитькдате неверные параметры 1с добавитькдате неверные параметры 1с добавитькдате неверные параметры 1с добавитькдате неверные параметры 1с добавитькдате неверные параметры 1с добавитькдате неверные параметры

7 Коммент.

Что-то конкретное сказать не могу. Возможно, что функция выразить отрабатывает некорректно, поэтому попробуйте с помощью запроса вывести именно это значение.
Также есть вероятность на наличие NULL в запросе. В общем – надо копать глубже

В запросе в универсальном отчете
1 способ все хорошо (добавл 15) все работает.
|ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(ИсточникДанных.Регистратор.Дата КАК ДАТА), ДЕНЬ, 15) КАК ДатаН

4 способ (выдает ошибку Несовместимые типы “ВЫБОР” ДОБАВИТЬКДАТЕ(<> ВЫБОР ….
| ВЫБОР
| КОГДА (ИсточникДанных.Регистратор.Дата = ДАТАВРЕМЯ(1,1,1))
| ТОГДА @НачПериода
| ИНАЧЕ ИсточникДанных.Регистратор.Дата
| КОНЕЦ, ДЕНЬ, ЕСТЬNULL(ИсточникДанных.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности, 0)) КАК ДатаН

4 способ заменила @НачДата и опять пусто
| ВЫБОР
| КОГДА (ИсточникДанных.Регистратор.Дата = ДАТАВРЕМЯ(1,1,1))
| ТОГДА ДАТА(@НачПериода)
| ИНАЧЕ ИсточникДанных.Регистратор.Дата
| КОНЕЦ, ДЕНЬ, ЕСТЬNULL(ИсточникДанных.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности, 0)) КАК ДатаН

Источник

ДобавитьКДате в запросе 1С

ДобавитьКДате в запросе 1С

Функция ДобавитьКДате позволяет произвести выборку данных, за период отталкиваясь от одного значения даты на определенное количество единиц времени.

В синтаксисе языка аналог — функция ДобавитьМесяц, для остальных значений даты расчет всегда производится посекундно: Дата1 = Дата2+24*3600*7.

В запросе же добавить период к значению можно гораздо гибче используя всего одну функцию.

Синтаксис функции

Начальная дата может быть:

Не хватает только функции ТекущаяДата() в запросе

Единицы времени:

Секунда, Минута, Час, День, Неделя, Декада, Месяц,Квартал, Полугодие, Год

Сдвиг

Приводит к вычислению Сдвиг*ЕдиницаВремени

Положительное число — увеличение периода

Отрицательно — уменьшение периода

Примеры запросов

Запрос, получающий дату на месяц раньше 01.10.2016

На 3 месяца позже:

На 30 календарных дней раньше

12 часов дня

Выбрать
ДобавитьКДате(ДатаВремя(2016,10,1),Секунда,12*3600), ДобавитьКДате(ДатаВремя(2016,10,1),ЧАС,12)

Особенность ДОБАВИТЬКДАТЕ

Возможно использовать значения другой таблицы для указания сдвига

Например, если есть таблица которая содержит номера часов:

Выбрать 1 как Номер

То ее можно соединить с календарем и для каждой даты получить дату со временем, использовав вот такую конструкцию:

ДобавитьКДате(_КалендарьГрафиков.Дата,ЧАС,Часы.Номер) как ДатаСоВременем

Реклама — самая интересная и самая трудная форма современной литературы.

Источник

ДобавитьКДате в запросе 1С 8.2 в универсальном отчете

Много раз поднимался вопрос по этому поводу.Но у меня ничего не выходит.Пишу отчет на базе универсального.К Дате надо прибавить кол-во дней и получить другую дату.

ИсточникДанных.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности КАК ДопустимоеЧислоДнейЗадолженности,
ИсточникДанных.Регистратор.Дата КАК РегистраторДата,
ВЫБОР КОГДА ИсточникДанных.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности=0
ТОГДА ИсточникДанных.Регистратор.Дата
ИНАЧЕ
ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(ИсточникДанных.Регистратор.Дата КАК ДАТА),ДЕНЬ,

Зачем такие сложности с использованием ВЫБОРа :
.
ВЫБОР КОГДА ИсточникДанных.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности=0
ТОГДА ИсточникДанных.Регистратор.Дата
ИНАЧЕ
ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(ИсточникДанных.Регистратор.Дата КАК ДАТА),ДЕНЬ,

Дате надо прибавить кол-во дней и получить другую дату.

КолДней= 3;
КолДнейДобавить = КолДней*24*60*60;
Сообщить(ТекущаяДата()+КолДнейДобавить);

Ну вот как то так можете попробовать у меня работает.
Количество дней можно из запроса взять ил на форме вводить на что фантазии хватит ))

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

ВЫБОР
| КОГДА (ИсточникДанных.Регистратор.Дата = ДАТАВРЕМЯ(1,1,1))
| ТОГДА ДАТА(@НачПериода)
| ИНАЧЕ ИсточникДанных.Регистратор.Дата
| КОНЕЦ, ДЕНЬ, ЕСТЬNULL(ИсточникДанных.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности, 0)) КАК ДатаН
(17) Caspers,

(24) kgn2011, так и не понял что Вы хотите получить?
Вам надо запрос на «дата + х» или Вам нужен результат где дата заменена на «дата + х»?

В первом случае Вы хотите вытащить часть данных на «дата», а часть на «дата + х», во втором Вы получаете данные на «дата» но в отчете отображаете «дата+х».

Вам первый или второй вариант?

В запросе в универсальном отчете
1 способ все хорошо (добавл 15) все работает.
|ДОБАВИТЬКДАТЕ(ВЫРАЗИТЬ(ИсточникДанных.Регистратор.Дата КАК ДАТА), ДЕНЬ, 15 ) КАК ДатаН

где @НачПериода это в Универсальном отчете в диалоге поле ввода где задаем диапазон НачПериода и КонПериода

Источник

СКД меняет текст запроса

Всем привет. Делаю отчет, который берет данные из регистра продаж. Запрос сделал, проверил в косоли запросов, данные выводятся корректно.
Вот сам текст запроса.

ИНДЕКСИРОВАТЬ ПО
Контрагент
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_ИтоговыеДанные.ГоловнойКонтрагент КАК ГоловнойКонтрагент,
ВТ_ИтоговыеДанные.ТМ КАК ТМ,
ВТ_ИтоговыеДанные.Период,
СУММА(ВТ_ИтоговыеДанные.КоличествоОборот) КАК КоличествоОборот,
СУММА(ВТ_ИтоговыеДанные.СтоимостьОборот) КАК СтоимостьОборот,
ВТ_ИтоговыеДанные.НовыйСтарыйКонтрагент,
ВТ_ИтоговыеДанные.Дивизион,
ВТ_ИтоговыеДанные.Регион
ИЗ
ВТ_ИтоговыеДанные КАК ВТ_ИтоговыеДанные
<ГДЕ
(ВТ_ИтоговыеДанные.Дивизион = &Дивизон) КАК Поле2>

СГРУППИРОВАТЬ ПО
ВТ_ИтоговыеДанные.ГоловнойКонтрагент,
ВТ_ИтоговыеДанные.ТМ,
ВТ_ИтоговыеДанные.Период,
ВТ_ИтоговыеДанные.НовыйСтарыйКонтрагент,
ВТ_ИтоговыеДанные.Дивизион,
ВТ_ИтоговыеДанные.Регион
[1C]

В СКД каверкаются параметры в первой временной таблице.

ИНДЕКСИРОВАТЬ ПО
Контрагент
;

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

ОБЪЕДИНИТЬ ВСЕ
. [1C]

Она подставляет туда те же параметры, что и во вторую, а это неверно, т.к. в первой параметры рассчетные. Соответственно данные выводятся в отчете неверно.
Что делать в этой ситуации кто-нибудь знает?
Отчет в СКД получил через консоль отчетов.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *