Вход | Регистрация

1С:Предприятие ::

Метки:

Период по условию в запросе СКД

Я
   ZAKZAK
 
19.06.17 - 15:41
Есть отчет на СКД, источником данных является следующий запрос:

 ВЫБРАТЬ РАЗРЕШЕННЫЕ* ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты({&НачалоПериода} ,{&КонецПериода} ,Авто) КАК ИсточникДанных


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

Если добавить "выбор" то ругается на неверный параметр у ВТ остатки и обороты.


ВЫБРАТЬ РАЗРЕШЕННЫЕ *
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты({Выбор Когда ДеньНедели(&НачалоПериода) = 7 Тогда ДобавитьКДате(&НачалоПериода, День, -2) Иначе &НачалоПериода Конец}, {Выбор Когда ДеньНедели(&КонецПериода) = 7 Тогда ДобавитьКДате(&КонецПериода, День, -2) Иначе &КонецПериода Конец}, Авто, ДвиженияИГраницыПериода, , , ) КАК ИсточникДанных


С с не ВТ таблицами решается простым условиям "ГДЕ" а как быть в этой ситуации?
_________
Спасибо!
 
 
   ZAKZAK
 
1 - 19.06.17 - 15:42
дублирую второй запрос с подсветкой синтаксиса:





ВЫБРАТЬ РАЗРЕШЕННЫЕ *
ИЗ РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты({(Выбор Когда ДеньНедели(&НачалоПериода) = 7 Тогда ДобавитьКДате(&НачалоПериода, День, -2) Иначе &НачалоПериода Конец)}, {(Выбор Когда ДеньНедели(&КонецПериода) = 7 Тогда ДобавитьКДате(&КонецПериода, День, -2) Иначе &КонецПериода Конец)}, Авто, ДвиженияИГраницыПериода, , , ) КАК ИсточникДанных
   ZAKZAK
 
2 - 19.06.17 - 15:43
(1) а он всё равно не светится..
   HEKPOH
 
3 - 19.06.17 - 15:50
оставить простые параметры в запросе. а в Запрос.УстановитьПараметр(... подсовываать вычисленную дату
   ZAKZAK
 
4 - 19.06.17 - 15:52
(3) Отчет в виде настройки для универсального отчета. Такое вмешательство не предусмотрено
   ZAKZAK
 
5 - 19.06.17 - 15:53
Вот пример рабочего запроса для СКД



ВЫБРАТЬ РАЗРЕШЕННЫЕ *
ИЗ
    РегистрНакопления.КакойТоРегистор КАК ИсточникДанных
{ГДЕ
    (ИсточникДанных.Период >= Выбор Когда ДеньНедели(&НачалоПериода) = 7 Тогда ДобавитьКДате(&НачалоПериода, День, -2) Иначе &НачалоПериода Конец),
    (ИсточникДанных.Период <= Выбор Когда ДеньНедели(&КонецПериода) = 7 Тогда ДобавитьКДате(&КонецПериода, День, -2) Иначе &КонецПериода Конец)}
   HEKPOH
 
6 - 19.06.17 - 15:55
(4) ну, не знаю))) В СКД на закладке Параметры выражение с ВЫБОР КОГДА скушается на "ура"
   ZAKZAK
 
7 - 19.06.17 - 15:56
(5) Но дело в том что у ВТ Остатки и обороты нету поля период. и условием "ГДЕ" отобрать нельзя..

В этом и вопрос, как поставить условие в запросе для ВТ
   HEKPOH
 
8 - 19.06.17 - 16:00
(7)
1. У нас есть "НачалоПериода" и "КонецПериода"
2. Если не получается сделать такой хитрый параметр, нужно искать другие пути (один из которых я и предложил)
   ZAKZAK
 
9 - 19.06.17 - 16:06
(8) я уже попробовал ваш вариант, добавить условие в выражение, при добавлении предупредил что поле "День" не найдено.
Результат - ошибка в выражении
   HEKPOH
 
10 - 19.06.17 - 16:09
(9) У СКД свой язык выражений. Он отличается от языка запросов 1С
 
  Рекламное место пустует
   HEKPOH
 
11 - 19.06.17 - 16:11
Выбор Когда ДеньНедели(ТекущаяДата()) = 7 Тогда ДобавитьКДате(ТекущаяДата(), "День", -2) Иначе ТекущаяДата() Конец
   ZAKZAK
 
12 - 19.06.17 - 16:16
(11) Спасибо, сейчас проверю!
Не подскажите где можно посмотреть полный синтаксис?
   Лефмихалыч
 
13 - 19.06.17 - 16:20
Нахера это всё?
Просто в коде формирования отчета перед отправкой воткнуть установку параметров в соответствии с производстевнным календарем. Не ломая запрос.
   Лефмихалыч
 
14 - 19.06.17 - 16:20
а потм выяснится, что после праздников надо,чтобы за последний рабочий день формировалось и чо делать? Еще гвозди в запрос забивать?
   HEKPOH
 
15 - 20.06.17 - 08:48
+(13) либо параметр вычислять в функции общего модуля. Так даже красивее будет, имхо


Список тем форума
Рекламное место пустует  
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует