Имя: Пароль:
1C
 
Использование процедуры "УстановитьСсылкуНового" для нового элемента справочника
0 Aleksey1989
 
12.12.14
13:59
В справочнике "БанковскиеСчета" есть битые ссылке в реквизите "Валюта", причем одинаковые. У меня появилась следующая идея - создать в справочнике "Валюты" новый элемент справочника и назначить ему такую же ссылку, как в битой ссылке. Подскажите, пжл, как это сделать?
1 Господин ПЖ
 
12.12.14
14:02
из копии переволочь одну запись в табличке если база скулевая - не предлагать?
2 Maxus43
 
12.12.14
14:02
умеешь запросом битые ссылки тянуть?
3 Maxus43
 
12.12.14
14:04
Спр = Справочники.Валюты.СоздатьЭлемент();
Спр.УстановиьтСсылкуНового(БитаяСсылка);
Спр.Записать();
4 Aleksey1989
 
12.12.14
14:05
(1) sql очень плохо знаю.
(2) М.б. и умею - не совсем понял, что значит тянуть битые ссылки запросом?

Вообще я написал следующий код:
    ЗапросБанковскиеСчета = Новый Запрос;
    ЗапросБанковскиеСчета.Текст = "ВЫБРАТЬ
                                  |    БанковскиеСчета.Ссылка,
                                  |    БанковскиеСчета.Валютный,
                                  |    БанковскиеСчета.ВалютаДенежныхСредств
                                  |ИЗ
                                  |    Справочник.БанковскиеСчета КАК БанковскиеСчета";
    РезультатБанковскиеСчета = ЗапросБанковскиеСчета.Выполнить().Выбрать();
    РезультатБанковскиеСчета.Следующий();
    СсылкаВалюты = РезультатБанковскиеСчета.Ссылка;
    
    
    
    НоваяВалюта = Справочники.Валюты.СоздатьЭлемент();
    
    НоваяВалюта.Код = "643";
    НоваяВалюта.Наименование = "руб.";
    НоваяВалюта.НаименованиеПолное = "Российский рубль";
    НоваяВалюта.ЗагружаетсяИзИнтернета = Ложь;
    НоваяВалюта.ПараметрыПрописиНаРусском = "рубль, рубля, рублей, м, копейка, копейки, копеек, ж, 2";
    НоваяВалюта.СпособУстановкиКурса = Перечисления.СпособыУстановкиКурсаВалюты.РучнойВвод;
    НоваяВалюта.УстановитьСсылкуНового(СсылкаВалюты);
    НоваяВалюта.Записать();
5 Aleksey1989
 
12.12.14
14:06
(3) Делаю то же самое (код в (4)), но у меня вылетает ошибка "Несоответствие типов (параметр номер "1")" на коде
НоваяВалюта.УстановитьСсылкуНового(СсылкаВалюты);
6 Maxus43
 
12.12.14
14:07
тыж так первую попавшуюся ссылку назначаешь
7 Aleksey1989
 
12.12.14
14:08
(5) - все, понял, в чем ошибка - не ту ссылку назначаю :))
8 Maxus43
 
12.12.14
14:08
|ИЗ
                                  |    Справочник.БанковскиеСчета КАК БанковскиеСчета
ГДЕ
БанковскиеСчета.ВалютаДенежныхСредств.Ссылка ЕстьNull
9 Aleksey1989
 
12.12.14
14:10
(8) Если честно, там везде Null, поэтому в запросе это я не стал учитывать.

Сейчас назначил нужную ссылку, но появилась ошибка:
"Ошибка при попытке вставки записи с неуникальным значением ссылки.
таблица Reference32."
10 Господин ПЖ
 
12.12.14
14:12
пятничное: автор упоролся и нарисовал кривой RLS на валюту
11 ssh2QQ6
 
12.12.14
14:13
))
12 Maxus43
 
12.12.14
14:13
(9) битая ссылка это не null...
13 Maxus43
 
12.12.14
14:14
(10) нахрен РЛС на валютах?)
14 Господин ПЖ
 
12.12.14
14:14
(13) автор упоролся
15 Господин ПЖ
 
12.12.14
14:15
а как база вообще себя чувствует, без валюты... документы, печ. формы, курсы