Платформа 1с 77 (sql)
Версія 7.70.027
Конфігурація Бухгалтерія для України.
Є два документи Счет і РК.
Один із реквізитів документа РК є реквізит Счет, його тип Документ.
Треба знайти документ РК, якій містить заданий документ Счет.
Період не відомий.
Запит
ТекстЗапроса =
"//{{ЗАПРОС(Сформировать)
|ОбрабатыватьДокументы все;
|РК = Документ.РК.ТекущийДокумент;
|Заказ = Документ.РК.Заказ;
|ДатаДок = Документ.РК.ДатаДок;
|Группировка РК;
|Условие(Заказ = ВыбЗаказ);
|"//}}ЗАПРОС
Если ЗагрузитьВнешнююКомпоненту("1CPP.dll") <> 1 Тогда
Сообщить("Компонента '1CPP.dll' не найдена", "!");
КонецЕсли;
RS = СоздатьОбъект("ODBCRecordset");
RS.УстБД1С();
ТекстЗапроса = "
|SELECT
| ДокРК.IDDOC as [тДок $Документ.РК] ,
| $ДокРК.Заказ as [Заказ $Документ]
|FROM
| $Документ.РК as ДокРК
|LEFT JOIN
| _1SJOURN as Жур ON Жур.IDDoc = ДокРК.IDDoc
|WHERE
|($ДокРК.Заказ = :ВыбЗаказ)
|Group BY ДокРК.IDDOC, $ДокРК.Заказ
|";
//RS.УстановитьТекстовыйПараметр("ВыбДатаНач",ВыбНачПериода);
//RS.УстановитьТекстовыйПараметр("ВыбДатаКон",ВыбКонПериода+1);
RS.УстановитьТекстовыйПараметр("ВыбЗаказ",ВыбЗаказ);
RS.Отладка(0);
ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса);
тчДок = СоздатьОбъект("ТаблицаЗначений");
ТЗ.Выгрузить(тчДок);
chernomoretc_cn @ Вчера, 18:25
,
Якщо у вас база на sql і ви знаєте її структуру, проіндексуйте реквізит "Заказ" прямо у таблицях бази через SQL Server Management Studio. Перший запит почне працювати із нормальною швидкістю
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua