Подписка на события изменения

1. G_100399317598641949683 05.10.23 10:42 Сейчас в теме
Доброго времени суток.

Столкнулась с ошибкой "Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!

Есть справочник сотрудники, в котором есть табличная часть с контактной информацией.
И есть справочник Адреса, где заполняется теперь адрес.
Попросили сделать, чтобы при добавлении адреса в справочник Адреса добавлялась контактная информация с видом "адрес места жительства", код ниже.

Как спастись от ошибки и сделать подписку на это изменение?


Процедура ПослеЗаписи(Элемент)
	
		ВыборкаАдресов = Справочники.Адреса.Выбрать(,Владелец);
		Если ВыборкаАдресов.Следующий() Тогда
			Адрес = ВыборкаАдресов.ПолучитьОбъект();
		КонецЕсли;
				
		Об = Справочники.Сотрудники.НайтиПоНаименованию(Владелец).ПолучитьОбъект();

		ТабЧасть = Об.КонтактнаяИнформация.Найти(Справочники.ВидыКонтактнойИнформации.АдресМестаЖительства);
		
		Если ТабЧасть = Неопределено Тогда
			// Если записи с нужным видом нет, создаем новую
			Стр = Об.КонтактнаяИнформация.Добавить();
			Стр.Вид = Справочники.ВидыКонтактнойИнформации.АдресМестаЖительства;
			Стр.Информация = Адрес;
			Об.Записать();
		Иначе
			// Если запись существует, редактируем ее
			ТабЧасть.Информация = Адрес;
			Об.Записать();
		КонецЕсли;	
		
		Возврат;
		 
КонецПроцедуры
Показать


Решение:
https://forum.infostart.ru/forum9/topic176716/
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. nomad_irk 76 05.10.23 11:19 Сейчас в теме
2. starjevschik 05.10.23 11:15 Сейчас в теме
Это код после записи чего?
Справочники.Сотрудники.НайтиПоНаименованию(Владелец)

Владелец это что, правда строка? Владелец чего?

ВыборкаАдресов = Справочники.Адреса.Выбрать(,Владелец);

Владелец это же строка?
Если ВыборкаАдресов.Следующий() Тогда
Адрес = ВыборкаАдресов.ПолучитьОбъект();
КонецЕсли; 

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

Стр.Информация = Адрес; 

Адрес это объект! Не может быть, чтобы реквизит "информации" был типа "объект"...

вообще код странный, как его ни крути.... было бы удивительно, если бы это вообще хоть как-то работало бы.
Наймите программиста, дело-то недорогое будет.
4. G_100399317598641949683 05.10.23 11:24 Сейчас в теме
(2) пишу владелец, потому что справочник адреса подчинен справочнику сотрудники

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

получаю объект справочника и его табличную часть, с определенным видом контактной информации.
5. starjevschik 05.10.23 11:27 Сейчас в теме
(4)
пишу владелец, потому что справочник адреса подчинен справочнику сотрудники

ага, и поиск по наименованию.

(4)
в выборке адресов, я получаю адрес

Объект! понимаешь разницу между ссылкой и объектом? А между ссылкой и наименованием?

Не, тут нужны или курсы программирования, или готовый программист. Второе работодателю будет дешевле, первое работнику будет перспективнее.
6. G_100399317598641949683 05.10.23 11:28 Сейчас в теме
(5) да, хорошо, я плохо разбираюсь и прощу помочь мне разобраться в этом, а не сказать что я плохо разбираюсь, спасибо
7. starjevschik 05.10.23 11:33 Сейчас в теме
(6) так это надо с самого начала начинать. Курс лекций. Что такое база данных, что такое 1с, как там что устроено, объекты, ссылки, справочники, вот это все. Недельные курсы на самом деле достаточно. И еще недельные курсы по SQL. И можно зарабатывать.
Если толковый препод.
А в двух словах в форуме это не объяснить.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот