Вход | Регистрация

1С:Предприятие ::

Метки:

Каким образом записать элемент справочника Контрагенты: ОсновнойДоговор

Я
   gr13
 
14.01.05 - 12:34
Пытаюсь в торговле 9.35 записать данный элнмент справочника, но почему-то он остается чистым, делаю так, в чем ошибка?
Контр = СоздатьОбъект("Справочник.Контрагенты");
Контр.НайтиЭлемент(ВыбКлиент);

Объект = СоздатьОбъект("Справочник.Договоры");
Если Объект.НайтиЭлемент(Контр.ТекущийЭлемент().ОсновнойДоговор) = 0 Тогда
 Объект.Новый();
 Объект.Владелец = Контр.ТекущийЭлемент();
КонецЕсли;
Объект.Наименование           = "Основной договор";
Объект.ВалютаВзаиморасчетов   = глРубли;
ВалютаВзаиморасчетов   = Объект.Родитель.ВалютаВзаиморасчетов;
ТипЦен                   = Объект.Родитель.ТипЦен;
Скидка                 = Объект.Родитель.Скидка;
ГлубинаКредита         = Объект.Родитель.ГлубинаКредита;
СуммаКредита           = Объект.Родитель.СуммаКредита;
Объект.ТипЦен                 = "";
Объект.Скидка                 = "";
Объект.ГлубинаКредита         = 0;
Объект.СуммаКредита           = 0;
Объект.НеКонтролироватьКредит = 0;
Объект.Записать();
// Установка основного договора.

Контр.ТекущийЭлемент().ОсновнойДоговор = Объект.ТекущийЭлемент();
СохранитьЗначение("ОсновноеСвойствоКонтрагентов", Свойство);
Контр.Записать();

Заранее спасибо
 
 
   simplyUser
1 - 14.01.05 - 13:20
Дааааа. Зачем искать Контр (он же ВыбКлиент). Зачем искать договор (он же значение поля ОсновнойДоговор).
Если ПустоеЗначение(ВыбКлиент.ОсновнойДоговор)=1//нету значица

  Объект.ИспользоватьВладельца(ВыбКлиент);
  Объект.Новый();
//Дальше все заполняем и записываем. Если есть в спр. договоров периодич. рекв. тогда исчо надо сделать Объект.ИспользоватьДату(РабочаяДата()) - например

//потом

 Контр=Создатьобъект("Справочник.Контрагенты");
 Контр.НайтиЭлемент(ВыбКлиент);
 Контр.ОсновнойДоговор=Объект.ТекущийЭлемент();
 Контр.Записать()
КонецЕсли
   gr13
 
2 - 14.01.05 - 13:21
Так и было, только потом, когда не заработало начал извращаться, счас попробую
   gr13
 
3 - 14.01.05 - 13:29
точнее, это я уже сделал, не заработало.
   simplyUser
4 - 14.01.05 - 13:59
Если пустоеЗначение(ВыбКлиент.ОсновнойДоговор)=1 Тогда
    Объект=СоздатьОбъект("Справочник.Договоры");
   Объект.ИспользоватьВладельца(ВыбКлиент); 
   Объект.Новый();
   Объект.Наименование="Хороший договор";
   Объект.Записать();
   Контр=создатьОбъект("Справочник.Контрагенты");
   Контр.НайтиЭлемент(ВыбКлиент);
   Контр.ОсновнойДоговор=Объект.ТекущийЭлемент();
   Контр.Записать();
КонецЕсли;

Только что проверил, все работает. ВыбКлиент - реквизит диалога же?
Но для реальности - нада истчо проверять на наличие договора.
Он могет быть, но не быть присвоенным реквизиту "ОсновнойДоговор" у Контра.
Тогда после ИспользоватьВладельца  нада проверить:
Если Объект.НайтиПоНаименованию("Основной договор,0,1)=0
   gr13
 
5 - 14.01.05 - 14:23
Спас, если взлетит напишу
   gr13
 
6 - 14.01.05 - 14:26
Спас, все заработало


Список тем форума
Рекламное место пустует   Рекламное место пустует
AdBlock убивает бесплатный контент. 1Сергей
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует