Прямые запросы к БД. Получить колонку с датой документа
18.09.2011
19:19
#1
"Таким образом я получаю список проданных товаров из регистра по заданной фирме и датам, ТЕПЕРЬ нужно добавитьв выходную таблицу ещё и колонку с датой продажи товара. Подскажите, пожалуйста, как это сделать, может быть можно каким-то образом получить ссылку на документ основание и потом уже из него - дату? Спасибо.
"
мКоманда = СоздатьОбъект("ODBCRecordset");
мКоманда.УстБД1С();
мКоманда.УстановитьТекстовыйПараметр("НачДата", НачДата);
мКоманда.УстановитьТекстовыйПараметр("КонДата", КонДата);
мКоманда.УложитьСписокОбъектов(Ном, "#Группа", "Номенклатура");
ТекстЗапроса="SELECT
| Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура]
| ,Рег.Покупатель [Контра $Справочник.Контрагенты]
| ,Рег.ПродСтоимостьОБОРОТ as ПродСтоимость
| ,SUM(Рег.КоличествоОБОРОТ) as КолвоСумма
|FROM $РегистрОбороты.Продажи(:НачДата,:КонДата~,Месяц,,((Номенклатура in (SELECT Val FROM #Группа)))) Рег
|GROUP BY Рег.Номенклатура, Рег.Покупатель,Рег.ПродСтоимостьОБОРОТ
|ORDER BY Рег.Номенклатура,Рег.Покупатель,Рег.ПродСтоимостьОБОРОТ
|";
КонецЕсли; Рез = мКоманда.Открыть(ТекстЗапроса);
ТЗ = СоздатьОбъект("ТаблицаЗначений"); //получаем результаты
мКоманда.ПолучитьРезультатыВ_ТЗ(ТЗ,1); мКоманда.Закрыть();
ТЗ.Сортировать("Номенклатура");
20.09.2011
13:07
#3
Это-встроенные тип внешней компоненты 1С++ я ещё очень плохо во всём это разобралась, если интересно, кидаю небольшую статью на эту тему
20.09.2011
14:22
#6
Вот с получением даты сложнее. Ее можно получить либо из таблицы остатков (в вашем описании есть раздел "Виртуальные таблицы"), но тогда не будет информации о документе, либо полученное поле IDDOC делать соединение с таблицей документов (не смотрел, есть ли там где примеры соединения двух таблиц-источников данных).
20.09.2011
14:48
#7
"сделала так, дату выводит и номер док-та, но не в читаемом формате ))
Вместо Рег.ПозицияДокумента Поз подставляла ,CAST(LEFT(Рег.ПозицияДокумента, 8) as DateTime) as Поз, не получилось, думаю ...
)))))"
ТекстЗапроса="SELECT
| Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура]
| ,Рег.Покупатель [Контра $Справочник.Контрагенты]
| ,Рег.ПродСтоимостьОБОРОТ as ПродСтоимость
| ,SUM(Рег.КоличествоОБОРОТ) as КолвоСумма
| ,Рег.ПозицияДокумента Поз
|FROM $РегистрОбороты.Продажи(:НачДата,:КонДата~,Документ,,((Номенклатура in (SELECT Val FROM #Группа)))) Рег
|GROUP BY Рег.Номенклатура, Рег.Покупатель,Рег.ПродСтоимостьОБОРОТ, Рег.ПозицияДокумента
|ORDER BY Рег.Номенклатура,Рег.Покупатель,Рег.ПродСтоимостьОБОРОТ, Рег.ПозицияДокумента
|";
Вместо Рег.ПозицияДокумента Поз подставляла ,CAST(LEFT(Рег.ПозицияДокумента, 8) as DateTime) as Поз, не получилось, думаю ...
20.09.2011
14:58
#8
"всё, заработало )))
ТекстЗапроса="SELECT"
| Рег.Номенклатура as [Номенклатура $Справочник.Номенклатура]
| ,Рег.Покупатель [Контра $Справочник.Контрагенты]
| ,Рег.ПродСтоимостьОБОРОТ as ПродСтоимость
| ,SUM(Рег.КоличествоОБОРОТ) as КолвоСумма
| ,CAST(LEFT(Рег.ПозицияДокумента, 8) as DateTime) as Поз
|FROM $РегистрОбороты.Продажи(:НачДата,:КонДата~,Документ,,((Номенклатура in (SELECT Val FROM #Группа)))) Рег
|GROUP BY Рег.Номенклатура, Рег.Покупатель,Рег.ПродСтоимостьОБОРОТ, Рег.ПозицияДокумента
|ORDER BY Рег.Номенклатура,Рег.Покупатель,Рег.ПродСтоимостьОБОРОТ, Рег.ПозицияДокумента
|";
Читают тему
(гостей: 1)