Имя: Пароль:
1C
1С v8
Не цепляет договор контрагента
0 Verzeragna
 
11.04.14
11:28
БП 2.0 (2.0.55.7).

При вводе начальных остатков почему-то не цепляет договор контрагента.

Вот код:

Для Каждого Стр Из Загрузка Цикл
    ВводОстатков=Документы.ВводНачальныхОстатков.СоздатьДокумент();
    Организация=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию( глЗначениеПеременной( "глТекущийПользователь"),
"ОсновнаяОрганизация");
     Ответственный = глЗначениеПеременной("глТекущийПользователь");
    ВводОстатков.РазделУчета=Перечисления.РазделыУчетаДляВводаОстатков.РасчетыСПокупателямиИЗаказчиками;
    ВводОстатков.Ответственный = Ответственный;
    ВводОстатков.Организация= Организация;
    ВводОстатков.Дата=ТекущаяДата();
    ТаблЧасть = ВводОстатков.РасчетыСКонтрагентами.Добавить();
    ТаблЧасть.СчетУчета=Счет.Ссылка;
        Контрагент1=Справочники.Контрагенты.НайтиПоКоду(Стр.ИдентификационныйНомер,"Ложь", Папка);
    ТаблЧасть.ДоговорКонтрагента=Контрагент1.ОсновнойДоговорКонтрагента.Ссылка;
    //Создание локумента расчетов с контрагентами
            ДокРасчетов=Документы.ДокументРасчетовСКонтрагентом.СоздатьДокумент();
            Контр=Справочники.Контрагенты.НайтиПоКоду(Стр.ИдентификационныйНомер,"Ложь", Папка);
            ДокРасчетов.Дата=ТекущаяДата();
            ДокРасчетов.Организация=УправлениеПользователями.ПолучитьЗначениеПоУмолчанию( глЗначениеПеременной( "глТекущийПользователь"),
"ОсновнаяОрганизация");
            ДокРасчетов.Контрагент=Контр.Ссылка;
            ДокРасчетов.ДоговорКонтрагента=Контрагент1.ОсновнойДоговорКонтрагента.Ссылка;
            ДокРасчетов.Записать();
            Сообщить("Документ расчетов создан") ;
    ТаблЧасть.Документ=ДокРасчетов.Ссылка;
    Контрагент=Справочники.Контрагенты.НайтиПоКоду(Стр.ИдентификационныйНомер,"Ложь", Папка);
    ТаблЧасть.Контрагент=Контрагент.Ссылка;
    ТаблЧасть.Сумма=Стр.Сумма;
    Валюта=Справочники.Валюты.НайтиПоНаименованию("RUR", "Ложь");
    ТаблЧасть.Валюта=Валюта.Ссылка;
    ТаблЧасть.ВалютнаяСумма=Стр.Сумма;
    ТаблЧасть.КурсВзаиморасчетов=1;
    ТаблЧасть.СуммаНУ=Стр.Сумма;
    ВводОстатков.ОтражатьВБухгалтерскомУчете= Истина;
    ВводОстатков.ОтражатьВНалоговомУчете= Истина;
ВводОстатков.ОтражатьВНалоговомУчете= Истина;
     ВводОстатков.ОтражатьПоСпециальнымРегистрам=Истина;
    ВводОстатков.Записать();

Подскажите плиз в чем дело?
1 ifso
 
11.04.14
11:30
(0) договора - они такие скучные (
2 ale-sarin
 
11.04.14
11:30
Может основной договор от другой организации?
3 Verzeragna
 
11.04.14
11:32
Организация одна
4 ale-sarin
 
11.04.14
11:32
отладчик что говорит?
5 ale-sarin
 
11.04.14
11:33
может и нет у контрагента основного договора...
6 Verzeragna
 
11.04.14
11:34
Договор в справочнике Договоры контрагентов есть. Если посмотреть Контрагента в справочнике Контрагенты на вкладке Счета и Договоры, то договор там тоже есть. Но зацепить его оттуда не получается.
7 ale-sarin
 
11.04.14
11:35
(6) А кто Вам сказал что он основной?
8 Verzeragna
 
11.04.14
11:39
А разве единственный не значит основной?
9 ale-sarin
 
11.04.14
11:39
(8) нет
10 Godofsin
 
11.04.14
11:40
(8) Внезвпно, да? ))))
11 Verzeragna
 
11.04.14
11:40
А где посмотреть основной он или нет?
12 Godofsin
 
11.04.14
11:41
Если НЕ ЗначениеЗаполнено(Контрагент.ОсновнойДоговор) тогда
13 ale-sarin
 
11.04.14
11:41
(11) Вы внимательней посмотрите на список договоров в контрагенте. И на кнопочки у этого списка.
14 Verzeragna
 
11.04.14
11:43
Спасибо! Разобрался!
15 Verzeragna
 
11.04.14
12:40
А программно назначить договор основным возможно?
16 ale-sarin
 
11.04.14
12:41
(15) Можно.
ОсновнойДоговорКонтрагента - это реквизит Контрагента.
17 Verzeragna
 
11.04.14
12:46
Это я знаю. А вот никак не могу разобраться как договор основным сделать.
18 ale-sarin
 
11.04.14
12:47
(17) Вы не знаете как изменить реквизит у элемента справочника?
19 Verzeragna
 
11.04.14
12:52
Что на что менять?
20 ale-sarin
 
11.04.14
12:55
(19) Найти контрагентов, у которых основной договор - пустая ссылка, и записать в этот реквизит первый договор этого контрагента.
21 Verzeragna
 
11.04.14
13:08
Если Контрагент.ОсновнойДоговорКонтрагента.Пустая() Тогда        Контрагент.ОсновнойДоговорКонтрагента.Ссылка=НовыйОбъект.Ссылка;
            КонецЕсли;

Так?
22 Verzeragna
 
11.04.14
13:09
Ошибка
{Форма.Форма.Форма(19)}: Поле объекта недоступно для записи (Ссылка)
            Контрагент.ОсновнойДоговорКонтрагента.Ссылка=НовыйОбъект.Ссылка;
23 Verzeragna
 
11.04.14
13:10
У меня щас моск взорвется)
24 Verzeragna
 
11.04.14
13:15
Попробовал через ПолучитьОбъект, такая же ошибка
25 ale-sarin
 
11.04.14
13:19
Если Контрагент.ОсновнойДоговорКонтрагента.Пустая() Тогда  
  КонтрОбъект = Контрагент.ПОлучитьОбъект();
  КонтрОбъект.ОсновнойДоговорКонтрагента=НовыйОбъект.Ссылка;
КонтрОбъект.Записать();
КонецЕсли;


Как-то так. Если НовыйОбъект - это договор.
26 Godofsin
 
11.04.14
13:20
.Ссылка убери
27 Verzeragna
 
11.04.14
13:24
(25) договор не делается основным
28 ale-sarin
 
11.04.14
13:25
(27) Что такое "Контрагент" и "НовыйОбъект".
29 Verzeragna
 
11.04.14
13:31
Контрагент-контрагент.
НовыйОбъект-договор контрагента
30 Verzeragna
 
11.04.14
13:33
ВСЕ ЗАРАБОТАЛО!!!!!!! УРАААААААААА!!!!!!!!!!!!!!
31 Verzeragna
 
11.04.14
13:34
Всем ОГРОМНОЕ СПАСИБО!!!!!!!!!!!
32 Verzeragna
 
11.04.14
13:37
Особенно ale-sarin!!!!
Закон Брукера: Даже маленькая практика стоит большой теории.