Ошибки в предопределённых элементах

Публикация № 310542 02.11.14

Приемы и методы разработки - Механизмы платформы 1С

Предопределенный элемент отсутствует в данных Предопределенный элемент не уникален

В 8.3.3 в 1С добавилась возможность программно привязывать предопределенные элементы к элементам ИБ.
Периодически при сбоях, обменах либо ошибках в используемом программном коде соответствие между предопределенными элементами и элементами ИБ может сбиваться.
Какие ситуации бывают, как они возникают и как с ними бороться.

Сама идея программной работы с предопределенными элемементами, на мой взгляд, очень правильная. Просто есть нюансы, которые нужно учитывать при работе.

Для начала необходимо четко осознать для себя, что есть предопределенные элементы в конфигурации и есть предопределенные элементы в информационной базе (ИБ). Технически предопределенные элементы ИБ это самые обычные элементы справочников, у которых в реквизите "ИмяПредопределенныхДанных" указано, какому предопределенному элементу конфигурации они соответствуют. Ничем больше они от обычных элементов не отличаются. Соответственно, любой обычный элемент ИБ можно сделать предопределенным, любой предопределенный обычным. Для этого достаточно вписать нужное значение в реквизит "ИмяПредопределенныхДанных". 

Периодически в этом свойстве оказывается не то значение, которое предусмотрел разработчик. В результате возникают ошибки в работе 1С. От критичных, при которых работа в принципе невозможна, до некритичных, при которых нарушается логика работы алгоритмов.

Условно можно выделить три типа ошибок:
1. "Предопределенный элемент отсутствует в данных";
2. "Предопределенный элемент не уникален";
3.  Неверное указание предопределенного элемента;

1. "Предопределенный элемент отсутствует в данных" - отсутствие описанного в конфигурации предопределённого элемента в данных ИБ. 

Это наиболее простой в отладке и исправлении тип ошибки. Его простота в том, что платформа достаточно корректно сообщает об этой ситуации "Предопределенный элемент отсутствует в данных" и вполне понятно, как её исправить.

При обращении к отсутствующему элементу в коде "Справочники.ВидыКонтактнойИнформации.EmailКонтактногоЛица"  выдается сообщение

предопределенный элемент отсутствуетв данных

При обращении к элементу в запросе "ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.EmailКонтактногоЛица)" выдается сообщение:

предопределенный элемент отсутствуетв данных

Такая ошибка возникает в случае, если элемент в конфигурации описан, но в базе ему элемент не сопоставлен. 

Для начала уточним, что такая ситуация не всегда является ошибочной. Вполне возможным является использование предопределённых данных в какой-то программной логике, которая для большинства пользователей может не использоваться. В этом случае, чтобы не захломлять справочник у всех пользователей конфигурации, логично определить предопределенные элементы в конфигурации, но не создавать их во всех ИБ, а лишь для тех ИБ, в которых нужная логика конфигурации используется. В этом случае программист может указать для справочника свойство "Не обновлять предопределенные данные" и создать элементы програмно при обращении к функционалу модуля. Либо дать возможность пользователю самостоятельно привязать предопределенные элементы модуля к имеющимся у него обычным элементам.

Также не используется автоматическое создание предопределенных элементов при работе в режиме РИБ. Так как новые элементы должны передаваться из центральной базы, а не создаваться в узлах с отличающимися УИДами.

Т.е. иногда ошибкой является обращение в несопоставленному элементу, а не само наличие такого элемента.

Необходимо проанализировать, почему элемент не создан. Возможно, он должен создаться при выполнении какого-либо режима программы. Например, после выполнения обмена в РИБ. А возможно, его просто случайно удалили.

