powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Медленное получение даты документа
25 сообщений из 29, страница 1 из 2
Медленное получение даты документа
    #36263462
AXAE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня всем!
Имеется такая проблема: получение даты из ссылки на документ (через Ссылка.Дата) очень медленное. При этом другие "реквизиты" ссылки (например Номер, СуммаДокумента) получаются в несколько десятков раз быстрее.
Можно ли от этого избавиться?
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263516
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У вас, наверное, ссылка.дата сначала извлекается, а за ней и остальные реквизиты?
Так для любого реквизита нужно весь объект прочитать (а ссылка и объект - это не одно и то же). Он и читается из базы целиком. А у уже прочитанного другие реквизиты быстрее извлекаются.
Как бороться? Не лениться в запросах не ограничиваться получением ссылки, а сразу запрашивать все нужные реквизиты, и обращаться потом не к данным объекта через ссылку, а к результату запроса.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263567
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да
еще можно "профразработку" почитать там все это описано
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263587
AXAE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно... Да, я знаю, что в запросах нужно брать все нужные реквизиты. Только этот документ у меня берется из строки с уникальным идентификатором, а не из запроса, поэтому наверное здесь ничего не придумать быстрее.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263598
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AXAE, а выборка этих строк по-одной или как-то можно их распарсить перед запросом и передать уже в запрос номера списком ?
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263601
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторномера

извиняюсь... идентификаторы
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263603
AXAE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1CmenAXAE, а выборка этих строк по-одной или как-то можно их распарсить перед запросом и передать уже в запрос номера списком ?
Подробнее?
У меня действительно есть список строк с уникальными идентификаторами... Каким образом их распарсить и в запрос передать?
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263687
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AXAE, я так понял что речь о 8ке... с синтаксисом запроса я не помогу

автордокумент у меня берется из строки с уникальным идентификатором

следовательно есть возможность "выкусить" идентификатор конкретного документа а следовательно можно и сформировать список содержащий уже только идентификаторы а уже этот список можно передать в запрос в качестве условия (можно в принципе парсить внешней функцией в самом запросе но то уже как легче и проще)... а в самом запросе получить необходимые даныне (как-то номер, дата и т.д.) и уже их выводить туда куда вам необходимо

правда это не касается того варианта если у вас есть не один или несколько документов для вывода т.к. как сами понимаете процедура выполнения запроса будет несколько медленнее чем одиночное получение ссылки... так что смысл будет когда количество получений объектов по ссылкам в цикле по временным характеристикам будет превышать время одноразового выполнения запроса (скажем более сотни таких объекто должно реально ускорить)


для того чтобы вам ответили как именно распарсить строку с ИД необходимо предоставить сами примеры строк и то что должно быть из них выделено и сопоставлено в сравнении
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263699
leaf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если есть ссылка ... зачем запрос?
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263709
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>получение даты из ссылки на документ (через Ссылка.Дата) очень медленное.

чота не верю... дата документы - частьссылки и представления, есть всегда, за ней не надо нырять в базу
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263817
pail
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин ПЖ>>получение даты из ссылки на документ (через Ссылка.Дата) очень медленное.

чота не верю... дата документы - частьссылки и представления, есть всегда, за ней не надо нырять в базу
Вообще-то ссылка - это GUID в чистом виде.
Или идентификатор типа+GUID.
Но никакой даты в поле ссылки нет
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263822
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pail
Вообще-то ссылка - это GUID в чистом виде.


на каком слое? БД? Да. рантайма 1С? Нет.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263861
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я подозревал и подозреваю что ИД у автора - это не ИД в БД :) ... только как вот по такому ИД получить ИД.Дата я не подозреваю
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263872
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господин ПЖpail
Вообще-то ссылка - это GUID в чистом виде.


на каком слое? БД? Да. рантайма 1С? Нет.
Откуда такая уверенность?
Ссылка в рантайме 1С - это номер типа и GUID, посмотрите ЗначениеВСтрокуВнутр().

Ссылка в БД, для простых типов - только GUID, для составных - номер типа, номер таблицы ссылочного типа и GUID.

Номер типа позволяет отличить число, строку, дату, булево и Неопределно от ссылки.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263881
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опечатка,
Ссылка в рантайме 1С - это номер таблицы ссылочного типа и GUID, посмотрите ЗначениеВСтрокуВнутр().
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263886
AXAE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1CmenAXAE, я так понял что речь о 8ке... с синтаксисом запроса я не помогу

автордокумент у меня берется из строки с уникальным идентификатором

следовательно есть возможность "выкусить" идентификатор конкретного документа а следовательно можно и сформировать список содержащий уже только идентификаторы а уже этот список можно передать в запрос в качестве условия (можно в принципе парсить внешней функцией в самом запросе но то уже как легче и проще)... а в самом запросе получить необходимые даныне (как-то номер, дата и т.д.) и уже их выводить туда куда вам необходимо

правда это не касается того варианта если у вас есть не один или несколько документов для вывода т.к. как сами понимаете процедура выполнения запроса будет несколько медленнее чем одиночное получение ссылки... так что смысл будет когда количество получений объектов по ссылкам в цикле по временным характеристикам будет превышать время одноразового выполнения запроса (скажем более сотни таких объекто должно реально ускорить)


для того чтобы вам ответили как именно распарсить строку с ИД необходимо предоставить сами примеры строк и то что должно быть из них выделено и сопоставлено в сравнении

По-моему, их никак не распарсить... GUID - это результат применения метода УникальныйИдентификатор() к ссылке. Например вот GUID - "2319dcf1-f4ee-438d-b16f-6a145d6b9422". Уникальные идентификаторы в запрос "восьмерки" не передать. Можно передавать только ссылки. На основе уникального идентификатора можно получить любую(!) ссылку.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263908
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да, наврал я. Формально в кеше даты документа может и не быть, если c ссылкой не было интерактива или приведение ее к строке.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263911
HoBTID
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AXAEПо-моему, их никак не распарсить... GUID - это результат применения метода УникальныйИдентификатор() к ссылке. Например вот GUID - "2319dcf1-f4ee-438d-b16f-6a145d6b9422". Уникальные идентификаторы в запрос "восьмерки" не передать. Можно передавать только ссылки. На основе уникального идентификатора можно получить любую(!) ссылку.
Идея Last1Cmen - получить реквизиты сразу всех документов одним запросом, а не таскать каждый в цикле по ссылке. И это будет быстрее, если документов хотя бы 2, а если, например, не нужны табличные части, то будет быстрее даже при одном документе.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263926
AXAE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HoBTIDAXAEПо-моему, их никак не распарсить... GUID - это результат применения метода УникальныйИдентификатор() к ссылке. Например вот GUID - "2319dcf1-f4ee-438d-b16f-6a145d6b9422". Уникальные идентификаторы в запрос "восьмерки" не передать. Можно передавать только ссылки. На основе уникального идентификатора можно получить любую(!) ссылку.
Идея Last1Cmen - получить реквизиты сразу всех документов одним запросом, а не таскать каждый в цикле по ссылке. И это будет быстрее, если документов хотя бы 2, а если, например, не нужны табличные части, то будет быстрее даже при одном документе.
Идея понятна... Только на восьмерке ее не осуществить: на основании списка строк с GUID'ами не удастся получить список ссылок с реквизитами. Точнее удастся, но только если запрос формировать так, чтобы пробовать запросом одновременно вынимать ссылки на основании уникального идентификатора из всех ссылочных типов конфигурации - а это по-моему будет медленно.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263948
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторно только если запрос формировать так, чтобы пробовать запросом одновременно вынимать ссылки на основании уникального идентификатора из всех ссылочных типов конфигурации - а это по-моему будет медленно

ну понятно что любой вызов внешней функции в запросе будет медленнее чем просто фильтор по готовому списку... речь то о том насколько на практике :)

т.е. предлагаю эти ИД передавать в запросе во внешнюю функцию а оттуда возвращать в запрос уже саму ссылку и по ней фильтровать...
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263951
AXAE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AXAE...одновременно вынимать ссылки на основании уникального идентификатора из всех ссылочных типов конфигурации... Неправильно выразился. Правильнее будет сказать, что передавать в запрос все возможные ссылки на основании всех GUID с проверкой существования объекта.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263972
AXAE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Last1Cmen...возвращать в запрос уже саму ссылку и по ней фильтровать... Заметьте: не одну ссылку, а ссылки ВСЕХ ссылочных типов конфигурации, полученных на основании одно единственного GUID! А если этих GUID еще и целый список (у меня их десятки тысяч), то я думаю можно представить, как захлебнется 1С...
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36263996
Last1Cmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AXAE, а это единоразовая процедура ? если нет и их пятизнаками насчитывается то ускорить энто дело можно выделив отдельные реквизиты на документы где и хранить сцылки на сами объекты (их запись контролировать при проведении чтоль)

геморойно но если критично по скорости то прийдётся (это как я с иерархией недавно воевал :) если кто помнит)
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36264012
Программист 1с
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AXAELast1Cmen...возвращать в запрос уже саму ссылку и по ней фильтровать... Заметьте: не одну ссылку, а ссылки ВСЕХ ссылочных типов конфигурации, полученных на основании одно единственного GUID! А если этих GUID еще и целый список (у меня их десятки тысяч), то я думаю можно представить, как захлебнется 1С...А вы десятки тысяч один раз загружаете или каждый день? Если каждый день - то опишите всю задачу сначала. А если один раз - то по моему скорость вобще не важна.
...
Рейтинг: 0 / 0
Медленное получение даты документа
    #36264052
AXAE
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вообще-то не каждый день... Это нерегулярная процедура. Это процедура проверки. Конфигурация Альфа-Авто использует таблицу соответствия для переноса информации в бухгалтерию. Таблица соответствия представляет собой .dbf файл, где есть поля ID_SOURCE, ID_RECEVE и MANAGER. В первых двух полях хранятся GUID объектов: Альфа-Авто и Бухгалтерии соответственно. В них хранятся GUID документов и справочников. Поле MANAGER предназначается для описания менеджера бухгалтерии (вроде бы так... я его при обработке таблицы мало использую)
Мне необходимо проверить правильность этой таблицы. Мы ее своими кривыми ручками подпортили - залезли посмотреть, решили удалить несуществующие объекты. Удалили и не переиндексировали. При очередном переносе случился сбой и таблица была немного испорчена.
Да бывают и штатные ситуации, когда два контрагента Альфы грузятся в одного в бухгалтерии - такое тоже надо разыскивать и пресекать. Пресекать - это здесь уже дело десятое... Главное - найти таких.
Я вроде нашел решение своей проблемы: я перебираю последовательно все ссылочные типы конфигурации, создаю на основании GUID ссылку разных типов и проверяю на существовании такого объекта. Проверка осуществляется запросом к базе с параметром как раз этой сгенерированной ссылки. В этом запросе ведь можно сразу получать и реквизиты объекта, если он существует... А для того, чтобы это работало побыстрее, чем перебор всех ссылочных типов - предусмотрен, скажем так, "кэш попаданий". Там накапливаются количества верно угаданных типов ссылок.
...
Рейтинг: 0 / 0
25 сообщений из 29, страница 1 из 2
Форумы / [игнор отключен] [закрыт для гостей] / Медленное получение даты документа
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]