Разработка #3150: Ответ сервера Ветис загружать в справочник ВСД_Док - 1Cv7 ВСД в ГИС Меркурий - КБ99 Redmine

Проект

Общее

Профиль

Разработка #3150

Ответ сервера Ветис загружать в справочник ВСД_Док

Добавил(а) кб99 Синявский Филипп около 5 лет назад. Обновлено почти 5 года назад.

Статус:
Завершена
Приоритет:
Нормальный
Назначена:
-
Версия:
Дата начала:
06.11.2019
Срок завершения:
Готовность:

0%

Оценка временных затрат:

Связанные редакции

Редакция d92f5ca0 (Разница(diff))
Добавил(а) кб99 Синявский Филипп около 5 лет назад

Ответ сервера Ветис загружать в справочник ВСД_Ответ refs #3150

Редакция 9bbbe4ff (Разница(diff))
Добавил(а) кб99 Синявский Филипп около 5 лет назад

Ответ сервера Ветис загружать в справочник ВСД_Ответ refs #3150

Редакция 2d7764a7 (Разница(diff))
Добавил(а) кб99 Синявский Филипп около 5 лет назад

спр ВСД_Ответ переименован в ВСД_Док

Редакция ca065a20 (Разница(diff))
Добавил(а) кб99 Синявский Филипп около 5 лет назад

гашение refs #3150 При списании партий через обработку автоматически проставлять причину расхождения Продан в розницу refs #3182

История

#1 Обновлено кб99 Синявский Филипп около 5 лет назад

1. Уменьшает нагрузку на общий журнал документов
2. быстрый поиск ВСД по UUID - индексу

#2 Обновлено кб99 Синявский Филипп около 5 лет назад

  • Параметр Статус изменился с Новая на Тестирование

#3 Обновлено кб99 Синявский Филипп около 5 лет назад

Поиск UUID документа выполняется перебором,
индекс в документ добавить нельзя => решение перенести ВСД в справочник, добавить необходимые индексы по ДокОснование и UUID

#4 Обновлено Pentyukhov Sergey около 5 лет назад

kb99 Филипп писал(а):

Поиск UUID документа выполняется перебором,

не заметили никаких напрягов с поиском по UUID. Запросом все возвращается быстро.

Единственный напряг во ВСЕМ данном решении для платформы 1С7.7

это создаваемое огромное количество документов ВСД2(ответ)

Хорошо бы все эти ответы держать в одном документе(но для этого надо половину функционала переписывать).

Это мысли вслух...

#5 Обновлено кб99 Синявский Филипп около 5 лет назад

каждый ВСД можно:
  • аннулировать
  • погасить
  • возвратить и т.д.
    поэтому хранятся они в отдельных объектах.
    Но вы можете сделать fork и сделать свои доработки решения...

Скорее всего у вас стоит MS SQL и многие вопросы 1С перекладываются на SQL.
Я бы посоветовал вам посмотреть внимательнее на работу MS SQL - а точнее на не хватающие индексы в таблицах, скорее всего там будет много интересного...

#6 Обновлено кб99 Синявский Филипп около 5 лет назад

Добавлен справочник ВСД_Док - загружаем все, что можно загрузить из XML.
Исходный XML, который получаем от Ветис хранится в реквизите ИмяФайлаXML = в каталоге vd
табличной части в справочнике нет, поэтому добавлен класс ВСД_vetDocument = обертка для работы с XML - туда загружаем таблицы значений из XML

в ВСД_Док нет строк неограниченной длины, все длинные строки и тз - в классе ВСД_vetDocument (загружаем из XML)

#7 Обновлено кб99 Синявский Филипп почти 5 года назад

  • Параметр Тема изменился с Ответ сервера Ветис загружать в справочник ВСД_Ответ на Ответ сервера Ветис загружать в справочник ВСД_Док
  • Параметр Статус изменился с Тестирование на Завершена

На нагруженной DBF базе 480 тыс записей ВСД2 время загрузки ответа уменьшено с 40,37 сек до 2,66 сек = 15 раз

До

select
   ДокВСД.iddoc [id $Документ.ВСД2]
from [Документ.ВСД2] as ДокВСД
where
    ( ДокВСД.UUID = 'ffd567b4-a351-491f-b090-2035a864fcbd')

Подбор индекса для таблицы DH58566:
    Ограничения: SP58534[UUID]=; 
    Найдено в кэше
    Индекс не выбран.
    Стоимость: 9984

После

select
   ДокВСД.id [id $Справочник.ВСД_Док]
from [Справочник.ВСД_Док] as ДокВСД
where
    ( ДокВСД.UUID = 'ce13e405-eb84-452f-a827-2054c2d24d42')

Подбор индекса для таблицы SC53779:
    Ограничения: SP53721[UUID]=; 
    Найдено в кэше
    Выбран индекс VI53721: UPPER(SP53721)+UPPER(DESCR)
    Стоимость: 4

Экспортировать в Atom PDF