#0
by vcv
Переработанная торговля 7.7 SQL. 1С++, FormEx, Yoksel Изредка возникает ошибка Документ.ЗаявкаПокупателя.Форма.Модуль(2134)}: Значение не представляет агрегатный объект (ВалютаВзаиморасчетов) в строке Договор - реквизит шапки документа типа Справочник.Договоры. В справочнике реквизит ВалютаВзаиморасчетов, конечно, есть. По идее, такой ошибки быть не может, реквизит документа Договор может иметь значение или конкретного договора, или пустого значения типа "Справочник.Договоры". В любом случае "Договор.ВалютаВзаиморасчетов" не должно вызывать ошибку. Переменных с именем "Договор" не объявлено. Кто нибудь с таким сталкивался?
#7
by vcv
ПолучитьПустоеЗначение("Справочник.Договоры").ВалютаВзаиморасчетов отрабатывает нормально. И при невыбранном договоре все должно быть окей. Мне кажется, это какой-то странный глюк, связанный или с потерей, или с порчей контекста.
#9
by Вуглускр1991
Битая ссылка. Возможно. Оформи в попытку и на исключение вешай запись в лог ключа для поиска записи и описание всех контекстов.
#10
by vcv
А ТиИ сложно. Основная база уже на 100 гигов перевалила. Пытаюсь тестировать различными SQL-запросами, но, наверняка, много аспектов упускаю. На это похоже. Искать надо.
#11
by ЧеловекДуши
ВалютаДоговораСтарая - Это что такое, Реквизит или переменная? Если переменная, то научись объявлять переменные через "Перем ВалютаДоговораСтарая;" :)
#12
by ЧеловекДуши
+ Смотри, какого типа "Договор", если просто справочник и он пустой, т.е. не указан, то ошибка имеет иметь место :)
#13
by Песец
А при перепроведении проблемного документа ошибка воспроизводится? Такое может быть если реквизит только для элемента, а выбрана группа.
#15
by vcv
1С не требует объявления переменных и даже не способна это контролировать. Так что объявлять переменные хорошо, но толку обычно минимум. в сказано "Договор - реквизит шапки документа типа Справочник.Договоры" Если бы отловить что-где-когда. :( Более полутора сотен пользователей в дюжине городов и проблема вылазит редко-редко. Сейчас вставил попытку-исключение с автоотправкой себе скриншота и прочей информацией. Может удастся выловить конкретную ситуацию. Связанный вопрос: предположительно проблема из-за нарушения внутренних связей между 1sjourn, dt*, dh*. Нет ли у кого опыта и примера SQL-запроса для тестирования этих связей?
#16
by Песец
Я как раз про это: в "Договор" выбрали группу, а у нее реквизита ВалютаВзаиморасчетов нет.
#17
by vcv
Это не вызывает ошибки. Похоже, 1С проверяет признак Для элемента/Для группы/Для обоих исключительно на этапе дизайна формы.
#18
by trad
"Связанный вопрос: предположительно проблема из-за нарушения внутренних связей между 1sjourn, dt*, dh*. Нет ли у кого опыта и примера SQL-запроса для тестирования этих связей?" select * from _1sjourn j (nolock) full join dhXXX dh(nolock) on dh.iddoc = j.iddoc where dh.iddoc is null or j.iddoc is null
#19
by trad
Поиск битой ссылки select from $Документ.ЗаявкаПокупателя Док (nolock) left join _1sjourn j (nolock) on j.iddoc = Док.iddoc left join $Справочник.Договоры Договоры (nolock) on Договоры.id = $Док.Договор where $Док.Договор != $ПустойИД and Договоры.id is null
#20
by vcv
Недостаточная проверка. С одним и тем же iddoc могут быть документы разных видов. Как я понимаю, нужно еще учитывать IDDOCDEF. Ну и ХХХ как-нибудь бы автоматически развернуть.
#21
by vcv
Попробовал вот так, но ничего не выдало. Или таки нет плохой ссылки, или я ошибся в запросе: DECLARE @query nchar(1000) DECLARE TablesList CURSOR FOR SELECT name FROM sysobjects WHERE type='U' and name like 'DH%' OPEN TablesList FETCH NEXT FROM TablesList INTO @TableName WHILE @@FETCH_STATUS=0 BEGIN set @IDDOCDEF = SUBSTRING(@TableName,3,30) print 'Check documents ID '+@IDDOCDEF set @query = 'select * from _1sjourn j (nolock) full join dh'+@IDDOCDEF+' dh(nolock) on dh.iddoc = j.iddoc where (dh.iddoc is null or j.iddoc is null) and IDDOCDEF='+@IDDOCDEF exec sp_executesql @query OUTPUT FETCH NEXT FROM TablesList INTO @TableName END CLOSE TablesList DEALLOCATE TablesList
#22
by trad
" С одним и тем же iddoc могут быть документы разных видов" Нет, не могут. iddoc уникален во все ИБ
#24
by vcv
Наверное в нужно так: from _1sjourn j (nolock) full join dhХХХ dh(nolock) on dh.iddoc = j.iddoc where (dh.iddoc is null or j.iddoc is null) and j.iddocdef = ХХХ иначе выкатывает, как я понимаю, кучу документов из других dh Если запрос годный и нет нарушений, тогда возвращается вопрос, с которого началось - причина проблемы.
#25
by Mikeware
Причина может быть в банальном сбое в индексах. Перестрой индексы для таблицы договоров (хотя бы первичный)
#26
by vcv
Может подскажешь, как в моём запросе в выводить только результаты с отклонениями. А то вываливает в management studio кучу "пустых" результатов запросов. Индексы перестраиваются регулярно.
#27
by trad
в запросе в у тебя итак выводятся только записи, iddoc которых нет либо в dh либо в journ. Все Ок. Если куча пустых результатов, значит и нет проблемных записей.
#28
by trad
"иначе выкатывает, как я понимаю, кучу документов из других dh " да, совершенно верно, нужно условие j.iddocdef = ХХХ
#29
by vcv
Вот хочется, что бы пустые результаты не выводились. А только те, в которых строки есть. Может кому понадобится запрос, проверяющий правильность ссылок между журналом и шапкой/таблицей документов: DECLARE @query nchar(1000) DECLARE TablesList CURSOR FOR SELECT name FROM sysobjects WHERE type='U' and (name like 'DH%' or name like 'DT%') OPEN TablesList FETCH NEXT FROM TablesList INTO @TableName WHILE @@FETCH_STATUS=0 BEGIN if LEFT(@TableName,2) = 'DH' set @query = 'select ''DH'+@IDDOCDEF+''' as DocTable, j.iddoc, j.docno, CAST(LEFT(j.DATE_TIME_IDDOC, 8) as DateTime) as docdate from _1sjourn j (nolock) full join dh'+@IDDOCDEF+' dh(nolock) on dh.iddoc = j.iddoc where (dh.iddoc is null or j.iddoc is null) and j.iddocdef='+@IDDOCDEF else set @query = 'select ''DT'+@IDDOCDEF+''' as DocTable, j.iddoc, j.docno, CAST(LEFT(j.DATE_TIME_IDDOC, 8) as DateTime) as docdate from _1sjourn j (nolock) full join dt'+@IDDOCDEF+' dt(nolock) on dt.iddoc = j.iddoc where (j.iddoc is null) and j.iddocdef='+@IDDOCDEF exec sp_executesql @query OUTPUT FETCH NEXT FROM TablesList INTO @TableName END CLOSE TablesList DEALLOCATE TablesList
#31
by vcv
Может пустой, может не пустой... Пустое значение правильного типа такую проблему вызывать не может. Однажды у меня был похожий глюк, оказалось, причина в том, что идентификатор документа, приписанный в 1sjourn к одному виду документов, на самом деле в DH/DT принадлежал к другому виду. В отчетах представление документа было "счет-фактура", а из журнала открывалась заявка с проблемами, похожими на . Но сейчас подобных проблем не обнаруживается. Другая, видно, причина.
Тэги: 1С 7.7 и ранее
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v7: v7 : НДС при возврате
- v7: Что нужно чтоб подключить ККМ Меркурий 112F к 1с V7 Торговля + склад
- v7: v7.7 премещение элемента справочника
- v7: v8: УПП. Странная ошибка выскакивает
- v7: v8: v7: Кто-нибудь сумел скачать комплект отчетности за I квартал 2007 года
- Таб.Область ошибка - Значение не представляет агрегатный объект (Текст)
- Странная ошибка "ошибка формата потока" с вылетом из сеанса
- Ошибка выполнения запроса "Ошибка при выполнении операции над данными: Ошибка SQL: Де
- v7: Общая файловая ошибка при доступе к файлу. Ошибка загрузки метаданных.
- v7: 1С V7.7 в сети
- v7: Значение не представляет агрегатный объект (Text)?
- v7: 1C:V7 starter program (for SQL) - обнаружена ошибка
В этой группе 1С
- Добавление движений в документ.
- OpenOffice и заполнение DocVariable шаблона Word
- Как эмулировать колесо прокрутки мыши
- Связаны-ли в УНФ пользователи и сотрудники?
- Ошибки "Неверный реквизит заголовка" при импорте Банк-Клиент.
- БП - " Ожидается изменения результатов переоценки вал. средств"
- Как в таблице документа убрать сетку?
- Вывод результата компоновки в таблицу значений
- 1С + АТОЛ: Драйвер устройств ввода
- Обновление из командной строки
- Проблема с принтером этикеток Godex G500
- Что выбрать: УПП и CRM Рарус - автономны базы или их вариант УПП+CRM?
- v7: Помощник перехода на 1С Бухгалтерия 8
- УТ11. Как в фильтре добавить отбор по группе доступа?
- Как списать товар со счета 1531 УПП
- Как открыть внешнюю обработку модально?
- Единая нумерация документов разных организаций в УТ 10.3
- ПараметрыЗаписи.РежимЗаписи
- Не обновляется Журнал документов
- 1С Консолидация. Сверка ВГО по консолидирующим организациям.