Связанные документы

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Связанные документы, В клиент-серверном варианте, если на документ более 256 ссылок в строках подчиненных документов, выдается ошибка запроса
 
Конфигурация Комплексная автоматизация, редакция 1.1 + CRM ПРОФ, редакция 1.4 (1.1.16/1.4.2) (1.1.16.1)
Платформа 8.2.14.540
База на SQL.

Если на документ (например "Заказ покупателя") существует большое количество ссылок в строках подчиненных документов (у нас это строки документов "Поступление товаров и услуг", "ГТД по импорту", "Поступления доп. расходов"), то при вызове "Перейти-Связанные документы" получаем ошибку: Ошибка выполнения запроса "Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256".
Место - процедура ЗаполнитьТаблицуСвязанныхДокументов() в форме списка критерия отбора СвязанныеДокументы:
//CRM+
КэшПоТипамДокументов.Вставить(ПолноеИмяДокумента+"__"+Строка(НомСтр), СтруктураТипа);
//CRM-
В кэш добавляется запись на каждую строку подчиненного документа, а не одна на документ, что и влечет в дальнейшем ошибку в запросе.
Структура подчиненности для такого документа отображается пустой, полагаю ошибка аналогична.
Поправьте, пожалуйста.
 
Здравствуйте!

Ошибка по ограничению на большое количество таблиц может появляться при использовании в конфигурации режима ограничения на уровне записей. Мы доработаем этот момент в ближайшем релизе, чтобы и в этом случае ошибка не появлялась.
Спасибо за указание данной недоработки.
 
Режим ограничения доступа на уровне записей отключен.
Причина пояления большого количества таблиц в запросе - добавление таблицы для каждой строки связанного документа, а не для всего документа в целом.
Т.е. имеем документ "Заказ покупателя" и ссылку на него в сотне строк документа "Поступление товаров и услуг", еще в сотне строк в "ГТД по импорту" и еще в сотне "Поступление доп. расходов". В результате связанных документов всего три, а запрос формируется из трехсот таблиц со всеми вытекающими последствиями.
 
Здравствуйте, Евгений!

Спасибо за информацию - мы учтем её при исправлении данной ошибки.
 
Давно знаю об этой проблеме.. Судя по моим комментам в коде исправлял еще год назад.

ФормаСтруктурыПодчиненности:

Код
Процедура ВывестиПодчиненныеДокументы(СтрокаДерева)
   
   ТекущийДокумент = СтрокаДерева.Ссылка;   
   Таблица = ПолныеПрава.ПолучитьВыборкуПоКритериюОтбора("СвязанныеДокументы", ТекущийДокумент);   
   // Начало изменений Скарт
   // Чекалин 19.01.2011
   // Слишком много строк
   Таблица.Свернуть("Ссылка");
   // Конец изменений Скарт
Изменено: Алексей Чекалин - 25.01.2012 10:23:10
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С