1.
G_100399317598641949683
05.10.23 10:42 Сейчас в теме
Доброго времени суток.
Столкнулась с ошибкой "Операция не может быть выполнена из-за несоответствия версии или отсутствия записи базы данных (возможно, запись была изменена или удалена)!
Есть справочник сотрудники, в котором есть табличная часть с контактной информацией.
И есть справочник Адреса, где заполняется теперь адрес.
Попросили сделать, чтобы при добавлении адреса в справочник Адреса добавлялась контактная информация с видом "адрес места жительства", код ниже.
Как спастись от ошибки и сделать подписку на это изменение?
Процедура ПослеЗаписи(Элемент)
ВыборкаАдресов = Справочники.Адреса.Выбрать(,Владелец);
Если ВыборкаАдресов.Следующий() Тогда
Адрес = ВыборкаАдресов.ПолучитьОбъект();
КонецЕсли;
Об = Справочники.Сотрудники.НайтиПоНаименованию(Владелец).ПолучитьОбъект();
ТабЧасть = Об.КонтактнаяИнформация.Найти(Справочники.ВидыКонтактнойИнформации.АдресМестаЖительства);
Если ТабЧасть = Неопределено Тогда
// Если записи с нужным видом нет, создаем новую
Стр = Об.КонтактнаяИнформация.Добавить();
Стр.Вид = Справочники.ВидыКонтактнойИнформации.АдресМестаЖительства;
Стр.Информация = Адрес;
Об.Записать();
Иначе
// Если запись существует, редактируем ее
ТабЧасть.Информация = Адрес;
Об.Записать();
КонецЕсли;
Возврат;
КонецПроцедуры
Если ВыборкаАдресов.Следующий() Тогда
Адрес = ВыборкаАдресов.ПолучитьОбъект();
КонецЕсли;
а почему только одну строку берем из выборки? А если их несколько?
Стр.Информация = Адрес;
Адрес это объект! Не может быть, чтобы реквизит "информации" был типа "объект"...
вообще код странный, как его ни крути.... было бы удивительно, если бы это вообще хоть как-то работало бы.
Наймите программиста, дело-то недорогое будет.
4.
G_100399317598641949683
05.10.23 11:24 Сейчас в теме
(2) пишу владелец, потому что справочник адреса подчинен справочнику сотрудники
в выборке адресов, я получаю адрес, который в последствии будет добавлен в контактную информацию, несколько их не может быть т.к это адрес прописки по паспорту.
получаю объект справочника и его табличную часть, с определенным видом контактной информации.
(6) так это надо с самого начала начинать. Курс лекций. Что такое база данных, что такое 1с, как там что устроено, объекты, ссылки, справочники, вот это все. Недельные курсы на самом деле достаточно. И еще недельные курсы по SQL. И можно зарабатывать.
Если толковый препод.
А в двух словах в форуме это не объяснить.