Неверный первый параметр ссылка в функции общегоназначения значенияреквизитовобъекта
Особенность при добавлении внешних отчетов в УНФ 1.6
Добавляем внешний отчет в УНФ 1.6, Устанавливаем «тэги» для внешнего отчета в УНФ 1.6; устанавливаем «изображение образца» для внешнего отчета в УНФ 1.6.
Релиз УНФ 1.6.18.145, платформы 8.3.15.1830.
Неверный первый параметр Ссылка в функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта:
— Значение должно быть ссылкой или именем предопределенного элемента
<ОбщийМодуль.ОбщегоНазначения.Модуль(173)>: НСтр(«ru = ‘Неверный первый параметр Ссылка в функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта:
<ОбщийМодуль.ОбщегоНазначения.Модуль(347)>: Результат = ЗначенияРеквизитовОбъекта(Ссылка, ИмяРеквизита, ВыбратьРазрешенные);
<ОбщаяФорма.ФормаОтчетаУНФ.Форма(323)>: ЗначениеРеквизитаПользовательский = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ДопВариант, «Пользовательский»);
Есть совсем простой способ. Возможно, кому-то подойдет.
Добавить теги и изображение внешнего отчета можно в режиме предприятия.
Есть совсем простой способ. Возможно, кому-то подойдет.
Добавить теги и изображение внешнего отчета можно в режиме предприятия.
Сообщение «Неверный первый параметр…» в БГУ 2.0
Вопрос задал Елена* К.
Ответственный за ответ: Ирина Шаврова (★9.89/10)
Здравствуйте.
1С: Бухгалтерия государственного учреждения, редакция 2.0
После обновления программы до релиза 2.0 (2.0.75.42), при подборе номенклатуры в документе Поступление МЗ, стало возникать сообщение «Неверный первый параметр…» (см. вложенный файл) С чем может быть связана эта ошибка? Как исправить?
Заранее спасибо
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Все комментарии (8)
Добрый вечер, Елена!
Посмотрела среди ошибок вашей конфигурации — ошибок не зарегистрировано.
Вы тоже можете таким образом мониторить ошибки, если есть доступ к сайту поддержки пользователей.:
https://bugboard.v8.1c.ru/search
Раньше он мог не проверяться, а после обновления (или сбоя — это тоже нельзя исключать) идет его автоматическая проверка, которая и выдает ошибку.
Я встречала такую ошибку в 1С:Отчетности, поэтому прошу вас, пришлите мне скрин карточки организации, чтобы в ней были видны банклвские реквизиты. Если это то, что было и там — мы это исправим.
Если нет, то придется вам открывать Конфигуратор (у меня подобной конфигурации нет) и мы вместе посмотрим, что в общем модуле Общего назначения в функции Значения реквизитов объекта передается, чтобы определиться, что программа хочет видеть заполненным.
Платформа: 1С:Предприятие 8.3 (8.3.16.1814)
Конфигурация: Бухгалтерия государственного учреждения, редакция 2.0 (2.0.75.42) (http://v8.1c.ru/stateacc/)
Copyright © ООО «1C-Софт», 2011-2020. Все права защищены
(http://www.1c.ru)
Режим: Файловый (без сжатия)
Приложение: Тонкий клиент
Локализация: Информационная база: русский (Россия), Сеанс: русский
Вариант интерфейса: Такси
Ошибки:
———————————————————————————
17.02.2021 12:37:40
Неверный первый параметр Ссылка в функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта:
— Значение должно быть ссылкой или именем предопределенного элемента
<ОбщийМодуль.ОбщегоНазначения.Модуль(165)>: НСтр(«ru = ‘Неверный первый параметр Ссылка в функции ОбщегоНазначения.ЗначенияРеквизитовОбъекта:
<ОбщийМодуль.ОбщегоНазначения.Модуль(351)>: Результат = ЗначенияРеквизитовОбъекта(Ссылка, ИмяРеквизита, ВыбратьРазрешенные, КодЯзыка);
<ОбщийМодуль.БухгалтерскийУчет.Модуль(329)>: КодСчета = СокрП(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Счет, «Код»));
<ОбщийМодуль.БухгалтерскийУчет.Модуль(291)>: КОСГУ = КЭКДетальныйСчета105(Организация, ИФО, КФО, Дата, Счет, ДтКт);
<ОбщийМодуль.УправлениеМатериальнымиЗапасами.Модуль(69)>: Результат.КЭК = БухгалтерскийУчет.КЭКНоменклатуры(Параметры.Организация, Параметры.ИФО, Параметры.КФО,
<ОбщийМодуль.УправлениеМатериальнымиЗапасамиВызовСервера.Модуль(141)>: Возврат УправлениеМатериальнымиЗапасами.ПолучитьДанныеСчетаУчетаНоменклатуры(Параметры);
<ОбщийМодуль.УправлениеМатериальнымиЗапасамиКлиентСервер.Модуль(189)>: ДанныеСчетаДляСтроки = УправлениеМатериальнымиЗапасамиВызовСервера.ПолучитьДанныеСчетаУчетаНоменклатуры(Параметры);
<Документ.ПоступлениеМЗ.Форма.ФормаДокумента.Форма(1537)>: УправлениеМатериальнымиЗапасамиКлиентСервер.УстановитьДанныеСчетаУчетаВСтроке(Строка, ПараметрыОбработки);
<Документ.ПоступлениеМЗ.Форма.ФормаДокумента.Форма(1631)>: ЗаполнитьДанныеСчетаВСтроке(ЭтотОбъект, НоваяСтрока, НЕ ЗначениеЗаполнено(НоваяСтрока.СчетУчета));
<Документ.ПоступлениеМЗ.Форма.ФормаДокумента.Форма(186)>: ОбработатьВыборПодбораНаСервере(ВыбранноеЗначение,ИсточникВыбора.ИмяТаблицы);
<Обработка.ПодборНоменклатуры.Форма.ФормаПодбора.Форма(1066)>: ОповеститьОВыборе(Структура);
<Обработка.ПодборНоменклатуры.Форма.ФормаПодбора.Форма(175)>: ПеренестиНоменклатуруВДокумент();
<Обработка.ПодборНоменклатуры.Форма.ФормаПодбора.Форма(464)>: Закрыть();
Добрый день,
у вас не одна, а целый набор ошибок. Поэтому давайте сначала сделаем так:
1. Почистите кеш 1С (обязательно!) — это очень важно: при обновлении могли поменяться процедуры и функции конфигурации, а кеш, из которого программа берет наиболее часто используемые данные, остался старым.
Его нужно удалить, тогда при входе в 1С автоматически создастся новый кеш. Правильный.
Посмотрите как это делать в 1С:
Очистка кэш 1С 8.3
.
2. Потом запустите 1С и проверьте — ушла ли ошибка.
Это тоже важно, потому что в тестировании программа найдет и покажет «битые» ссылки.
То, что вы показали на скрине строчку останова — неинформативно. Раз уж вы работаете с кодом конфигурации, вам нужно остановиться выше на самом условии, где формируется развился по исполнению кода и посмотреть: как именно передается — и откуда! ссылка, которая анализируется в условии.
Вообще посмотреть в параметры процедуры, где ошибка формируется, узнать, откуда передаются на исполнение эти данные — из какой процедуры.
И так вы по цепочке дойдете до причины.
Обычно, программист просто встает на процедуру исполнения, например, кнопки Подбор и проходит в Отладчике все шаги до появления ошибки. Тогда у него все данные на руках.
Если у вас не доработанная конфигурация — ПОЛНОСТЬЮ типовая, если обновление выполнял тот же человек, что и обычно, то первое, что вы должны сделать — почистить кеши 1С.
Если конфигурация дорабатывалась — без Отладчика вам причину будет не узнать.
3. Если все указанные выше действия не помогут, придется повторить обновление с копии повторно.
Но мне видится, что велика вероятность, что после чистки кеша и заполнения банковских реквизитов в карточке организации, проблема уйдет.
Спасибо) Разобрались сами. Был перенос данных и в карточках номенклатуры были отражены счет учета, которых нет в плане счетов. Применили обработку Групповое изменение данных. Ошибка исчезла
Чтение отдельных реквизитов объекта из базы данных
Область применения: управляемое приложение, мобильное приложение, обычное приложение.
При чтении отдельных реквизитов объекта из базы данных следует иметь в виду, что вызов метода ПолучитьОбъект или обращение к реквизитам объекта через точку от ссылки приводит к загрузке объекта из базы целиком, вместе с его табличными частями.
Поэтому для чтения значений отдельных реквизитов из базы данных следует использовать запрос. Например, неправильно:
СтранаСсылка = … // получаем ссылку на элемент справочника
КодСтраны = СтранаСсылка.Код; // первое обращение загружает объект целиком
НаименованиеСтраны = СтранаСсылка.Наименование;
Запрос = Новый Запрос(
«ВЫБРАТЬ
| СтраныМира.Код,
| СтраныМира.Наименование
|ИЗ
| Справочник.СтраныМира КАК СтраныМира
|ГДЕ
| СтраныМира.Ссылка = &Ссылка»);
Запрос.УстановитьПараметр(«Ссылка», Ссылка);
Выборка = Запрос.Выполнить().Выбрать();
Выборка.Следующий();
КодСтраны = Выборка.Код;
НаименованиеСтраны = Выборка.Наименование;
Для упрощения синтаксиса рекомендуется также использовать специальные функции ЗначенияРеквизитовОбъекта или ЗначениеРеквизитаОбъекта (входят в состав Библиотеки стандартных подсистем).
В этом случае исходный пример будет выглядеть так:
ЗначенияРеквизитов = ОбщегоНазначения.ЗначенияРеквизитовОбъекта(СтранаСсылка, «Код, Наименование»);
КодСтраны = ЗначенияРеквизитов.Код;
НаименованиеСтраны = ЗначенияРеквизитов.Наименование;
Оптимизация обращений к реквизитам объектов через точку
В базе сделана куча проверок, где идет обращение к реквизитам через точку.
Например, Заказ.Договор.Владелец.ИНН
Это съедает скорость работы. Одна проверка через такое обращение занимает 38%.
1) Написание общей функции повторного использования, которая делает обращение к промежуточным данным (чтобы минимизировать вероятность получения устаревших данных). Примерно так:
ПовтИсп.ЗначениеРеквизита(Заказ,»Договор.Владелец»).ИНН
есть еще какие-то варианты?
Долго возможно. Скорость выполнения увеличится точно.
Но есть разные нюансы. Например, если этот код выполняется в цикле, то переписав на запрос можно получить обратный эффект.
В первом будет количество вызовов 2 + 3 + 3 = 8
Во втором количество вызовов 1 + 1 + 1 + 1 + 1 = 5
Здесь на 3 строчках сэкономили 3 вызова. А таких строчек, где переписав код можно получить выигрыш в типовых конфигурациях тысячи. Особенно, хороший выигрыш можно получить когда такой код находится внутри процедур и функций (так как они вызываются многократно), а также внутри циклов.
Это общее правило программирования, которое должно применяться повсеместно, на каком бы языке программирования не писался код и к сожалению это правило многие игнорируют. В результате имеем тормознутые сайты, а в случае с 1С тормознутые конфигурации. Конфигурации тормозят конечно не только из за нарушения этого принципа, тормозов в них и без него хватает, но нарушая основные правила программирования эти тормоза дополнительно усугубляются.
Неверный первый параметр ссылка в функции общегоназначения значенияреквизитовобъекта
Обслуживание
29.12.2014
Автоматизация бухгалтерского учета ООО «НАЙСЛЭНД» выполнена сотрудниками фирмы «Сервистренд» на базе ПП «1С:Бухгалтерия 8. ПРОФ»
ПОДРОБНЕЕ |
29.12.2014
Автоматизация бухгалтерского учета ЗАО «ЛА ВИНЧИ» выполнена сотрудниками фирмы «Сервистренд» на базе ПП «1С:Комплексная Автоматизация 8»
ПОДРОБНЕЕ |
Неверный первый параметр Ссылка: Значение должно быть ссылкой или именем предопределенного элемента.
Остались вопросы? Получите бесплатную консультацию наших специалистов!
Ваш заказ успешно отправлен,
наши менеджеры свяжутся
с Вами в ближайшее время
17.09.2021
22 сентября вебинар! 1С без администратора – это возможно!
Не пропустите!
ПОДРОБНЕЕ
17.09.2021
21 сентября вебинар! Дополнительные возможности 1С-отчетности.
Приглашаем на вебинар!
ПОДРОБНЕЕ
17.09.2021
20 сентября вебинар! 1С- ЭТП(Электронно-торговая площадка) свежий взгляд на подготовку к аукционам и 1С-Коннект Расширенный функционал!
Регистрируйтесь!
ПОДРОБНЕЕ
05.09.2021 10:56:00
Зарплата и Управление Персоналом, редакция 3
3.1.18.189
05.09.2021 10:55:00
Зарплата и управление персоналом КОРП, редакция 3
3.1.18.189
05.09.2021 10:54:00
Зарплата и Управление Персоналом базовая, редакция 3
3.1.18.189