Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Объект Периодический
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
awp
помогите разрулить ошибку в коде

Процедура Сформировать()
    Спр = СоздатьОбъект("Справочник.Контрагенты");
    Дог = СоздатьОбъект("Документ.Договор");
    Пер = СоздатьОбъект("Периодический");
    Дог.ВыбратьДокументы();
    Пока Дог.ПолучитьДокумент() = 1 Цикл
        Если ПустаяСтрока(Дог.Контрагент.ПолнНаименование.Получить(Дог.ДатаДок)) = 1 Тогда
            Сообщить("" + Дог.Контрагент + " ** " + Дог);
            Спр.НайтиЭлемент(Дог.Контрагент);
            Пер.ИспользоватьОбъект(,Спр.ТекущийЭлемент());
            Пер.НайтиЗначение(Дог.ДатаДок,1);
            Пер.ДатаЗнач = Дог.ДатаДок;
            Пер.Записать();
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры



Ошибка
Пер.НайтиЗначение(Дог.ДатаДок,1);
{C:\ПЕРИОДРЕКВ.ERT(13)}: Перед выполнением операции нужно вызвать 'ИспользоватьОбъект'!


ИспользоватьОбъект - возвращает 1
Zaval
В ИспользоватьОбъект не указано имя реквизита.

Объясни, что сделать пытаешься?
ПолнНаименование - у тебя периодический рекв, пытаешься получить его на дату Договора.
Если не получаешь(проверка довольно странная) - ищешь любой периодический реквизит на эту дату, устанавливаешь ему эту дату и пытаешься записать?
Зачем?
awp
Цитата(Zaval @ 11.08.10, 15:56) необходимо зарегистрироваться для просмотра ссылки
В ИспользоватьОбъект не указано имя реквизита.

Объясни, что сделать пытаешься?
ПолнНаименование - у тебя периодический рекв, пытаешься получить его на дату Договора.
Если не получаешь(проверка довольно странная) - ищешь любой периодический реквизит на эту дату, устанавливаешь ему эту дату и пытаешься записать?
Зачем?


Да. ошибка именно в не указании реквизита - метод НайтиЗначение - только по реквизиту.

А пытаюсь сделать(вернее уже готово) вот что: установить дату реквизита на дату самого первого документа(Договор) по нему. В Реестр НН не подягивает smile.gif
awp
Цитата(Zaval @ 11.08.10, 15:56) необходимо зарегистрироваться для просмотра ссылки
В ИспользоватьОбъект не указано имя реквизита.

Объясни, что сделать пытаешься?
ПолнНаименование - у тебя периодический рекв, пытаешься получить его на дату Договора.
Если не получаешь(проверка довольно странная) - ищешь любой периодический реквизит на эту дату, устанавливаешь ему эту дату и пытаешься записать?
Зачем?


Почему странная проверка?
Ищу следующее значение от даты.
Zaval
По-моему, возможны траблы - лучше вначале получить значение в переменную, а затем уже (если таковое найдется) проверять на пустоту...
Но больше настораживает другое - если по Контру есть несколько договоров с разными датами, то в конечном итоге Значение(которое перезаписывается на дату текущего договора) будет установлено на дату последнего?
awp
Цитата(Zaval @ 11.08.10, 16:47) необходимо зарегистрироваться для просмотра ссылки
По-моему, возможны траблы - лучше вначале получить значение в переменную, а затем уже (если таковое найдется) проверять на пустоту...
Но больше настораживает другое - если по Контру есть несколько договоров с разными датами, то в конечном итоге Значение(которое перезаписывается на дату текущего договора) будет установлено на дату последнего?


По коду(что выложен) да, я же не выложил весь код. smile.gif
awp
Цитата(Zaval @ 11.08.10, 16:47) необходимо зарегистрироваться для просмотра ссылки
По-моему, возможны траблы - лучше вначале получить значение в переменную, а затем уже (если таковое найдется) проверять на пустоту...


Привычка из 8. Я в 7 только 2 месяца работаю
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.