Если логикой предусмотрено заполнение предопределенных элементов не автоматически, а отдельным режимом, то перед использование обращения по имени "Справочники.ВидыКонтактнойИнформации.EmailКонтактногоЛица" для предотвращения исключительной ситуации желательно проверить, что элемент уже есть в базе. Если элемент отсутствует, то сообщить пользователю об этом и объяснить, какой режим ему нужно выполнить для заполнения элемента. Для такой проверки можно выполнить запрос к данным. 

	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	ВидыКонтактнойИнформации.Ссылка
		|ИЗ
		|	Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
		|ГДЕ
		|	ВидыКонтактнойИнформации.ИмяПредопределенныхДанных = ""EmailКонтактногоЛица""";
	ЭлементОтсутсвуетВДанных = Запрос.Выполнить().Пустой();

Если это все-таки ошибка в данных базы, то необходимо выполнить привязку к предопределенному элементу элемента ИБ. Т.е. необходимо объяснить системе, к какому элементу ИБ должен обратиться программный код по данному имени. Технически привязка это просто указание имени предопределенного элемента в свойстве "ИмяПредопределенныхДанных" элемента ИБ. Для ее установки достаточно выполнить код:

ОбновляемыйОбъект = СсылкаНаОбъект.ПолучитьОбъект();
ОбновляемыйОбъект.ИмяПредопределенныхДанных = "НашеИмяПредопределенногоЭлемента";
ОбновляемыйОбъект.ОбменДанными.Загрузка = Истина;
ОбновляемыйОбъект.Записать();

2. "Предопределенный элемент не уникален" - задвоенные предопределенные элементы:

Эта ситуация заключается в том, что к одному предопределенному элементу привязано несколько элементов ИБ. В этом случае при обращении к предопределенному имени элемент будет выбираться случайным образом. Такая ситуация всегда ошибочна. Ее сложность в том, что платформа никак о ней не сообщает. Просто алгоритмы начинают работать неверно.

Платформа сообщит об ошибке "Предопределенный элемент не уникален" лишь при попытке редактирования задублированного элемента.

Предопределенный элемент не уникален

До тех пор, пока никому не понадобится редактировать элемент, об ошибке никто не узнает.

Такие дубли могут создаться, например, если для справочника используеися РИБ и в свойствах для предопределенных данных указан режим "Обновлять автоматически". В этом случае при выполнении обмена один экземпляр предопределенных данных создастся при обновлении конфигурации. Второй экземпляр предопределенных элементов с тем же именем передастся из центральной базы при обмене.

Также эти дубли возникнут при использовании обработок обмена между конфигурациями в случае, если в разных базах предопределенным элементам соответствеют разные элементы ИБ. В этом случае один экземпляр предопределенных данных в базе уже есть, второй придет при выполнении загрузки данных с другим УИДом. Если вы выполняете переносы данных, необходимо решить, элементы какой базы считаются основными и использовать их же в подчиненной базе. В подчиненной базе необходимо заменить использование старых элементов на элементы основной базы. 

Такие ошибки в базе данных можно выявить запросом вида:

ВЫБРАТЬ
    ВидыКонтактнойИнформации.ИмяПредопределенныхДанных,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВидыКонтактнойИнформации.Ссылка) КАК КоличествоПредопределенных
ИЗ
    Справочник.ВидыКонтактнойИнформации КАК ВидыКонтактнойИнформации
СГРУППИРОВАТЬ ПО
    ВидыКонтактнойИнформации.ИмяПредопределенныхДанных
ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ВидыКонтактнойИнформации.Ссылка) > 1

Этот запрос вернет перечень предопределенных элементов, с которым связано более одного элемента ИБ.

При наличии таких элементов необходимо убрать для одного из них связь с предопределенным. Т.е. необходимо однозначно определить для системы, к какому элементу ИБ должен обратиться программный код при использовании данного имени.  Для этого достаточно выполнить код.

ОбновляемыйОбъект = СсылкаНаЭлемент.ПолучитьОбъект();
ОбновляемыйОбъект.ИмяПредопределенныхДанных = "";
ОбновляемыйОбъект.ОбменДанными.Загрузка = Истина;
ОбновляемыйОбъект.Записать();

 

3. Неверное указание предопределенного элемента. 

Ошибка заключается в том, что предопределенному элементу соответствует не тот элемент, который предусмотрен логикой программы.  Такие ошибки наиболее сложны в диагностике. В отличие от первых двух типов, на наличие этих ошибок автоматически проверить конфигурацию нельзя.  Их можно выявить только анализируя логику работы. При возникновении сомнений можно проверить, нужный ли элемент используется.

Для этого достаточно выполнить одну из команд.

//Определение элемента ИБ, который привязан к нужному предопределенному
Сообщить(Справочники.ВидыКонтактнойИнформации.EmailКонтактногоЛица) 
//Определяем предопределенный элемент, к которому привязан выбранный
Сообщить(СсылкаНаЭлемент.ИмяПредопределенныхДанных)

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

Ну и кратко об ошибках при программной работе или в режиме конфигуратора:

"Предопределенный элемент не принадлежит <Имя справочника>" - ошибка возникает при попытке записать предопределенный элемент с именем, не совпадающим с именем в коонфигураторе.

"Не предопределенные объекты не могут иметь предопределенные записи видов субконто" - ошибка возникает при попытке сделать элемент предопределенный плана счетов непредопределенным. Для устранения ошибок необходимо у каждой строки субконта элемента снять признак "Предопределенное".

"Не предопределенные объекты не могут иметь предопределенные записи ведущих видов расчетов"  - ошибка возникает при попытке сделать предопределенный элемент плана видов расчета непредопределенным. Для устранения ошибок необходимо у каждой строки ведущего вида расчета элемента снять признак "Предопределенное".

"Предопределенные элементы не уникальны" - ошибка выдается в конфигураторе при обновлении информационной базы на релиз конфигурации без режима совместимости с 8.3.4. Необходимо до обновления проверить дубли и устранить их.

"Имя предопределенного элемента не уникально" - ошибка возникает при наличии в конфигурации нескольких одноименных предопределенных элементов при обновлении на платформу 8.3.6.2332 и выше. Необходимо устранить дубли в конфигурации.

Для работы с предопределенными данными рекоммендую обработку "Установка предопределенных элементов: просмотр, исправление и поиск ошибок (задвоенных и отсутствующих)". Она умеет выполнять любые действия с предопределенными данными, а также может проверить конфигурацию вцелом на наличие во всех объектах ИБ (справочниках, планах счетов, ПВХ, ПВР) ошибок первых двух типов (задвоенных и отсутствующих элементов). 

Специальные предложения

Вознаграждение за ответ
Показать полностью
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. monkbest 115 06.11.14 13:15 Сейчас в теме
2. buval 62 22.03.15 16:56 Сейчас в теме
Спасибо за сведения. В РИБ была аналогичная ошибка
"Справочник.УдалитьСтатусыНалогоплательщиковПоНДФЛ.Резидент. Предопределенный элемент отсутствует в данных"

Изменил предложенный код и всё получилось
СсылкаНаОбъект=Справочники.УдалитьСтатусыНалогоплательщиковПоНДФЛ;
ОбновляемыйОбъект = СсылкаНаОбъект.СоздатьЭлемент();// .ПолучитьОбъект();
ОбновляемыйОбъект.ИмяПредопределенныхДанных = "Резидент";
ОбновляемыйОбъект.Наименование= "Резидент";
ОбновляемыйОбъект.ОбменДанными.Загрузка = Истина;
ОбновляемыйОбъект.Записать();
mpvrus21; Aspire1C; d.zhukov; valentinanb; Ioryk; +5 Ответить
18. Ioryk 25.01.17 13:33 Сейчас в теме
(2) Спасибо, и у меня получилось, хотя то же пришлось поправить...:
&НаСервере
Процедура НС_Установить()
СсылкаНаОбъект =ОбектПредопределенных;
ОбновляемыйОбъект = СсылкаНаОбъект.ПолучитьОбъект();
ОбновляемыйОбъект.ИмяПредопределенныхДанных = "РазрешитьВыборКартыБезEmailПодтверждения";
ОбновляемыйОбъект.Наименование= "Разрешить Выбор Карты Без Email Подтверждения";
ОбновляемыйОбъект.ОбменДанными.Загрузка = Истина;
ОбновляемыйОбъект.Записать();
КонецПроцедуры
Показать
3. capitan 2198 07.04.15 19:36 Сейчас в теме
Хорошая статья. Помогла.
А не пробовали разбираться, что меняется в базе, чтобы в периферийном узле предопределенные элементы не обновлялись из конфигуратора ?
Вариант - отстутствие главного узла не проходит.
Не пробовал правда саму базу сделать на время главной.
4. ekaruk 5713 07.04.15 19:52 Сейчас в теме
(3) capitan, Зависит от свойства "Обновление предопределеныых данных" конкретного справочника.
Если "Авто", то в подчиненных базах предопределенные элементы создаваться не будут. Должны прийти с обменом.
Если "обновлять автоматически", то всегда будут создаваться.
5. capitan 2198 07.04.15 23:14 Сейчас в теме
(4) Не поняли мой вопрос.
Откуда база узнает ,что она периферийная ?
Вариант - отстутствие главного узла не проходит.
Удалял главный узел, все равно предопределенные элементы не создаются.
Т.е. база еще где то помнит, что она была периферийной.
MaxDen; KirinaAS; mea27; +3 Ответить
6. ekaruk 5713 08.04.15 11:24 Сейчас в теме
(5) capitan, Теоретически должны пересоздаться при следующем обновлении конфигурации.
Т.е. отключить от центрального узла и что-то изменить в конфигурации (банально пробел где-то добавить)
Либо запустить с ключем /SetPredefinedDataUpdate

Еще зависит от конфигурации.
Может быть программно установлен другой режим обновления методом УстановитьОбновлениеПредопределенныхДанных()
7. maikl007 87 27.04.15 07:58 Сейчас в теме
Спасибо хорошая статейка, и обработка помогла
8. markers 266 22.07.15 12:20 Сейчас в теме
Полезная статья, спасибо!
9. KliMich 26.10.15 23:07 Сейчас в теме
Очень вовремя, спасибо!
Обработка как раз кстати...
10. dsp123 10.11.15 17:02 Сейчас в теме
По поводу "самого простого способа №1"
при переходе с БП на БСО в конфигураторе появились несколько специфических предопределенных «строительных» счетов. в базе данных есть соответствующие им элементы, но связать их никак не получается. При обращении обработками из режима предприятие счета не видны (ни обработкам, ни пользователю). То есть, чтобы связать предопределенные элементы с данными их надо увидеть из пользовательского режима, а для этого они должны быть уже связаны… Как выйти из этого порочного круга?
11. ekaruk 5713 10.11.15 19:33 Сейчас в теме
(10) dsp123, Что имеется в виду под "Не видны"?
Если они есть в базе, то их просто нужно выбрать.
Если нету, то создать элементы в базе и привязать.
12. Tolyasik 15.03.16 12:59 Сейчас в теме
Здравствуйте! Ребят подскажите что можно сделать. В плане счетов ЕПСБУ в счете 104.36 появилась галочка "Нет учета по КПС" хотя галочки "Заболансовый" нет, при попытке изменить выдает сообщение что предопределенный элемент не уникален. Я не особый специалист 1С, я только учусь, по этому прошу вашей помощи!
13. ekaruk 5713 15.03.16 16:16 Сейчас в теме
(12) Tolyasik, Как раз об этом второй раздел данной статьи
2. "Предопределенный элемент не уникален" - задвоенные предопределенные элементы:
Несколько элементов ИБ привязаны к одному предопределенному в конфигурации.
Эти проблемы отлично решает обработка
http://infostart.ru/public/305892/
14. Spacer 337 05.04.16 10:52 Сейчас в теме
Добрый день!

"Предопределенный элемент не принадлежит <Имя справочника>" - ошибка возникает при попытке записать предопределенный элемент с именем, не совпадающим с именем в коонфигураторе.

А почему такая ошибка возникает в запросе, в типовом ЗУП 3.0?

Я добавил в справочник "ПоказателиРасчетаЗарплаты" новый предопределенный элемент, и теперь выскакивает соответствующая ошибка.

Общий модуль "СтандартныеПодсистемыПовтИсп", функция "ПредопределенныйЭлемент()", текст запроса:

ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
	ПОКАЗАТЕЛИРАСЧЕТАЗАРПЛАТЫ.Ссылка КАК Ссылка
ИЗ
	Справочник.ПоказателиРасчетаЗарплаты КАК ПОКАЗАТЕЛИРАСЧЕТАЗАРПЛАТЫ
ГДЕ
	ПОКАЗАТЕЛИРАСЧЕТАЗАРПЛАТЫ.ИмяПредопределенныхДанных = &ИмяПредопределенного

-----------------------------------
Вопрос снят. Протупил. В запрос передавалось неправильное имя предопределенного.
15. mixqn 21.08.16 21:55 Сейчас в теме
(14) Spacer, столкнулся с аналогичной ситуацией. хоть убей не понимаю, почему это должно вызывать ошибку, а не просто пустой результат запроса, как при поиске по любому другому реквизиту строкового типа. бред какой-то...
16. cbu23 22.12.16 12:31 Сейчас в теме
Добрый день! В бух. 3.0 Что то случилось со справочником ВидыКонтактнойИнформации. Когда открываешь справочник, то он пуст. Скачала Вашу обработку, но она видит все предопределенные элементы справочника и ошибок не находит. При этом в любом справочнике, где используется контактная информация ни адрес ни телефон заполнить нет возможности, просто нет гиперссылок. Может вы встречались с такой ситуацией и можете что то посоветовать? Бьюсь уже 2 дня.
17. Den_Zenit 18 21.01.17 16:24 Сейчас в теме
Спасибо! очень помогло...ошибка возникла в справочнике "Страны Мира"
19. Sean1s 8 13.04.17 10:26 Сейчас в теме
У нас, в ЗУП 2.5, после очередного обновления конфы потребовалось перейти на 8.3. Это было в середине марта. И вот вчера обнаружилось что в документе "Начисление страховых взносов" перестали рассчитываться ФСС НС и ПЗ. Колонка ФСС заполняется, а ФСС НС и ПЗ - нет.
Два дня искал причину и нашёл - в справочнике ДоходыПоСтраховыхВзносам в предопределенном элементе "ОблагаетсяЦеликом" значение реквизита ВходитВБазуФСС_НС стало Ложь.
Что характерно у нас несколько баз ЗУП. И в двух из них всё в порядке, а в остальных такое вот.
Почему? Мне вот не понятно.
20. markovki 19 07.03.18 15:29 Сейчас в теме
Благодарю автора за статью.
Столкнулись с первой ошибкой, по факту решение пришло неожиданно, когда добавили в режиме предприятия исчезнувшую статью движения денежных средств "Оплата от покупателя", то система автоматически привязала его к предопределенному элементу с таким же наименованием.
При чем реквизиты создаваемого элемента "оплата от покупателя" ДОЛЖНЫ быть заполнены в точности, как в демо базе, по крайней мере в нашем случае ВидОперации должен был быть правильно заполнен.
21. HamitovaRaisa 24.06.18 13:15 Сейчас в теме
Добрый день) Видимо, я что-то недопонимаю, хотя в 1С работаю уже не 1-й год. Нет у меня в справочнике свойства ИмяПредопределенныхДанных через запрос. Вот код:

Процедура ()
Об=Справочники.Автоработы.НайтиПоКоду("ЦБ000000373").ПолучитьОбъект();
Об.ИмяПредопределенныхДанных="ОсмотрАвтомобиля";
Об.Записать();
КонецПроцедуры

Ругается:
Поле объекта не обнаружено (ИмяПредопределенныхДанных)

Откуда вы видите это свойство в справочнике?
22. spacecraft 24.06.18 15:08 Сейчас в теме
(21)
Поле объекта не обнаружено (ИмяПредопределенныхДанных)

Прямо вот точно так ругается? Или может там другая формулировка.
ИмяПредопределенныхДанных не назначает любому элементу справочника произвольное предопределенное имя.
Оно назначает уже имеющееся предопределенное имя выбранному элементу справочника, при условии, что этот предопределенный элемент никакому объекту не назначен (как вариант - удален из базы).

В качестве примера:
Предположим, что конфигурации в справочнике "Автоработы" есть предопределенный элемент "ОсмотрАвтомобиля".
Попытка
	ПредопределенныйЭлемент = Справочники.Автоработы.ОсмотрАвтомобиля.ПолучитьОбъект();
	ПредопределенныйЭлемент.ИмяПредопределенныхДанных = Неопределено;
	ПредопределенныйЭлемент.Записать();
Исключение
КонецПопытки;

НовыйПредопределенныйЭлемент = Справочники.Автоработы.НайтиПоКоду("ЦБ000000373").ПолучитьОбъект();
НовыйПредопределенныйЭлемент.ИмяПредопределенныхДанных = "ОсмотрАвтомобиля";
НовыйПредопределенныйЭлемент.Записать();
Показать
23. HamitovaRaisa 24.06.18 16:28 Сейчас в теме
Полностью Скопировала код. Вот такое сообщение выходит:

{ВнешнийОтчет.ВнешнийОтчет1.Форма.ФормаОтчета.Форма(3126)}: Поле объекта не обнаружено (ИмяПредопределенныхДанных)
НовыйПредопределенныйЭлемент.ИмяПредопределенныхДанных = "ОсмотрАвтомобиля";
24. HamitovaRaisa 24.06.18 16:30 Сейчас в теме
Полностью скопировала код. Вот такое сообщение выходит:

{ВнешнийОтчет.ВнешнийОтчет1.Форма.ФормаОтчета.Форма(3126)}: Поле объекта не обнаружено (ИмяПредопределенныхДанных)
НовыйПредопределенныйЭлемент.ИмяПредопределенныхДанных = "ОсмотрАвтомобиля";
25. HamitovaRaisa 24.06.18 16:32 Сейчас в теме
Полностью скопировала код. Вот такое сообщение выходит:

{ВнешнийОтчет.ВнешнийОтчет1.Форма.ФормаОтчета.Форма(3126)}: Поле объекта не обнаружено (ИмяПредопределенныхДанных)
НовыйПредопределенныйЭлемент.ИмяПредопределенныхДанных = "ОсмотрАвтомобиля";
(22)
26. spacecraft 24.06.18 16:53 Сейчас в теме
(25) версия платформы и режим совместимости?
В самой публикации в самом начале указано: "В 8.3.3".
27. HamitovaRaisa 24.06.18 21:24 Сейчас в теме
8.3.10.2580, режим совместимости: 8.2.16
28. spacecraft 24.06.18 22:33 Сейчас в теме
(27)
режим совместимости: 8.2.16

Вот и ответ. В 8.2 нет этого функционала.
29. HamitovaRaisa 26.06.18 22:49 Сейчас в теме
30. m.pikhota 14.08.18 15:47 Сейчас в теме
Спасибо за статью!
Добавлю что в типовых ЗУП 3.1 и БУХ 3 есть функция для получения ссылки предопределенного элемента по его полному имени
Например:
ОбщегоНазначенияКлиентСервер.ПредопределенныйЭлемент("Справочник.ВидыИспользованияРабочегоВремени.РаботаВечерниеЧасы")

// Возвращаемое значение:
// ЛюбаяСсылка - ссылка на предопределенный элемент.
// Неопределено - если предопределенный есть в метаданных, но не создан в ИБ.

При ее использовании не будет происходит ошибка ""Предопределенный элемент отсутствует в данных"", как при прямом обращении к предопределенному элементу например "Справочник.ВидыИспользованияРабочегоВремени.РаботаВечерниеЧасы"
в том случае, например, если в базе не используются "Вечерние часы" и элемент в ИБ не был поэтому целенаправленно создан.
31. shved 01.10.18 13:18 Сейчас в теме
вставлю 5 копеек для плана счетов (ругалось при обновлении на 65ый БП3)

М = Метаданные.ПланыСчетов.Хозрасчетный.ПолучитьИменаПредопределенных();
	Для каждого Имя Из М Цикл
		
		Попытка
			Ссылка = ПланыСчетов.Хозрасчетный[Имя].Ссылка;
			ОбновляемыйОбъект = Ссылка.ПолучитьОбъект();
			ОбновляемыйОбъект.ИмяПредопределенныхДанных = Имя;
			ОбновляемыйОбъект.ОбменДанными.Загрузка = Истина;
			ОбновляемыйОбъект.Записать();

		Исключение
		    ОбновляемыйОбъект = ПланыСчетов.Хозрасчетный.СоздатьСчет();
		    ОбновляемыйОбъект.ИмяПредопределенныхДанных = Имя;
			ОбновляемыйОбъект.ОбменДанными.Загрузка = Истина;
			ОбновляемыйОбъект.Записать();
		КонецПопытки;
	КонецЦикла;
Показать
Deda; Aspire1C; veselon; +3 Ответить
32. selez-a 17 20.03.19 11:29 Сейчас в теме
Спасибо, статья помогла. В БП3 в конфигураторе у справочника СтатьиЗатрат есть предопределенное значение "КомандировочныеРасходы" в режиме 1С Предприятия, такого элемента не было. Пришлось добавлять элемент, используя ваш код.
33. lev6975 09.11.20 12:24 Сейчас в теме
У меня было предопределенный элемент отсутствует в данных, после обновления, хотя, элемент был. Решилось установкой параметра Обновление предопределенных данных в "Обновлять", удалением предопределенного объекта и созданием нового
34. Mousecom 13.05.21 15:49 Сейчас в теме
Спасибо за статью. Очень выручила на бардачной базе при обновлении.
35. zan0zzza 25.10.21 13:03 Сейчас в теме
Спасибо! Очень пригодилась эта информация!
36. dream991 03.04.22 16:07 Сейчас в теме
37. Veika 25 24.06.22 13:05 Сейчас в теме
Сегодня такая же ошибка появилась при обновлении на базовой БП 3.0, подскажите, как базовую исправить?
Оставьте свое сообщение

См. также

Использование классов .Net в 1С для новичков Промо

Механизмы платформы 1С v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    88828    Serginio    116    

Состав индексов с дополнительным упорядочиванием на уровне СУБД (MS SQL) при индексации реквизитов

Механизмы платформы 1С v8 Бесплатно (free)

В момент обсуждения с коллегами работы индексов в 1С был затронут один из вопросов, который касался темы - каким образом происходит построение индексов при индексации реквизитов у объектов 1С (конкретнее, когда свойство реквизита "Индексировать" устанавливается в "Индексировать с доп. упорядочиванием"). Ранее я всегда опирался на знания, полученные в процессе чтения официальной документации от компании 1С, опубликованной на ITS. Наши мнения в этом вопросе разошлись и, как оказалось позже, мои знания не были актуальными, в итоге было проведено некоторое исследование по данному вопросу, чтобы выяснить истину.

15.06.2022    1145    sinichenko_alex    5    

Динамическое обновление - это зло?

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Копнем глубже в тему "Что же такое динамическое обновление" и почему оно может привести к проблемам. И может ли?

09.05.2022    9728    YPermitin    75    

Об одной неочевидной проблеме перехода на версию платформы 8.3.20

Механизмы платформы 1С v8 Бесплатно (free)

При переходе на платформу 8.3.20 мы столкнулись с ошибкой "Повторяющийся псевдоним "Ссылка" Ссылка AS Ссылка,Presentation AS Presentation,Ссылка AS Ссылка" в ряде типовых конфигураций. Причём, эта проблема оказались неизвестна ни Яндексу, ни Гуглу. Путём мучительных экспериментов нам удалось найти решение. Пока я ещё не уверен, действительно это решение или обходной костыль, а настоящая проблема -- в чём-то другом, но это решение работает в ситуации, когда всё сломалось, а проблему надо решать срочно. Предположительная причина: платформа 8.3.20 более строго относится к типизации данных в запросах, чем предыдущие версии, вываливая в случае несоблюдения новшеств малопонятные ошибки.

08.04.2022    4080    Kernelbug    22    

Использование программных перечислений, ч.1: строковые константы Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    41977    unichkin    74    

Отборы динамического списка

Механизмы платформы 1С v8 Бесплатно (free)

Динамический список предоставляет несколько объектов "Отбор". В статье разбирается, какой для чего нужен и как их использовать на форме. Рассматриваются только возможности платформы (без БСП).

28.03.2022    5130    Gladkov_Anton    4    

Фишки платформы 1С 8.3 для начинающего разработчика

Механизмы платформы 1С v8 1cv8.cf Россия Бесплатно (free)

В данной заметке рассмотрены вспомогательные инструменты платформы, которыми часто пренебрегают начинающие программисты 1С.

11.03.2022    7969    Dimbayyyy    96    

Экспертный кейс. Расследование деградации производительности системы. Проведение документа “Поступление товаров и услуг” (1С:ERP 2)

Механизмы платформы 1С Запросы HighLoad оптимизация v8 ERP2 Бесплатно (free)

В ходе проведения нагрузочного тестирования одним из наших клиентов была выявлена сильная деградация производительности системы в целом и, в частности, выполнения ключевой операции “Проведение документа поступление товаров и услуг” в течение выполнения теста. Согласно данным подсистемы БСП “Оценка производительности”, время выполнения ключевой операции “Проведение документа поступление товаров и услуг” возрастало в процессе тестирования с 15-20 секунд в начале тестирования до 150-200 секунд в его финале.

02.03.2022    3028    it-expertise    47    

Вспомогательные инструкции в коде 1С Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    38203    tormozit    107    

Модульная архитектура или пара слов о расширениях. Часть I (мысли, рассуждения)

Механизмы платформы 1С v8 Бесплатно (free)

Статья-размышление о том, какое может быть применение технологии расширений 1С и зачем нам, разработчикам/программистам на 1С, знать общепринятые паттерны проектирования приложений. Итак, а что если я вам скажу, что технология расширений 1С - это одно из прекрасных новшеств компании 1С? Пусть эта статья будет хвалебной одой расширениям 1С.

14.02.2022    4810    amon_ra    67    

Синхронный и асинхронный вызов в новых версиях платформы

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Начиная с платформы 8.3.18.1128 переработана технология работы с асинхронными вызовами. В данной статье хочу описать новые асинхронные вызовы и сравнить их с предыдущими на примере функции - Вопрос на клиенте.

31.01.2022    3626    Shining_ninja    15    

Несколько простых приемов для удобной работы в конфигураторе

Универсальные функции Механизмы платформы 1С v8 Бесплатно (free)

Простая и удобная среда разработки 1С:Предприятия позволяет практически любому человеку начать работать под капотом 1С - в конфигураторе. Время идет, новички становятся программистами, специалистами, а об удобных приемах работы узнают годами, по ходу своего карьерного пути. А здорово было бы, если бы все знали удобные приемы в начале своего пути? Эти несколько приемов будут полезны новичкам, так как они затрагивают ту область работы, с которой приходится сталкиваться в начале карьеры.

12.11.2021    8497    acces969    95    

Как прикрутить ГУИД к регистру сведений Промо

Механизмы платформы 1С v8 Бесплатно (free)

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

16.04.2019    24110    m-rv    18    

Как спроектировать структуру регистра сведений

Механизмы платформы 1С v8 v8::Запросы Бесплатно (free)

«Что может быть проще?» — это первое, что приходит в голову. Но что, если это не так? В этой статье мы попробуем затронуть некоторые вопросы, которые могут возникнуть при проектировании больших регистров.

08.11.2021    6755    Neti    60    

О вложенных попытках, исключениях и о представлении ошибок

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

В данной статье, на небольшом примере, мне бы хотелось показать, как себя ведут вложенные "Попытка-Исключение". А также о том, чем отличаются методы ОписаниеОшибки() и ИнформацияОбОшибке().

07.11.2021    4583    Nicholas    17    

Обработчик ожидания. Нюансы

Механизмы платформы 1С v8 Бесплатно (free)

ПодключитьОбработчикОжидания: некоторые подробности и особенности работы

24.08.2021    13341    Yashazz    25    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

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

05.12.2017    31401    itriot11    34    

Прогресс-бар в поле динамического списка

Механизмы платформы 1С v8 Бесплатно (free)

Изображаем прогресс-бары в колонке динамического списка

23.08.2021    3524    Yashazz    13    

ПриПолученииДанныхНаСервере + Контекст формы. Лайфхак

Механизмы платформы 1С v8 Бесплатно (free)

Передать свои произвольные данные в событие, которое "без контекста"? Легко!

13.08.2021    4826    Yashazz    16    

Новичок новичку: как добавить программно кнопку на форму путем расширения

Механизмы платформы 1С v8 Россия Бесплатно (free)

Рассказываю очень простым языком, как добавить программно кнопку в типовую конфигурацию. Сам новичок в этом деле и рассказываю на "новичковом" языке.

13.05.2021    20643    user1312100    24    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

Механизмы платформы 1С v8 Бесплатно (free)

По роду своей деятельности, мне часто приходится обсуждать с программистами детали реализации той или иной функциональности. Очень часто, разговаривая даже с квалифицированными специалистами я сталкиваюсь с незнанием сути платформенной функциональности Повторного использования возвращаемых значений общих модулей. В данной статье я постараюсь дать краткий обзор и основные особенности этой функциональности.

04.09.2017    61141    m-rv    63    

Программное создание расширения

Механизмы платформы 1С v8 Бесплатно (free)

Создание нового расширения "на лету", только штатными средствами 1С.

06.04.2021    5391    Yashazz    14    

Неочевидные нюансы записи управляемой формы

Механизмы платформы 1С v8 v8::УФ Платформа 1C v8.2 1cv8.cf Бесплатно (free)

Разберем несколько нюансов записи управляемой формы.

02.04.2021    19551    SeiOkami    56    

Советы из Желтой тетради 📒 #1

Механизмы платформы 1С v8 Бесплатно (free)

В этой публикации я собрал в одном месте часть советов и лайфхаков, которые открыл для себя в последнее время. Регулярно я публикую их в своём телеграм-блоге "Жёлтая тетрадь 📒 Блог программиста 1С", здесь же - дайджест этих публикаций.

15.03.2021    5535    builin    120    

Регулярные выражения без внешних компонент? Легко! Промо

Механизмы платформы 1С v8 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    75242    starik-2005    109    

Флаг "Использовать ПОЧТИ всегда", или Нюанс динамических списков

Механизмы платформы 1С v8 Платформа 1C v8.2 1cv8.cf Бесплатно (free)

Небольшая пятничная история по программной работе со строкой динамического списка.

11.02.2021    7393    SeiOkami    36    

Расширенный автоподбор при вводе по строке в поле ввода в управляемых формах

Механизмы платформы 1С v8 v8::УФ 1cv8.cf Бесплатно (free)

Началось все с того, что штатный автоподбор при вводе по строке в поле ввода для некоторых больших справочников устраивать перестал. Вообще, для способа поиска строки "Любая часть" он работает на первый взгляд очень хорошо: работает как полнотекстовый (т.е. по нескольким словам) даже без активации полнотекстового поиска, красиво подсвечивает слова поиска в результатах. Казалось бы, все отлично. Но есть неприятное ограничение - всего лишь 10 значений в результирующем списке (у вас может быть несколько больше, так как платформа неявно добавляет результаты поиска по истории ввода). Для небольших справочников или справочников с разнородным ассортиментом все хорошо. Но не в моей ситуации. А простых путей увеличить количество выдаваемых строк на момент написания статьи мне обнаружить не удалось. Пришлось полностью переопределять автоподбор. Ниже речь пойдет именно об этом. И, к слову, в типовых конфигурациях для некоторых справочников используются похожие приемы для увеличения количества строк результата автоподбора.

21.01.2021    5925    herfis    7    

О формах 1С замолвите слово... Необычное использование знакомого всем объекта

Механизмы платформы 1С v8 Бесплатно (free)

Неочевидно, но форму 1С можно использовать как универсальный объект, который доступен на клиенте и имеет уникальный набор свойств, методов, событий и конструктор, принимающий параметры. При этом у формы может не быть интерфейса, и ее можно даже не открывать. О реальных примерах применения такого подхода пойдет рассказ.

13.01.2021    9020    CyberCerber    46    

Методика переопределения и вызова обработчиков событий обычной формы Промо

Механизмы платформы 1С v8 1cv8.cf Россия Бесплатно (free)

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

24.06.2007    90483    tormozit    31    

Наследование свойств элементов, или Как пользователь может сломать вашу форму

Механизмы платформы 1С v8 Платформа 1C v8.2 1cv8.cf Бесплатно (free)

В 1С можно установить свойства ТолькоПросмотр, Доступность и Видимость не только на элементы формы, но и на группы элементов. Но стоит ли так делать? Оказывается, пользователь может обойти запреты, которые установлены на папку. Об этом подробнее в видео.

12.01.2021    4997    SeiOkami    27    

Ускоряем медленный/долгий и тормозной стандартный поиск по динамическому списку, настраиваем его под себя

Механизмы платформы 1С v8 v8::УФ 1cv8.cf Бесплатно (free)

Пользователи привыкли искать на форме списка, но, вбивая в поиск некорректные данные, могут завесить всю систему, а если еще искать нужно по НЕ полям списка, то решение только в своём поиске - все это решим в публикации с открытым кодом.

14.12.2020    31189    SizovE    2    

Передача параметров по значению в языке 1С

Механизмы платформы 1С v8 ИТ-компания Бесплатно (free)

Все мы знаем, что в 1С можно написать такое: Процедура ОбработатьОбъект(Знач Объект) КонецПроцедуры Т.е. тем самым мы передаем в процедуру параметр по значению Далее в статье будут рассмотрены некоторые особенности передачи по значению объектов НЕпримитивных типов.

26.11.2020    4302    direktorSan    9    

Отладка подключаемых обработок Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

На самом деле для этого не нужно ни изменять конфигурацию, ни пользоваться вспомогательной обработкой-отладчиком.. Все просто :)

04.01.2017    82166    unichkin    118    

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий "НачалоВыбора", "Автоподбор")

Механизмы платформы 1С v8 v8::УФ Бесплатно (free)

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

15.11.2020    10226    Eugen-S    11    

Групповое изменение реквизитов объектов расширений

Механизмы платформы 1С v8 ERP2 УТ11 КА2 Бесплатно (free)

Доработка встроенной обработки "Групповое изменение реквизитов" для возможности изменения ссылочных реквизитов с ссылками на объекты расширения. Работает в Комплексной конфигурации 2.4.

07.11.2020    2315    Alfn    14    

Лайфхаки для разработчиков 1С. Часть 1

Универсальные функции Механизмы платформы 1С v8 Россия Бесплатно (free)

Собрали 20 лайфхаков, которые используют наши программисты при работе с 1С. Формы, контрагенты, СКД, процедуры, глюки платформы и многое другое. В этой статье публикуем первую часть.

30.09.2020    7997    Neti    47    

Программные перечисления, ч.2: приемы кэширования при разработке Промо

Универсальные функции Механизмы платформы 1С Запросы v8 Бесплатно (free)

Все знают, что такое кэш, и зачем он нужен. Но в 1С разработчик обычно использует кэширование только на уровне конфигурации, а в какой-нибудь обработке скорее ломает голову над запросом - как получить все данные за один заход... Хочется рассказать о том, как можно добиться хороших результатов с стратегией "разделяй и властвуй".

30.10.2017    28701    unichkin    18    

Контекст любого объекта конструкцией #Если Фамилия Тогда

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Делаем инициализацию переменной в "своей" инструкции препроцессора, для получения контекстной подсказки объекта через точку. В дальнейшем в компилированном коде сама инициализация игнорируется, т.к. "своя" инструкция препроцессора НИКОГДА не выполняется.

17.08.2020    2833    sapervodichka    36    

Новое отображение ошибок в 1С

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Рассмотрим развитие механизма отображения ошибок в 1С (начиная с 8.3.17)

10.08.2020    27141    SeiOkami    44    

Динамический список, ключи записей. Нюансы

Механизмы платформы 1С v8 Бесплатно (free)

Заметки об особенностях динамических списков с произвольным запросом и видом ключа, отличным от "Авто"

07.08.2020    7872    Yashazz    6    

Недокументированное использование стандартных обработок из меню "Все функции". Промо

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Рассмотрены возможности произвольного использования стандартных функций, вызываемых из меню платформы "Все функции" - "Стандартные" (Активные пользователи, Журнал регистрации, Поиск ссылок на объект, Проведение документов ...).

19.06.2015    124744    ekaruk    140    

Вы запускаете приложения, но делаете это без уважения

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

О запуске сторонних приложений и скриптов из кода встроенного языка платформы 1С.

21.07.2020    11995    YPermitin    32    

Использование Стека вызовов в качестве условия оператора Если [...] Тогда

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.

12.07.2020    10416    sapervodichka    62    

Серверные вызовы, которые нельзя вызывать

Механизмы платформы 1С v8 v8::УФ 1cv8.cf Бесплатно (free)

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    11325    SeiOkami    34    

Простая и быстрая эмуляция операций с битовыми строками Промо

Механизмы платформы 1С v8 Бесплатно (free)

Битовые строки могли бы упростить реализацию некоторых алгоритмов на языке платформы «1С: Предприятие 8». Но пока в платформе операций с битовыми строками нет. В то же время уже сделанные попытки смоделировать эти операции преобразованиями над числами опираются на циклы обработки отдельных битов, что плохо сказывается на скорости их работы. Предлагается новое простое решение, основанное на представлении битовых строк строками символов «0» и «1». Приводится примеры кода выполнения основных логических операций AND, OR, XOR, NO без использования циклов. В качестве прикладной задачи рассмотрено получение последовательных значений кода Грэя, который можно использовать для ускорения перебора вариантов.

22.06.2016    30754    ildarovich    14    

Как обойти глюк механизма расширений. Пошаговая инструкция в картинках

Механизмы платформы 1С v8 БП3.0 Бесплатно (free)

После очередного обновления Бухгалтерии 3.0 в одной очень известной фирме мне звонит наш программист 1С, который ведет эту фирму, со словами - Шеф. Все пропало. Нам конец. Наше расширение грохнулось.

26.04.2020    14248    alfanika    21    

Выгрузка новых стандартных обработок

Механизмы платформы 1С v8 Россия Бесплатно (free)

Описывается способ определить адрес ресурса, по которому стандартная обработка хранится в платформе 8.3, с последующим сохранением обработки в файл внешней обработки.

24.04.2020    2922    anddro    5    

Совместимость работы со строками. Жизнь до 8.3.6 и после

Механизмы платформы 1С v8 Бесплатно (free)

Немного о совместимости со старыми версиям платформы 1С в работе со строками.

21.02.2020    6594    YPermitin    24    

Расширения конфигурации. Полезные советы для разработки Промо

Механизмы платформы 1С v8 Бесплатно (free)

Полезные советы для разработки и применения расширений. Как подключить отладку, как сохранять данные, последовательность обработчиков, использование модуля менеджера и другое.

12.01.2016    356524    mrXoxot    209    

Эволюция расширения конфигурации

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

С каждым днем всё больше возможностей появляется в расширении конфигурации, но не все до сих пор работают даже на платформе 8.3.6! Давайте окунемся в историю появления и эволюции расширения конфигурации, чтобы знать и понимать, когда можно применить тот или иной функционал!

06.02.2020    18906    Xershi    47    

Последовательности событий при проведении документа 1С. Шпаргалка + про формы

Механизмы платформы 1С v8 Россия Бесплатно (free)

Собрал информацию о событиях и подписках в одном месте.

30.12.2019    45020    kuzyara    38    

Анализ функциональности: где наш код?!

Механизмы платформы 1С v8 1cv8.cf Бесплатно (free)

Как я анализирую места выполнения кода и собираю статистику. Материал скорее для новичков. Но и для тех, кто хочет быстро постигать функциональность.

02.12.2019    4675    Kindman1980    12    

30 задач. Странных и не очень

Математика и алгоритмы Механизмы платформы 1С v8 Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    30085    YPermitin    63