![]() |
![]() |
![]() |
|
Связанные справочники | ☑ | ||
---|---|---|---|---|
0
rhamzin
02.05.13
✎
14:25
|
Имеются 2 справочника, которые связаны. Лицевые счета и Физические лица.
Справочник "Лицевые Счета" имеет реквизит "Физические лица" с типом "СправочникСсылка.ФизЛица". Справочник "ФизЛица" имеет реквизит "Лицевой счет" с типом "СправочникСсылка.ЛицевыеСчета". Требуется поменять код лицевого счета по порядку. Меняю следующим кодом (код лицевого счета меняется, но теряется связь со справочником ФизЛица.): Как поменять код лицевого счета не теряя ссылки на ФизЛица? Перем i,j,k,e; i=0;j="0000000000"; СпрЛицевыеСчета=Справочники.ЛицевыеСчета; Выборка=СпрЛицевыеСчета.Выбрать(); Пока Выборка.Следующий() Цикл ОбъектЛицевыеСчета=Выборка.ПолучитьОбъект(); Сообщить("Обрабатывается элемент " + Выборка.Наименование); СпрФизЛица=Справочники.ФизЛица; ВыбратьФизЛицо=СпрФизЛица.Выбрать(); е=Выборка.ФизЛицо.ЛицевойСчет; i=i+1; k=Лев(j,10-СтрДлина(Строка(i)))+Строка(i); //ОбъектЛицевыеСчета.Код.Значение=k; //ОбъектЛицевыеСчета.ФизЛицо.Значение=e; //ОбъектЛицевыеСчета.Записать(); //Прервать; Сообщить("Новый код:"+Строка(k)+" Ссылка на физ лицо: "+Строка(e)+" ФизЛицо"); КонецЦикла; |
|||
1
1Сергей
02.05.13
✎
14:46
|
>>Справочник "Лицевые Счета" имеет реквизит "Физические лица" с типом "СправочникСсылка.ФизЛица".
>>Справочник "ФизЛица" имеет реквизит "Лицевой счет" с типом "СправочникСсылка.ЛицевыеСчета". Это кто такую хрень придумал? |
|||
2
EugeniaK
02.05.13
✎
15:22
|
(0)
А при чем тут вообще "Справочник "ФизЛица" имеет реквизит "Лицевой счет" с типом "СправочникСсылка.ЛицевыеСчета". "? Если нужно изменить коды справочника ""Лицевые Счета"", меняй на здоровья. В справочнике "ФизЛица" хранится ссылка на лицевой счет, а не код. От смены кода ссылка не изменится. Меняй код в справочнике "Лицевые счета", а справочник физ лица и его ссылки вообще не трогай и не анализируй. |
|||
3
EugeniaK
02.05.13
✎
15:26
|
Оставь:
Пока Выборка.Следующий() Цикл ОбъектЛицевыеСчета=Выборка.ПолучитьОбъект(); Сообщить("Обрабатывается элемент " + Выборка.Наименование); i=i+1; k=Лев(j,10-СтрДлина(Строка(i)))+Строка(i); ОбъектЛицевыеСчета.Код.Значение=k; ОбъектЛицевыеСчета.Записать(); Сообщить("Новый код:"+Строка(k)+" Ссылка на физ лицо: "+ОбъектЛицевыеСчета.ФизЛицо+" ФизЛицо"); КонецЦикла; |
|||
4
EugeniaK
02.05.13
✎
15:31
|
А вместо
k=Лев(j,10-СтрДлина(Строка(i)))+Строка(i); ОбъектЛицевыеСчета.Код.Значение=k; достаточно написать ОбъектЛицевыеСчета.Код.Значение=Формат(i,"ЧЦ=10; ЧВН=; ЧГ=0") |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |