v7: Прямой запрос #723800


#0 by Масянька
День добрый! Наваяла простенький прямой запрос: Почему ТипЗначенияСтр(ТабЗнач) возвращает число?
#1 by Масянька
Ногами не ПИНАТЬ! Я только взялась за эти запросы...
#2 by Greeen
Так же вроде Запрос.ВыполнитьИнструкцию(ТекстЗапроса,ТабЗнач,1); А ВыполнитьИнструкцию - возвращает 1 если выполнилась,  или 0 если не ок
#3 by Ёпрст
очень забавный запрос
#4 by Ёпрст
Странно, вообще то должен матом ругаться, а тут даже что-то возвратил еще.
#5 by Serginio1
Зависит от запроса Возвращает: тип: ТаблицаЗначений, СписокЗначений, ИндексированнаяТаблица или наследник от любого из них, Число. Объект с результатом запроса, или число - количество обработанных строк. Описание: Выполняет SQL запрос, при ошибке парсинга или при ошибке на ODBC драйвере формируется исключение. Если запрос возвращает набор строк, метод возвращает объект с результатом запроса, если запрос не возвращает набор строк (не select, а DML или прочий) - возвращается количество обработанных строк. Если запрос содержит несколько SQL инструкций (multistatement batch), результаты возвращаются только от первой инструкции. Однако, на драйвер уходит весь текст запроса (По спецификации ODBC, будут ли выполнены остальные инструкции в пакете - зависит от драйвера. Для драйвера SQL Server они выполняются), остальные результаты игнорируются. Если запрос возвращает набор данных, и в наборе данных нет ни одной строки - это не является ошибкой. Если запрос не параметризированный - метод гарантированно закрывает курсор. Если передан ОбъектРезультатов типа ТаблицаЗначений или ИндексированнаяТаблица или наследник и параметр Очишать = 0, то колонки объекта и поля результата совмещаются по порядку. Если передан ОбъектРезультатов типа СписокЗначений, то значения из первого поля результата помещаются в значения списка. Если существует второе поле результата и оно типа Строка, то значения этого поля помещается в представление списка. Если существует третье поле результата и оно типа Число, то значения этого поля помещается в признак пометки значений.
#6 by Масянька
Просила - НОГАМИ НЕ ПИНАТЬ! Нужно для заданной номенклатуры вернуть последний док-т прихода. Попробую. Почему - ругаться?
#7 by Ёпрст
потому, что х.ня написана :) $Регистр.ПартииНаличие(бляблабла) - это что вообще ?!
#8 by Масянька
Во... Возвращает таблицу... Но - пустую...
#9 by Serginio1
Восрользуйся
#10 by Ёпрст
ну и на ночь
#11 by Масянька
Есть отчет, который выводит - номенклатуру (код, наименование и т. д.), остаток, себестоимость. Вперилось увидеть последний приход.
#12 by Serginio1
Я так понимаю должен быть РегистрОбороты а не Регистр
#13 by Ёпрст
читааааааай! Потом пробуй... и , консоль запросов пользуй. Можешь о конструктор использовать, если ручонками тяжко писать
#14 by Масянька
Я вижу (в окне сообщений) свою таблицу - RA328 (движения это).
#15 by Масянька
Ту, которую на ночь - уже полдня читаю... PS Ты чего злой такой сёдня?
#16 by Ёпрст
плохо читаешь. где ты про конструкцию в прочитала ? :)
#17 by Ёпрст
ну и , даже если это будет виртуальная табличка оборотов - один хрен, неправильная установка параметров виртуальной таблички
#18 by Ёпрст
+ не верная типизация в селект листе - будет ругаться - не найдено доп. типизирующего поля
#19 by Масянька
Тут - Глава 4.
#20 by Масянька
Мне даже обороты не нужны. Говорю же, нужен последний док-т прихода для заданной номенклатуры.
#21 by КонецЦикла
Почитай про виртуальные таблицы... А иначе убери поипень всю что в скобках, если просто нужно отобрать движения регистра
#22 by Ёпрст
ну, я и грю- со чтением у тебя проблемы. Там НИГДЕ нет кода как в .. ибо всего 3 ВТ реализованы в 1cpp, запоминай: РегистрОстатки РегистрОбороты РегистрОстаткиОбороты
#23 by Ёпрст
ну и смотри на
#24 by Масянька
Блин! Вы ваще хотите, чтобы я билась в истерике?! У меня такая каша в голове... Дай пример. Пожалуйста.
#25 by Serginio1
Вот конструктор запросов
#26 by Ёпрст
:) в общем, читать-читать и еще раз читать.. как там у Ильича то было ?
#27 by Масянька
Спасибо. У меня уже такой есть. Но все равно - СПАСИБО.
#28 by Ёпрст
А ты думала, в сказку попала ? в запросе убери всё что в скобках и сами скобки тоже убери. Это для начала.
#29 by Serginio1
Чтобы не было каши почитай 10 там куча примеров. Используй конструктор запросов. Экономит кучу времени.
#30 by Serginio1
Тогда зачем делала запрос руками?
#31 by КонецЦикла
select top 1 from $регистр.партии Партии (nolock) left join _1sjourn Журнал (nolock) on Партии.iddoc = Журнал.iddoc where $Партии.Номенклатура = :ВыбНоменклатура order by Журнал.date_time_iddoc desc
#32 by Ёпрст
ну в селекте нужно что-то выбрать еще, хоть *.. да и, ежели есть галка или отбор на движении, то журнальчик не нужен..но это так, к слову.
#33 by КонецЦикла
Точняк В типовых обычно нет быстрых движений select top 1 iddoc
#34 by Масянька
Вот про "галку" - мне не понятно: где ее искать? Спасибо огромное!
#35 by Serginio1
В конструкторе запроса вкладка Выходная форма - расположение запроса модуль формы
#36 by Ёпрст
открыть дерево ментаданных и посмотреть, стоит ли в свойствах регистра галка "быстрая обработка движений" или отбор на одном из измерений
#37 by Масянька
Спасибо. Не стоит.
#38 by Ёпрст
если стоит, то в табличке RA регистра будут до поля и соединение с _1sjourn не требуется. Запрос будет выполнятся еще быстрее
#39 by Serginio1
в кострукторе запроса можно кучу наваять SELECT ПартииНаличиеОбороты.Номенклатура [Номенклатура $Справочник.Номенклатура] Но что бы ваять нужно доки почитать
#40 by Масянька
Вот что написала: Работает, не ругается, но таблица - пустая. Приход (если что) есть.
#41 by КонецЦикла
ВыбЗнач - это элемент спр-ка номенклатура на форме? Уточни этот нюанс... Ну и select top IDDOC 1 from как правильно засек Епрст
#42 by КонецЦикла
пилять select top 1 IDDOC from Про типизацию документа неопр. вида сама читай :)
#43 by Масянька
Может быть и один элемент справочника (подбор обрабатывается), а может быть все элементы папки. В функцию (которая получает док-т прихода) передается один элемент справочника номенклатура.
#44 by Масянька
+ Хотелось бы получить таблицу с док-ми. А там уже я выберу последний.
#45 by Масянька
А тут - нужны только док-и прихода - ПоступлениеТМЦ и ВводОстатков. И куда в запросе их вставлять?
#46 by Serginio1
FROM _1SJOURN AS Журнал With (NOLOCK) FROM _1SJOURN AS Журнал With (NOLOCK)
#47 by Масянька
Афигеть... Пойду я... Разбираться... Огромное спасибо.
#48 by Serginio1
Либо делай Union All bp lde[ pfghjcjd FROM _1SJOURN AS Журнал With (NOLOCK)     INNER JOIN $ДокументСтроки.ПоступлениеТМЦ AS ПоступлениеТМЦСтроки With (NOLOCK) ON Журнал.IDDOC = ПоступлениеТМЦСтроки.IDDOC
#49 by Serginio1
FROM _1SJOURN AS Журнал With (NOLOCK)     INNER JOIN $Регистр.ОстаткиТМЦ AS ОстаткиТМЦ With (NOLOCK) ON Журнал.IDDOC = ОстаткиТМЦ.IDDOC
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С