Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 20:22

Не сравнивает 2 значения

Автор Scream, 29 сен 2019, 14:55

0 Пользователей и 1 гость просматривают эту тему.

Scream

Всем добрый день. Я новичек в программировании, прошу отнестись с уважением. Есть запрос, хочу сделать сравнение 2 дат и на основании сравнение выполнить нужные действия. Но при выполнении процедуры говорит "Операции на сравнение больше-меньше допустимы только для значений совпадающих примитивных типов". Вот сам запрос.

ЦитироватьПроцедура ВыполнитьПроверкуКонтрагентов()
Запрос  = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
               |   ОплататоваровОстатки.Контрагент,
               |   ОплататоваровОстатки.Реализациятоваров.Дата КАК ДатаНД,
               |   ОплататоваровОстатки.СуммаОстаток,
               |   ПериодКонсигнации.КоличествоДней КАК СрокДолга
               |ИЗ
               |   РегистрНакопления.Оплататоваров.Остатки КАК ОплататоваровОстатки,
               |   РегистрСведений.ПериодКонсигнации КАК ПериодКонсигнации";
Выборка = запрос.Выполнить().Выбрать();
//ТипЗнч(Дата)=Тип("Дата");
ДатаДК = ТекущаяДата()-60*60*24*8;
//Сообщить(ДатаДК);
Пока выборка.Следующий() цикл
   Если Выборка.ДатаНД < ДатаДК тогда
     Об = Выборка.Контрагент.ПолучитьОбъект();
   Об.КлиентВСтопЛисте = Истина;
   Об.записать();
   КонецЕсли;
КонецЦикла;
   
КонецПроцедуры

Заранее благодарен.

alexandr_ll

Цитата: Scream от 29 сен 2019, 14:55
Всем добрый день. Я новичек в программировании, прошу отнестись с уважением. Есть запрос, хочу сделать сравнение 2 дат и на основании сравнение выполнить нужные действия. Но при выполнении процедуры говорит "Операции на сравнение больше-меньше допустимы только для значений совпадающих примитивных типов". Вот сам запрос.

ЦитироватьПроцедура ВыполнитьПроверкуКонтрагентов()
Запрос  = Новый запрос;
Запрос.Текст = "ВЫБРАТЬ
               |   ОплататоваровОстатки.Контрагент,
               |   ОплататоваровОстатки.Реализациятоваров.Дата КАК ДатаНД,
               |   ОплататоваровОстатки.СуммаОстаток,
               |   ПериодКонсигнации.КоличествоДней КАК СрокДолга
               |ИЗ
               |   РегистрНакопления.Оплататоваров.Остатки КАК ОплататоваровОстатки,
               |   РегистрСведений.ПериодКонсигнации КАК ПериодКонсигнации";
Выборка = запрос.Выполнить().Выбрать();
//ТипЗнч(Дата)=Тип("Дата");
ДатаДК = ТекущаяДата()-60*60*24*8;
//Сообщить(ДатаДК);
Пока выборка.Следующий() цикл
   Если Выборка.ДатаНД < ДатаДК тогда
     Об = Выборка.Контрагент.ПолучитьОбъект();
   Об.КлиентВСтопЛисте = Истина;
   Об.записать();
   КонецЕсли;
КонецЦикла;
   
КонецПроцедуры

Заранее благодарен.
По-видимому Выборка.ДатаНД не возвращает дату.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск