![]() |
![]() |
![]() |
|
Программно изменить реквизит справочника | ☑ | ||
---|---|---|---|---|
0
Alexey84
26.10.07
✎
17:46
|
ДОброго времени суток, товарищи помогите решить вот такую проблему,
ну могу программно записать в справочнике "Контрагенты" - реквизит -(Справочники.Организации) т.е. справочник.Организации подчинен контрагентам, как можно вписать туда значение? Заранее спасибо! |
|||
1
Scooter
26.10.07
✎
17:49
|
Владелец
ПолучитьОбъект Записать + код в студию |
|||
2
Alexey84
26.10.07
✎
17:49
|
еще небольшая добавка
Имею Справочник контрагентов, в него надо добавить коды из XLS файла Все считывается но никак не могу записать реквизит... при записи выходит сообщение "реквизит недоступен для редактиварония" |
|||
3
Alexey84
26.10.07
✎
17:51
|
можно чуть чуть подробнее, я не сильно понял что куда девать
|
|||
4
Fram
26.10.07
✎
18:03
|
надо работать собъектом а не со ссылкой на него. судя по (2) работаешь со ссылкой
|
|||
5
Alexey84
26.10.07
✎
18:12
|
СпрКОнтр = Справочники.Контрагенты;
СпрСегмент = Справочники.СегментацияКлиентов; Для Ячейка = 1 По 1419 Цикл КодКонтрагента = СокрЛП(ТекЛист.Cells(Ячейка,1).Value); Классификатор = СокрЛП(ТекЛист.Cells(Ячейка,2).Value); НайденныйЭлемент = СпрКонтр.НайтиПоКоду(КодКонтрагента); ТекущийОБъект = НайденныйЭлемент.ПолучитьОбъект(); ТекущийОБъект.СегментацияКонтрагентов = СпрСегмент.НайтиПоНаименованию(Классификатор); ТекущийОБъект.Записать(); КонецЦикла; вот код, кто нибудь может подсказать где ошибка |
|||
6
Scooter
26.10.07
✎
18:16
|
(5)а какая ошибка?
|
|||
7
Alexey84
26.10.07
✎
18:20
|
Не удается все это дело записать
|
|||
8
Terv
26.10.07
✎
18:21
|
СпрКОнтр = Справочники.Контрагенты;
СпрСегмент = Справочники.СегментацияКлиентов; Для Ячейка = 1 По 1419 Цикл КодКонтрагента = СокрЛП(ТекЛист.Cells(Ячейка,1).Value); Классификатор = СокрЛП(ТекЛист.Cells(Ячейка,2).Value); НайденныйЭлемент = СпрКонтр.НайтиПоКоду(КодКонтрагента); Если НайденныйЭлемент = СпрКонтр.ПустаяСсылка() Тогда Сообщить("Я долпоёБ!!!!"); Продолжить; КонецЕсли; ТекущийОБъект = НайденныйЭлемент.ПолучитьОбъект(); ТекущийОБъект.СегментацияКонтрагентов = СпрСегмент.НайтиПоНаименованию(Классификатор); ТекущийОБъект.Записать(); КонецЦикла; |
|||
9
Alexey84
26.10.07
✎
18:21
|
{Форма.Форма(20)}: Ошибка при вызове метода контекста (Записать): Операция не выполнена!
ТекущийОБъект.Записать(); по причине: Операция не выполнена! и при этом сообщает что такая запись уже есть |
|||
10
Scooter
26.10.07
✎
18:25
|
СегментацияКонтрагентов - это точно реквизит?
|
|||
11
Alexey84
26.10.07
✎
18:26
|
да это реквизит, с типом СправочникСсылка.СегментацияКонтрагентов
|
|||
12
Scooter
26.10.07
✎
18:30
|
(11)да там скорее всего при записи "Контрагента" происходит создание/запись еще чегото
смотри ПриЗаписи в модулеФормы/модулеОбъекта |
|||
13
Terv
26.10.07
✎
18:33
|
а еще было бо неплохо пройтись отладчиком.
|
|||
14
Alexey84
26.10.07
✎
18:35
|
да ну видать пока что ума не хватает на решение, отладчиком я проходился... ничего не нашел...ну в любом случае спасибо за рекомендт
|
|||
15
Terv
26.10.07
✎
18:40
|
(14) отладчиком, ПередЗаписью и ПриЗаписи, модуля объекта справочника прошелся?
смотри может где при записи в РС вылетает |
|||
16
13th
26.10.07
✎
18:50
|
А открытых элеметов справочника "Контрагентов" нет в это время?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |