Переключение на Главную Страницу Страницы: 1 ... 49 50 [51]  ОтправитьПечать
Очень популярная тема (более 25 ответов) Класс "ПрямойЗапрос" - обсуждения. Часть № 2. (число прочтений - 259738 )
michael-iv
YaBB Newbies
*
Отсутствует


1C++ rocks!

Сообщений: 2
Зарегистрирован: 15. Февраля 2022
Пол: Мужской
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #750 - 15. Февраля 2022 :: 14:38
Печать  
Всем Привет.
Ребята, может подскажите - есть ли примеры запросов к "ЖурналРасчетов.Зарплата" ?
Тк.у меня при простом запросе выдает ошибку...
Подскажите плз. что я делаю не так...

Простой запрос:
// подготовим запрос...
ЗапросЗП = СоздатьОбъект("ПрямойЗапрос");
......
ТекстЗапроса = "SELECT
| Объект      AS [Объект]
| FROM :ВидЖурналаРасчетов.Зарплата
|";
-------------------------------------------
Выдает ошибку:
SELECT      Объект AS      [Объект]  FROM '  X8'
(1С++) Ошибка выполнения общего запроса (ПрямойЗапрос). Ошибка:ПрямойЗапрос::Выполнить(Строка ТипОбъекта=ИндексированнаяТаблица, Строка ТекстВыполнения=, Число БезПодготовки=0) : no such table:   X8
ЗапросSQLite.ВыполнитьЗапрос(ТекстЗапроса,ПолучательЗапроса);
  
Наверх
 
IP записан
 
Zhenya
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 18. Октября 2010
Пол: Женский
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #751 - 14. Октября 2022 :: 13:54
Печать  
Доброго дня всем, кто еще остался на 7.7, а так же знатокам 1с++ и прекрасного класса "ПоставщикДанных" Улыбка

Столкнулась со странным поведением класса ПоставщикДанных.Справочник во время поиска при установленных отборах: Если на ПоставщикДанных наложить несколько условий отбора (больше 2-х) - то во время поиска, неважно посимвольного по колонке, или по целому слову, происходит сбой в табличном поле и на месте найденного появляется последний элемент в списке справочника. Более того ломается весь список в табличном поле - элементы разбегаются в хаотичном порядке, последний элемент, который "встает" на место найденного по поиску дублируется множество раз . Порядок элементов восстанавливается, если сделать End - Home и все элементы возвращаются на свои места и даже тот элемент который надо найти, перелистыванием находится на своём месте. Слом происходит именно во время поиска.
При чём, слом происходит только если искомый элемент не попадает в "окно" табличного поля, отображаемое на форме. Если элемент "виден" в списке - то поиск его проходит нормально.

Отладка показала, что поиск то работает, и элемент справочника находится, но в момент позиционирования на него
Код
Выбрать все
ТабличноеПоле.ТекущаяСтрока = ЗначенияВыборки.ПолучитьЗначение(1,1); 


в табличном поле позиция найденного элемента заменяется последним элементом справочника!
Такое ощущение что ломаются какие то внутренние индексы класса связанные с источником данных?

1сpp 3.2.4.1
1sqlite 1.0.2.6/3.36.0.26 by Djelf
ПоставщикДанных 5.0.5 23.05.2014
ПрямыеЗапросы 1.8.6 22.05.2013

Может кто-то уже сталкивался и знает как исправить?
  
Наверх
 
IP записан
 
Zhenya
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 18. Октября 2010
Пол: Женский
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #752 - 17. Октября 2022 :: 12:00
Печать  
Zhenya писал(а) 14. Октября 2022 :: 13:54:
Доброго дня всем, кто еще остался на 7.7, а так же знатокам 1с++ и прекрасного класса "ПоставщикДанных" Улыбка

Столкнулась со странным поведением класса ПоставщикДанных.Справочник во время поиска при установленных отборах: Если на ПоставщикДанных наложить несколько условий отбора (больше 2-х) - то во время поиска, неважно посимвольного по колонке, или по целому слову, происходит сбой в табличном поле и на месте найденного появляется последний элемент в списке справочника. Более того ломается весь список в табличном поле - элементы разбегаются в хаотичном порядке, последний элемент, который "встает" на место найденного по поиску дублируется множество раз . Порядок элементов восстанавливается, если сделать End - Home и все элементы возвращаются на свои места и даже тот элемент который надо найти, перелистыванием находится на своём месте. Слом происходит именно во время поиска.
При чём, слом происходит только если искомый элемент не попадает в "окно" табличного поля, отображаемое на форме. Если элемент "виден" в списке - то поиск его проходит нормально.

Отладка показала, что поиск то работает, и элемент справочника находится, но в момент позиционирования на него
Код
Выбрать все
ТабличноеПоле.ТекущаяСтрока = ЗначенияВыборки.ПолучитьЗначение(1,1); 


в табличном поле позиция найденного элемента заменяется последним элементом справочника!
Такое ощущение что ломаются какие то внутренние индексы класса связанные с источником данных?

1сpp 3.2.4.1
1sqlite 1.0.2.6/3.36.0.26 by Djelf
ПоставщикДанных 5.0.5 23.05.2014
ПрямыеЗапросы 1.8.6 22.05.2013

Может кто-то уже сталкивался и знает как исправить?

Zhenya писал(а) 17. Октября 2022 :: 10:25:
trad писал(а) 17. Октября 2022 :: 07:54:
ТП ведет себя подобным образом когда не обеспечена уникальность ключа порядка. Копайте в эту сторону

Хм, начала копать.
Поскольку поиск делаю по наименованию - ключом порядка выступает ТекущийОбъект.idx_DESCR
Включила отладку, увидела что при включённых отборах по полям для которых в бд включён отбор по реквизиту - при поиске выбирается индекс с этим реквизитом... - и поиск ломается
Если в отборе поставщика не используются поля с включёнными отборами - используется индекс по наименованию, как и в ключе порядка - и поиск работает как надо.

Ушла думать

Итак да, отключение признака отбор у реквизитов справочника, которые я использую в отборе поставщика данных, проблему решило.
Интересно, а можно как то влиять на выбор индексов в ПрямомЗапросе, которым пользуется ПоставщикДанных?
  
Наверх
 
IP записан
 
Zhenya
Junior Member
**
Отсутствует


1C++ rocks!

Сообщений: 37
Зарегистрирован: 18. Октября 2010
Пол: Женский
Re: Класс "ПрямойЗапрос" - обсуждения. Часть № 2.
Ответ #753 - 19. Октября 2022 :: 09:35
Печать  
Zhenya писал(а) 14. Октября 2022 :: 13:54:
1sqlite 1.0.2.6/3.36.0.26 by Djelf

В общем плюнула я на навороты последней версии 1sqlite by Djelf и восстановила старенькую ещё орефковскую версию 1.0.2.6 от 03.02.2012.
И всё заработало так как и задумывалось автором класса
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 49 50 [51] 
ОтправитьПечать