v7: Справочник по ком неопределенного вида слетает вид после первого обращения к нему
☑
0
Chameleon1980
23.12.20
✎
08:57
Привет всем.
Все мучаю перенос по ком из 77 в 8х
один код работал и перестал
начал разбираться
и вот, что нашел
&НаСервере
Функция Пустышка(Открытие, Ссылка77)
Стр=СтрЗаменить(Открытие.ЗначениеВСтрокуВнутр(Ссылка77),"""","");
Возврат Стр;
КонецФункции
&НаСервере
Функция НайтиСоздатьПартнера(Открытие, КонтрагентСсылка77, флагПерезаписыватьПартнеров)
Сообщить("Вид: "+КонтрагентСсылка77.Вид());
Сообщить("Представление вида: "+КонтрагентСсылка77.ПредставлениеВида());
Сообщить("Вид: "+КонтрагентСсылка77.Вид());
Сообщить("Наименование: "+КонтрагентСсылка77.Наименование);
Стр=Пустышка(Открытие, КонтрагентСсылка77);
Сообщить("Наименование: "+КонтрагентСсылка77.Наименование); // !!!! падает на этой строке
КонецФункции
получаем:
Вид: Контрагенты
Представление вида: Контрагенты
Вид: Контрагенты
Наименование: Андреева Н.В. ИП (Ленинский проспект, 24/1)
и ошибку:
""Ошибка при получении значения атрибута контекста (Наименование): Произошла исключительная ситуация (1С:Предприятие): Не задан вид.""
что за х?
код работал и перестал
как-будто особое обращение к ссылке убивает ее вид
И да - это КонтрагентСсылка77 - реквизит документа с типом "Справочник" (НЕ конкретного вида)
помогите, кто знает.
Спасибо
1
Chameleon1980
23.12.20
✎
09:07
блин да даже вот так:
Сообщить("Вид: "+КонтрагентСсылка77.Вид());
Сообщить("Наименование: "+КонтрагентСсылка77.Наименование);
СпрКонтрагенты77=Открытие.CreateObject("Справочник.Контрагенты");
СпрКонтрагенты77.НайтиЭлемент(КонтрагентСсылка77);
Сообщить("Вид: "+КонтрагентСсылка77.Вид());
Сообщить("Наименование: "+КонтрагентСсылка77.Наименование);
2
Chameleon1980
23.12.20
✎
09:08
выдает:
Вид: Контрагенты
Наименование: Андреева Н.В. ИП (Ленинский проспект, 24/1)
Вид:
{ВнешняяОбработка.ПереносДанныхИзТиС77.Форма.Форма.Форма(722)}: Ошибка при получении значения атрибута контекста (Наименование): Произошла исключительная ситуация (1С:Предприятие): Не задан вид.
3
Chameleon1980
23.12.20
✎
09:12
после такого вид не слетает
поставил костыль в виде промежуточного элемента
СпрКонтрагенты=Открытие.CreateObject("Справочник.Контрагенты");
СпрКонтрагенты.НайтиПоКоду(КонтрагентСсылка77.Код);
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший