Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

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



> Треба знайти документ РК, якій містить заданий документ Счет , 1cpp, sql запит          
chernomoretc_cn Подменю пользователя
сообщение 29.01.24, 17:25
Сообщение #1

Общительный
**
Группа: Пользователи
Сообщений: 14
Спасибо сказали: 0 раз
Рейтинг: 0

Платформа 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.ВыполнитьИнструкцию(ТекстЗапроса);
        тчДок = СоздатьОбъект("ТаблицаЗначений");
        ТЗ.Выгрузить(тчДок);


Помилок не видає. Але і документ не находить.
Що не так в запиті?

Сообщение отредактировал Vofka - 30.01.24, 8:53

zay Подменю пользователя
сообщение 30.01.24, 10:43
Сообщение #2

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 160
Из: Киев
Спасибо сказали: 130 раз
Рейтинг: 135.8

chernomoretc_cn @ Вчера, 18:25 * ,
Якщо у вас база на sql і ви знаєте її структуру, проіндексуйте реквізит "Заказ" прямо у таблицях бази через SQL Server Management Studio. Перший запит почне працювати із нормальною швидкістю

Спасибо сказали: chernomoretc_cn,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


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

 

RSS Текстовая версия Сейчас: 02.03.24, 4:56
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!