Имя: Пароль:
1C
 
Элементарные вещи
0 JedaiMaster
 
10.11.14
10:02
1. Уйти из 1С и заняться другим 100% (3)
2. Когда то все были новичками 0% (0)
3. опыт приходит со временем 0% (0)
Всего мнений: 3

написал как я думал элементарную вещь, которая должна без проблем работать, но почему то в ПКО договор не меняется на основной

Запрос = Новый Запрос;
Запрос.Текст =
        "ВЫБРАТЬ
        |    ПриходныйКассовыйОрдер.Контрагент как контрагент,
        |    ПриходныйКассовыйОрдер.ДоговорКонтрагента как ДоговорКонтрагента,
        |    ПриходныйКассовыйОрдер.Ссылка  как   Ссылка
        |ИЗ
        |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер"   ;
Выборка = Запрос.Выполнить().Выбрать();    
Пока Выборка.Следующий() Цикл
    Реквезит=Выборка.Ссылка.ПолучитьОбъект();
    Сообщить(Выборка.Ссылка);
    Контрагент1 = Справочники.Контрагенты.НайтиПоНаименованию(реквезит.контрагент.наименование);
    ДоговорКонтрагента1 = Контрагент1.ОсновнойДоговорКонтрагента;
    Реквезит.ДоговорКонтрагента=ДоговорКонтрагента1;
    Реквезит.Записать() ;
КонецЦикла;
1 JedaiMaster
 
10.11.14
10:02
но не работает,
не пойму где туплю?
2 Looser-1c
 
10.11.14
10:04
Контрагент1 = Справочники.Контрагенты.НайтиПоНаименованию(реквезит.контрагент.наименование);

http://www.oruzhenosez.ru/pictures/maksim.jpg
3 Трик
 
10.11.14
10:04
А отладчик что говорит?
4 Фокусник
 
10.11.14
10:05
(0) Делай так:
1. Выбрать нужно в одном запросе сразу и документы, и основные договоры, и поставить условие на договор в документе НЕ равен основному договору.
2. В выборке получать объект (документ), записывать в него основной договор, записывать документ с проведением.
5 JedaiMaster
 
10.11.14
10:05
(3) отладчик говорит что меняет значение. но на Записать() пишет {(1)}: Обращение к процедуре объекта как к функции (Записать)
6 JedaiMaster
 
10.11.14
10:06
(4) спасибо
7 hhhh
 
10.11.14
10:12
(5) то, что договор находится в табличной части РасшифровкаПлатежа? Это вам по барабану?

Уйти из 1С и заняться другим
8 Krolik Bezobraznik
 
10.11.14
10:55
(7) Договор контрагента есть и в реквизитах =) (0)
Вот за это и правда надо давать по пальцам =))

Фокусник верно говорит. Его слушай =)

Попробуй так

    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ПриходныйКассовыйОрдер.Ссылка
    |ИЗ
    |    Документ.ПриходныйКассовыйОрдер КАК ПриходныйКассовыйОрдер
    |ГДЕ
    |    ПриходныйКассовыйОрдер.Контрагент ССЫЛКА Справочник.Контрагенты
    |    И ПриходныйКассовыйОрдер.Контрагент.ОсновнойДоговорКонтрагента = ПриходныйКассовыйОрдер.ДоговорКонтрагента
    |    И ПриходныйКассовыйОрдер.Проведен";
    Выборка = Запрос.Выполнить().Выбрать();    
    Пока Выборка.Следующий() Цикл
        Реквезит = Выборка.Ссылка.ПолучитьОбъект();
        Реквезит.ДоговорКонтрагента = Выборка.Ссылка.Контрагент.ОсновнойДоговорКонтрагента;
        Реквезит.Записать(РежимЗаписиДокумента.Проведение);
    КонецЦикла;
9 shuhard
 
10.11.14
10:55
(0) и форуму станет легче

Уйти из 1С и заняться другим
10 Krolik Bezobraznik
 
10.11.14
10:55
(8) +  |    И ПриходныйКассовыйОрдер.Контрагент.ОсновнойДоговорКонтрагента <> ПриходныйКассовыйОрдер.ДоговорКонтрагента
11 Alex S D
 
10.11.14
10:56
только так

Уйти из 1С и заняться другим