Имя: Пароль:
1C
1C 7.7
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.Код);