• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

1С составление текста запроса

  • Автор темы KiR
  • Дата начала
Статус
Закрыто для дальнейших ответов.
K

KiR

может я конечно и ошибаюсь, учитывая собственные пробелы, но кажется мне что есть часть форумчан, которые как и я имеют проблемы с формированием правильного текста запроса, а посему решил создать единственную тему в которой бы обсуждались подобные проблемы. Уважаемые господа модераторы и админы, если вы со мной не согласны - тогда удаляйте эту тему.

итак моя проблема на данный момент. нужно переделать Товарный отчет в 1С7.7 ТиС 964 так чтобы данные брались по документам а не по регистру причем с возможностью выбора склада (вместо МОЛа). Склад в запросе обозначил и знаю как поставить условие, а вот как быть с фирмой, которая всегда будет выбираться?
 
K

KiR

ну есть для выборки несколько параметров - период, фирма (разделитель учета) и склад. отбираются все документы с реквизитом склад:
Код:
Склад = Документ.БыстраяПродажа.Склад, Документ.ВводОстатковТМЦ.Склад, Документ.ВозвратОтПокупателя.Склад, Документ.ВозвратПоставщику.Склад, Документ.ЗаявкаПокупателя.Склад, Документ.КомплектацияТМЦ.Склад, Документ.ОприходованиеТМЦ.Склад, Документ.ОтчетККМ.Склад, Документ.ПеремещениеТМЦ.Склад, Документ.ПереоценкаРозница.Склад, Документ.ПоступлениеТМЦ.Склад, Документ.ПоступлениеТМЦИмпорт.Склад, Документ.ПоступлениеТМЦРозница.Склад, Документ.Реализация.Склад, Документ.РеализацияПрочее.Склад, Документ.РеализацияРозница.Склад, Документ.СнятиеРезерва.Склад, Документ.СписаниеТМЦ.Склад, Документ.СтрокаАвансОтчетаТМЦ.Склад, Документ.ЧекККМ.Склад, Документ.ИнвентаризацияТМЦ.Склад;
теперь нужно поставить условие чтобы фирма равнялась ВыбФирме. условие со складом добавляется в случае если склад в форме выбран
 
T

TimeDontWait

Код:
Условие(Фирма в ВыбФирма);
это раз, а два - это в цикле выполнения запроса:

Код:
Пока Запрос.Групировка()=1
Если Склад.Выбран=1 тогда 
ТекстЗапроса = ТекстЗапроса + "Условие(Склад=ВыбСклад);
...
 
K

KiR

"Условие(Фирма в ВыбФирма);"
а чему фирма в запросе должна быть равна?
 
U

unknown181538

Фирма = Документ.БыстраяПродажа.Фирма, Документ.ВводОстатковТМЦ.Фирма, Документ.ВозвратОтПокупателя.Фирма, ...
?
 
T

TimeDontWait

А ты ее должен в запросе определить как переменную

unknown181538, опередил чуток ;)
 
K

KiR

ясно. спасибо. думал, существует более простой и оптимальный способ, ведь доки эти я уже и так отбираю
 
K

KiR

а никто не заморачивался с тем чтобы сделать Товарный Отчет (Торг-29) но в разрезе складов, а не МОЛов?
 
V

vbs

Пока Запрос.Групировка()=1
Если Склад.Выбран=1 тогда
ТекстЗапроса = ТекстЗапроса + "Условие(Склад=ВыбСклад);
Это что-то новенькое. Никогда не встречал, чтобы в процессе работы запроса изменялось его содержимое.
Может, :ya_lamo: ?
 
P

puh14

нужно переделать Товарный отчет в 1С7.7 ТиС 964 так чтобы данные брались по документам а не по регистру


Не советую - в случае валютных документов попадешь на курсовые разницы и привет.
 
T

TimeDontWait

vbs - это я ламо..(сильная нагрузка на МЦ, аудит как раз был)
Исправляюсь:
сразу же после текста запроса
Код:
Если Склад.Выбран=1 тогда 
ТекстЗапроса = ТекстЗапроса + "Условие(Склад=ВыбСклад);
...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!