Создание элемента подчиненного справочника через COM-соединение

Форум 1С: Одинэс.Ру

Найти!

Создание элемента подчиненного справочника через COM-соединение

BlackMak
10.04.2009 - 09:23
Собственно, сабж. Элементы обычных справочников создаются без проблем, с подчиненным же - беда, не хочет записываться, выдает исключение. Подозреваю, что при работе через COM-соединение нужно каким-то хитрым нестандартным способом указывать владельца. Кто-нибудь может пнуть в нужном направлении?
Заранее спасибо.
К списку тем К списку форумов

Интересные темы

odines.ru
22.11.2024 - 01:35
Смотри также:
Обработка получения фокуса элементом формы
Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса
Помогите пожалуйста Ошибка при работе С узлами РИБ (УТ) выгрузк в БУХ

Re: Создание элемента подчиненного справочника через COM-соединение

Северянин
1 - 10.04.2009 - 09:48
Сначала получи ссылку на родителя в СОМ, а затем передай ее при записи элемента.

Re: Создание элемента подчиненного справочника через COM-соединение

BlackMak
2 - 10.04.2009 - 09:52
Функция ПолучитьКонтрагента(Контрагент)
Перем БП_Контрагент;
 
БП_Контрагент = БП.Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", Контрагент.ИНН);
Если БП_Контрагент.Пустая() Тогда
БП_Контрагент = БП.Справочники.Контрагенты.СоздатьЭлемент();
БП_Контрагент.Наименование = СокрЛП(Контрагент.Наименование);
БП_Контрагент.ЮрФизЛицо = ?(Контрагент.ТипКонтрагента = Перечисления.ТипыКонтрагентов.ЮрЛицо, БП.Перечисления.ЮрФизЛицо.ЮрЛицо, БП.Перечисления.ЮрФизЛицо.ФизЛицо);
БП_Контрагент.ИНН = СокрЛП(Контрагент.ИНН);
БП_Контрагент.КПП = СокрЛП(Контрагент.КПП);
 
БП_Контрагент.Записать();
КонецЕсли;
 
Возврат БП_Контрагент.Ссылка;
КонецФункции
 
Функция ПолучитьДоговорСКонтрагентом(Контрагент, Договор)
Перем БП_Договор;
 
БП_Договор = БП.Справочники.ДоговорыКонтрагентов.НайтиПоКоду(Формат(Договор.Код, "ЧЦ=9; ЧДЦ=0; ЧВН=; ЧГ=0"), , , ПолучитьКонтрагента(Контрагент));
Если БП_Договор.Пустая() Тогда
БП_Договор = БП.Справочники.ДоговорыКонтрагентов.СоздатьЭлемент();
БП_Договор.Владелец = ПолучитьКонтрагента(Контрагент);
БП_Договор.Код = Формат(Договор.Код, "ЧЦ=9; ЧДЦ=0; ЧВН=; ЧГ=0");
БП_Договор.Наименование = СокрЛП(Договор.Наименование);
БП_Договор.ВалютаВзаиморасчетов = спрВалютаРубль;
БП_Договор.ВедениеВзаиморасчетов = ?(РучноеЗакрытиеДокументов(Договор), БП.Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоРасчетнымДокументам, БП.Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом);
БП_Договор.Организация = спрФирма;
БП_Договор.ПроцентКомиссионногоВознаграждения = 0;
БП_Договор.СпособРасчетаКомиссионногоВознаграждения = БП.Перечисления.СпособыРасчетаКомиссионногоВознаграждения.НеРассчитывается;
БП_Договор.ТипЦен = ?(Договор.ВидДоговора = Перечисления.ВидыДоговоров.Покупка, БП.Перечисления.ВидыДоговоровКонтрагентов.СПоставщиком, ?(Договор.ВидДоговора = Перечисления.ВидыДоговоров.Продажа, БП.Перечисления.ВидыДоговоровКонтрагентов.СПокупателем, БП.Перечисления.ВидыДоговоровКонтрагентов.Прочее));
БП_Договор.УчетАгентскогоНДС = Ложь;
//БП_Договор.ВидАгентскогоДоговора = ;
БП_Договор.РасчетыВУсловныхЕдиницах = Ложь;
БП_Договор.РеализацияНаЭкспорт = Ложь;
БП_Договор.ВидВзаиморасчетов = БП.Справочники.ВидыВзаиморасчетов.ПустаяСсылка();
БП_Договор.УстановленСрокОплаты = Ложь;
//БП_Договор.СрокОплаты = ;
 
БП_Договор.Записать();
КонецЕсли;
 
Возврат БП_Договор.Ссылка;
КонецФункции
 
Не работает. Хотя, вроде, ссылку на владельца указываю.

Re: Создание элемента подчиненного справочника через COM-соединение

Шакал
3 - 10.04.2009 - 10:25
А если Возврат БП_Контрагент;

Re: Создание элемента подчиненного справочника через COM-соединение

BlackMak
4 - 10.04.2009 - 10:33
(3) - те же яйца, только в профиль.

Re: Создание элемента подчиненного справочника через COM-соединение

BlackMak
5 - 10.04.2009 - 10:59
Нарыл. Проблема в ПриЗаписи() справочника ДоговорыКонтргаентов. Отбой идет оттуда. Владелец устанавливается правильно. Спасибо всем.

Интересные темы

odines.ru
22.11.2024 - 01:35
Смотри также:
Закрыть период
v8: Несколько баз Управление торговлей...
Сообщения всем активным пользователям системы

Re: Создание элемента подчиненного справочника через COM-соединение

Северянин
6 - 10.04.2009 - 10:59
В отладчике  БП_Контрагент.Ссылка какой тип?

Re: Создание элемента подчиненного справочника через COM-соединение

BlackMak
7 - 10.04.2009 - 11:03
(6) - в отладчике все ссылочные типы COMОбъект;
К списку тем К списку форумов

Добавить новое сообщение

Ваше имя:
Тема сообщения:
Сообщение:
« Неизвестная ошибка...Что делать? Как в воьсмерине быстро очистить весь справочник? »
© 2009 Форум 1С: Одинэс.Ру