Версия для печати темы (https://pro1c.org.ua/index.php?s=ba51814aadd15590ee006dbbd93a5bd2&showtopic=25781)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ Выбор периода

Автор: bizisoft 18.10.15, 4:06

Здравствуйте.
Столкнулся с непонятной работой элемента "Выбор периода", а именно не все документы попадают в отбор.
На форме расположил "Выбор периода", система создала обработчик для кнопки.

Процедура ВыбПериодНажатие(Элемент)
    НастройкаПериода = Новый НастройкаПериода;
    НастройкаПериода.РедактироватьКакИнтервал = Истина;
    НастройкаПериода.РедактироватьКакПериод = Истина;
    НастройкаПериода.ВариантНастройки = ВариантНастройкиПериода.Период;
    НастройкаПериода.УстановитьПериод(НачПериода, ?(КонПериода='0001-01-01', КонПериода, КонецДня(КонПериода)));
    Если НастройкаПериода.Редактировать() Тогда
        НачПериода = НастройкаПериода.ПолучитьДатуНачала();
        КонПериода = НастройкаПериода.ПолучитьДатуОкончания();
    КонецЕсли;
КонецПроцедуры


Отбор документов производится в другой процедуре следующим образом
ДокументыЗаказы = Документы.ЗаказПокупателя.Выбрать(НачПериода, КонПериода);


Имеются документы датируемые 15, 16, 17, 18 числа.
Допустим нужно отобрать документы за 18 число - задаю даты НачПериода = 18.10.2015 и КонПериода = 18.10.2015 или через Настройка периода День = 18.10.2015
Жму выполнить процедуру, но документы не отбираются.
Если изменить КонПериода на 19.10.2015 , то в таком случае документы отбираются.

Подскажите пожалуйста, что это за аномалия и как это можно вылечить ?

p.s. 1С:Предприятие 8.2 (8.2.19.130)
p.s. p.s. Типовое отраслевое решение "Альфа-Авто: АА, укр. 4.1" "1С-Рарус" (4.1.13.01)

Спасибо.


64000000.gif





Неделю ломал голову над этой проблемой, а вот решил попробовать что получится, если написать так:
ДокументыЗаказы = Документы.ЗаказПокупателя.Выбрать(НачалоДня(НачПериода), КонецДня(КонПериода));


...и о чудо заработало, как положено.

Верно-ли данное решение или это по детски?
Но тогда не понятно, почему не работает процедура при нажатии кнопки выбора периода, когда там в условном выборе стоит КонецДня()?

Автор: TipsyKID 18.10.15, 9:32

Есть предположение, что у Вас КонПериода и НачПериода переменные типа Дата а следует указать ДатаВремя.
Тогда не надо будет дополнительно указывать НачалоДня и КонецДня.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua