Имя: Пароль:
1C
1C 7.7
v7: ТиС 7.7 Программно сменить владельца подчиненного справочника Партии. Как ?
0 raykom
 
10.07.14
08:52
Пожалуйста подкиньте кусок кода, как программно сменить владельца у справочника партии ?

Идем по строкам табличной части документа ВозвратОтПокупателя
Находим Искомую номенклатуру и меняем ее на Нужную номенклатуру.

В этот момент вот надо поменять у партии владельца с Искомой (прошлой) на Нужную (новую) номенклатуру.

Начал вот так

Если  глЕстьРеквизитМнЧ("Партия",Док.Вид) =1 Тогда
                            ОбъектПартия = СоздатьОбъект("Справочник.Партии");
                            ОбъектПартия.ИспользоватьВладельца(ТекНоменклатура);
                            ТекПартия    = ОбъектПартия.НайтиЭлемент(Док)


И не знаю, что дальше то делать ...
Спасибо
1 zak555
 
10.07.14
08:54
Новый
Записать()
2 raykom
 
10.07.14
08:55
Ниченипонял ...
3 raykom
 
10.07.14
08:58
Пардон.

Док = элемент выборки из табличной части.
ТекНоменклатура = номенклатура, которую ищем и меняем

А сделать владельцем этой партии надо новую номенклатуру, которую вставляем в строку
ВыбНоменклатура
4 raykom
 
10.07.14
09:01
zak555, ну чуток разверни мысль, пожалста. Я не въеду ни как.
5 DCKiller
 
10.07.14
09:02
ТекПартия = ОбъектПартия.НайтиПоРеквизиту("ПриходныйДокумент", Док);

ТекПартия.Владелец = ВыбНоменклатура;
ТекПартия.Записать();

как-то так...
6 raykom
 
10.07.14
09:04
Ага. А почему поиск по реквизиту ? У этог документа не только эта партия может быть ...

Или это в выборке по владельцу искать ??
После ИспользоватьВладельца ?
7 Duke1C
 
10.07.14
09:08
(5) А что в последних релизах типовой ТиС включена сортировка у реквизита "ПриходныйДокумент"? У меня 964 - отсутствует галка.
(6) Ты толком объясни, что хочешь то в итоге, а то что-то не оченно понятно. Зачем у партии менять владельца, то бишь Номенклатуру?
8 raykom
 
10.07.14
09:20
DCKiller
ТекПартия.Владелец = ВыбНоменклатура;
Выдает ошибку
Значение не представляет агрегатный объект (Владелец)

(7)Замененную номенклатуру надо удалить, а она является владельцем текущей партии
9 Масянька
 
10.07.14
09:21
(8) А поиск и замена значений - не спасет отца русской демократии? Не?
10 raykom
 
10.07.14
09:25
(9)Што это ? Обработки стандартные ? ммможет быть ... Только уточни о чем ты речь ведешь
11 AlexWolf
 
10.07.14
09:28
ТекПартия = ОбъектПартия.НайтиЭлемент(Док); - в ТекПартия будет 0 или 1.

Если ОбъектПартия.НайтиЭлемент(Док)=1 Тогда
  ОбъектПартия.Владелец = ВыбНоменклатура;
  ОбъектПартия.Записать();
КонецЕсли;
12 Масянька
 
10.07.14
09:30
(10) RVDLG.ERT + REPLVAL.ERT = стандартные обработки. Поиск и замена значений. Што еще уточнять?
13 Duke1C
 
10.07.14
09:30
(8) а СП почитать не судьба?
у тебя ТекПартия=ОбъектПартия.НайтиЭлемент(....
а что возвращает метод НайтиЭлемент()? - Признак нахождения элемента, то бишь ЧИСЛО! И откуда у числа Владелец?
Пиши:
ОбъектПартия.Владелец = ВыбНоменклатура;
ОбъектПартия.Записать();
14 raykom
 
10.07.14
09:31
Спасибо.
15 raykom
 
10.07.14
09:32
(11)(13) Ага. Отлично оттормозился ... ))
16 raykom
 
10.07.14
09:37
(11)Работает.
Всем спасибо
17 Dolly_EV
 
10.07.14
14:52
(16) Ты точно уверен, что в данном случае (замена номенклатуры) тебе надо именно сменить владельца у Партии?? Может все-таки завести новую партию?
18 Ёпрст
 
10.07.14
15:02
(17) при возврате, всё правильно делает..
19 Dolly_EV
 
10.07.14
15:29
(18) и то будет при такой замене в "Ведомости по партиям"? если по этой партии далее списывалось?
Был товар А, партия А.... продавали-продавали с этой связки, потом бах! задним числом товар Б, партия А, а продавался товар А...
Да и + к тому в ТиСе в ВозвратеОтПокупателя анализируется основание
20 Alexor
 
10.07.14
15:39
Я бы тоже Новую партию создавал.
Мало ли.
21 Масянька
 
10.07.14
15:47
(19) Поиск и замена - нормально все отрабатывает и меняет.