IPB

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в эту темуОткрыть новую тему
> Количество строк табл.части документа в запросе, как определить для сравнения
uagav
сообщение Jan 12 2012, 02:19
Сообщение #1


Пользователь
**

Группа: Пользователи
Сообщений: 43
Регистрация: 27-October 06
Пользователь №: 8823



Имеем Запрос
Код
Запрос.Текст = "ВЫБРАТЬ
|    НовДокТабЧасть.Ссылка,
|    НовДокТабЧасть.ДатаПоступления,
|    НовДокТабЧасть.НомерСтроки КАК НомерСтроки,
|    НовДокТабЧасть.Ссылка.Клиент КАК Клиент
|ИЗ
|    Документ.НовДок.ТабЧасть КАК НовДокТабЧасть
|ГДЕ
|    (НовДокТабЧасть.НомерСтроки = НовДокТабЧасть.КоличествоСтрок())  ИЛИ  (НовДокТабЧасть.НомерСтроки= &НомСтроки)";
Запрос.УстановитьПараметр("НомСтроки",2);

или подобный, который обходит строки табличной части документа, где в условии необходимо задать или строка табличной части документа = количеству строк (имеется ввиду последняя строка), или имеет определенный номер, или только первая.
Как это можно задать в запросе?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Efr
сообщение Jan 12 2012, 11:07
Сообщение #2


Пользователь
**

Группа: Пользователи
Сообщений: 41
Регистрация: 3-April 07
Пользователь №: 11134



Не совсем понятен вопрос.
Как вариант:
|ГДЕ
| (НовДокТабЧасть.НомерСтроки = &КоличествоСтрок ИЛИ НовДокТабЧасть.НомерСтроки= &НомСтроки";
Запрос.УстановитьПараметр("КоличествоСтрок",НовДокТабЧасть.КоличествоСтрок());

А вообще, текст запроса это текст. С ним можно оперировать:
Запрос.Текст = "ВЫБРАТЬ
| НовДокТабЧасть.Ссылка,
| НовДокТабЧасть.ДатаПоступления,
| НовДокТабЧасть.НомерСтроки КАК НомерСтроки,
| НовДокТабЧасть.Ссылка.Клиент КАК Клиент
|ИЗ
| Документ.НовДок.ТабЧасть КАК НовДокТабЧасть
|ГДЕ
| (НовДокТабЧасть.НомерСтроки = &НомерСтроки1) ";
Если НуженВторойПараметр Тогда
Запрос.Текст = Запрос.текст + " ИЛИ (НовДокТабЧасть.НомерСтроки= &НомерСтроки2)";
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
uagav
сообщение Jan 12 2012, 15:52
Сообщение #3


Пользователь
**

Группа: Пользователи
Сообщений: 43
Регистрация: 27-October 06
Пользователь №: 8823



Еще раз попробую: имеем документ НовДок, у которого есть табличная часть ТабЧасть с некими реквизитами (например, Клиент, ДатаПоступления). Необходимо запросом получить все документы где имеем последние значения Клиент = "Вова Иванов", т.е. отбор делать только среди последних строк табличной части. Еще надо отбирать только первые строки или по заданному номеру (только 2 строка).
Цитата
Запрос.УстановитьПараметр("КоличествоСтрок",НовДокТабЧасть.КоличествоСтрок());
Переменная не определена (НовДокТабЧасть). Если бы этот вариант проходил, то вопросов бы не было. Надо именно что-то похожее.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 16th June 2019 - 17:31