Имя: Пароль:
1C
1C 7.7
v7: Прямой запрос - получить код
0 Chameleon1980
 
02.04.14
12:40
Подскажите

    ТекстЗапроса = "-- qryMaker:Отчет1.2014.03.29.09.57.59
        //|SELECT DISTINCT TOP 2000 ОстаткиПосекциямОстатки.Секция [Склад $Справочник.ус_Секции]
        |SELECT DISTINCT ОстаткиПосекциямОстатки.Секция [Склад $Справочник.ус_Секции]
        |    , ОстаткиПосекциямОстатки.Номенклатура [Номенклатура $Справочник.Номенклатура]
        |    , $Цены.ТипЦен [ТипЦен $Справочник.ТипыЦен]
        |    , $ПоследнееЗначение.Цены.Цена(Цены.ID, :ВыбДата) Цена
        |    , ОстаткиПосекциямОстатки.КоличествоОстаток Остаток
        |FROM $РегистрОстатки.ОстаткиПосекциям(,,,
        |        (Секция, Номенклатура),
        |        Количество) AS ОстаткиПосекциямОстатки
        |    LEFT OUTER JOIN $Справочник.Цены AS Цены With (NOLOCK) ON ОстаткиПосекциямОстатки.Номенклатура = Цены.PARENTEXT
        |WHERE ($Цены.ТипЦен = :ВыбТипЦен)
        |ORDER BY ОстаткиПосекциямОстатки.Секция
        |    , ОстаткиПосекциямОстатки.Номенклатура
        |";


Как тут код номенклатуры сразу получить?
1 antoneus
 
02.04.14
12:41
Дык приджойнить справочник номенклатуры из из него вытащить, не?
2 Chameleon1980
 
02.04.14
12:43
по дороге на работу так и думал сегодня
3 Chameleon1980
 
02.04.14
12:50
Попутно вопрос.
Этот запрос к 77 выполняется из снеговиков.
в восьмерке создается Соединение это собсно и есть соединение

из запроса получается семерочная ТЗ

При попытке соединение.ЗначениеВСтрокуВнутр(ТЗ)
пишет ошибку что-то про поток данных.
Есть мысль что это из-за того, что в запросе выбирается именно номенклатура.

Как думаете, уважаемые, если я в запросе получу только стандартные примитивы типа строка, число - проблема уйдет?

Вобщем нужно из 77 в 8 перетащить остатки на определенном регистре + цены.

Номенклатура синхронизируется по коду, тип цен по названию, цена собственно число.

Так... что еще.

Счас происходит криво.
в восьмерке получается ТЗ (ОЛЕ) семерочная, которая перебирается - заполняется ТЗ восьмерочная с доп. колонкой "Код".

Собссно сам объект 77 "Номенклатура" ужо не нужен. Нужен код, имя цены, цена, остаток.

Вот еще.

Если я сделаю типа

ЗначениеТЗВстроке=Соединение.ЗначениеВСтрокуВнутр;
ТЗМестная=ЗначениеИзСтрокиВнутр(ЗначениеТЗВстроке);

ТЗМестная получится нетипизированная скорее всего.
А мне нужна типизированная, т.к. далее она цепляется к запросу.

Есть идеи?
4 m-serg74
 
02.04.14
12:55
(3) часто будет выполняться или на один раз творишь?
5 13_Mult
 
02.04.14
13:02
Конвертация, не подойдет?
6 m-serg74
 
02.04.14
13:17
(5) с пушкой за мухами охотиться?
7 Ёпрст
 
гуру
02.04.14
13:23
Обычный запрос, хоть по адо с снеговика в клюшки, результат запроса во временную тз с колонками Код/останки.. далее просто запрос в снеговике к этой табличке + левое соединение со справочником Номенклатура по Коду.. имеешь в снеговике номенклатуру и останки. Усё.
8 Serginio1
 
02.04.14
13:36
Сделай отладка(1) и получишь SQL ный код который можешь использовать ADO
9 Serginio1
 
02.04.14
13:47
Но можно использовать через выборку
http://www.1cpp.ru/docum/icpp/html/ODBC.html#id16

Описание: выполняет запрос и открывает выборку - результат переданного SQL запроса. Метод только открывает выборку: после успешного вызова метода, в памяти нет всей выборки, она будет получаться с сервера по мере перебора результата запроса. Основное применение метода: при работе с курсорами.

Но модно попробовать вытащить запросом
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой