|
Изменение значения реквизита в справочнике |
☑ |
0
-Chubik-
27.12.11
✎
18:33
|
Здравствуйте. Проблема вот в чем. Есть справочник А, в него из справочника Б ставится элемент со своими реквизитами: Код и Наименование(на каждом элемента заранее предопределен свой код(тобишь он уникальный)), необходимо обработкой заменить источник показаний в справочнике А.
Я пишу вот так:
Контрагент = Справочники.А;
СсылкаНайденногоКонрагента = Контрагент.НайтиПоКоду("38381");
СсылкаНайденногоКонрагента = СсылкаНайденногоКонрагента.Б.ПолучитьОбъект();
СсылкаНайденногоКонрагента.Код = "000000190"; //Заменяю на нужный мне Код,
СсылкаНайденногоКонрагента.Записать();
При таком виде записи у меня Код становится не уникальным, т.е он меняет Код у установленного источника, а не заменяет его элементом с кодом 000000190. Как сделать чтобы было хорошо?)) Заранее спс.
|
|
1
-Chubik-
27.12.11
✎
18:35
|
Чтобы не было двусмысленности. Код так же есть и у Справочника А, соответственно по нему и идет в начале поиск)
|
|
2
Mort
27.12.11
✎
18:35
|
Такими фокусами одну ссылку другой не подменить.
|
|
3
-Chubik-
27.12.11
✎
18:38
|
Ну я как бы догадался, какой фокус нужно провернуть чтобы подменить?
|
|
4
kosts
27.12.11
✎
18:47
|
(3) Используй типовую обработку поиск и замена ссылок
|
|
5
-Chubik-
27.12.11
✎
18:51
|
Типовая обработка не прокатывает, это лишь часть программы. На которой у меня случился затуп и уже 6 часов не проходит :) У меня есть Эксель таблица (гигантская, около 20 мегабайт), в не забиты все коды, какой на какой поменять, соответсвенно база с контрагентами не меньше, поэтому приходится писать обработку, всё остальное написал, остался этот кусочек маленький... Как-нибудь глянуть код типовой обработки можно? Буду очень признателен :)
|
|
6
kosts
27.12.11
✎
18:53
|
(5) На итс есть. В инете полно таких, поищи.
|
|
7
kosts
27.12.11
✎
18:55
|
В методах платформы есть такой, который ищет все вхождения указанной ссылки.
Затем последовательно обходишь найденное и заменяешь ссылки на новые.
|
|
8
-Chubik-
27.12.11
✎
18:57
|
Спасибо, ушел копаться, если у кого появятся еще идеи, то буду благодарен и за них :)
|
|
9
-Chubik-
27.12.11
✎
20:10
|
Вопрос остается открытым, тот метод который НайтиПоСсылкам, не прокатывает тоже или у меня фантазии не хватает как его прикрутить)
|
|
10
-Chubik-
27.12.11
✎
20:56
|
НАйденныйКонтрагент = СсылкаНАйденногоКонтрагента.ПолучитьОбъект();
НайденныйКонтрагент.Б = Справочники.Б.НайтиПоКоду("00000190");
НайденныйКОнтрагент.Записать();
Вот решение проблем. Обработки пишут извращенцы, там эта же функция делается миллионом запросов и сотней условий...
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой