Имя: Пароль:
1C
1С v8
Заполнение регистра сведений
0 west246
 
11.03.16
16:29
Пытаюсь написать внешнюю обработку на перенос договоров из справочника в регистр сведений - Основные договора контрагентов. После запуска обработки создается одна пустая строчка. что не так?

&НаСервере
Процедура СформироватьДоговоры()
    Запрос = Новый Запрос;
    Запрос.Текст =
    "ВЫБРАТЬ
    |    ДоговорыКонтрагентов.Ссылка,
    |    ДоговорыКонтрагентов.Наименование,
    |    ДоговорыКонтрагентов.ВидДоговора,
    |    ДоговорыКонтрагентов.Владелец,
    |    ДоговорыКонтрагентов.Код
    |ИЗ
    |    Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов";

    Результат = Запрос.Выполнить().Выбрать();     
    Пока Результат.Следующий() Цикл     
        Если Результат.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем Тогда
            МенеджерЗаписи                = РегистрыСведений.ОсновныеДоговорыКонтрагента.СоздатьМенеджерЗаписи();
            МенеджерЗаписи.Организация = Справочники.Организации.ОрганизацияПоУмолчанию();
            МенеджерЗаписи.Контрагент  = Результат.Владелец;
            МенеджерЗаписи.ВидДоговора = Перечисления.ВидыДоговоровКонтрагентов.СПокупателем;
            МенеджерЗаписи.Договор       = Справочники.ДоговорыКонтрагентов.НайтиПоКоду(Результат.Код);    
            МенеджерЗаписи.Прочитать();
            МенеджерЗаписи.Записать(Истина);
            КонецЕсли;
    КонецЦикла;
КонецПроцедуры
1 Живой Ископаемый
 
11.03.16
16:29
все так, так и должно быть. А что?
2 west246
 
11.03.16
16:31
Регистр не заполняется, создается только одна пустая строчка. чую, что где-то накосячил
3 Никулин Леонид
 
11.03.16
16:34
Ставь точку останова и смотри чему равен Результат.Количество() Пиши сюда и продолжай наблюдения
4 Fragster
 
гуру
11.03.16
16:36
а ничего, что в результате запроса есть уже ссылка на договор? зачем по коду искать?
5 lera01
 
11.03.16
16:36
Во-первых, выборка результата запроса уже содержит ссылку на договор. За каким таким ты по коду этой ссылки еще раз ищешь в справочнике договоров? И это, Прочитать() убери.
6 Лефмихалыч
 
11.03.16
16:57
зачем Прочитать()?
7 Живой Ископаемый
 
11.03.16
17:13
2(2) да нет, все как написал таки делает.