Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
16 Дек 2017, 21:53
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Не получается сравнение типов  (Прочитано 3899 раз)

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

Оффлайн ProfileS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-28
  • Сайт: 
  • Профессия: Ученик 1С
Здравствуйте, возникла такая вот проблема: есть документ "выдача книги" и константа "максимальное количество дней выдачи". В модуле объекта описываю проверку реквизитов один из них "ДатаВыдачи"(тип дата) , так вот хочу сравнить  с константой (тип Число), но в служебном сообщении пишет, что должны быть одинакового типа. Как мне сделать, чтобы можно было сравнивать(я думаю что преобразовать число в тип дату, но не знаю как=( )....


Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Приветствую!
Как это "преобразовать число в тип дата"?  :xfbnsdfb: физический смысл этого действия какой?
Я так понимаю, стоИт задача проверить - не просрочено ли... Тогда у нас должны быть параметры:
1. Дата выдачи - когда реально выдали
2. Количество дней, на которое максимально выдали
3. Момент времени, на который проверяем просрочку.

Тогда для проверки, нужно всего лишь проверить, сколько дней прошло с момента выдачи на момент проверки, и не превышает ли это максимальное количество дней выдачи.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн cska-fanat-kz

  • 1С:Специалист
  • Глобальный модератор
  • *****
  • Сообщений: 5745
  • РЕПУТАЦИЯ: 1099
  • КПД: 19%
  • Красная армия всех сильней!
  • Регистрация: 2010-11-06
    • Skype: cska-fanat-kz81
  • Сайт: cska-fanat-kz.ucoz.kz
  • Профессия: Разработчик 1С
Если ТекущаяДата() <= (ДатаВыдачи+86400*КоличествоДнейНаКоторыеВыдалиКнигу) Тогда
//Все нормально
КонецЕсли;
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Оффлайн ProfileS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-28
  • Сайт: 
  • Профессия: Ученик 1С
Спасибо за ответы, но я не совсем правильно объяснился. Вот я начал не получается перевести 2 даты в дни, так как пишет "Преобразование значения к типу Число не может быть выполнено", а дни нужны, чтобы я думаю сравнивать с константой. Вот на картинках что я хочу, чтобы получилось

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Нет, мы Вас правильно поняли.
И Вы поймите - нельзя сравнивать Число и Дату. Нужно либо найти количество дней между двумя датами, и потом сравнивать, либо  получать максимально-устраивающую дату, и сравнивать ее с текущей.

В 1С разность дат (как Вы находите переменную Кол) дает разницу в секундах.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн ProfileS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-28
  • Сайт: 
  • Профессия: Ученик 1С
Klyacksa Я и пробую первым способ "получение количества дней", но когда я начинаю переводить разницу между датами умножая на (24*60*60), конфигуратор начинает выдавать "преобразование невозможно", вот и не пойму как сделать чтобы мне он дни выдавал, а сравнить потом с константой будет делом техники=)

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Выложите Ваш код (тот, что выше) в текстовом виде, я поправлю. Самой набирать, знаете ли, лень :)
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн ProfileS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-28
  • Сайт: 
  • Профессия: Ученик 1С
Процедура ТблКнигиПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
          
            Для Каждого ТекСтрокаТблКниги Из ТблКниги Цикл
                 
            Кол=(НачалоДня(ТекСтрокаТблКниги.СрокВозврата)- НачалоДня(ТекущаяДата()* 86400));
                      
   Если  ТекСтрокаТблКниги.НомерСтроки> Константы.МаксКолКнигНаРуках.Получить() Тогда
         Сообщить("Слишком много уберите лишнее! ",СтатусСообщения.Важное);
         Отказ= Истина;
            КонецЕсли;
         
         Если  Кол>Константы.КолДнейВыдачи.Получить() Тогда
            Сообщить("Слишком много дней! ",СтатусСообщения.Важное);
         Отказ= Истина;
            КонецЕсли;
          КонецЦикла;

   
КонецПроцедуры

вот сам код в текстовом виде
Конечно понимаю B)

Оффлайн Klyacksa

  • Фрилансер. Милости прошу с задачами в личку.
  • Глобальный модератор
  • *****
  • Сообщений: 1325
  • РЕПУТАЦИЯ: 430
  • КПД: 32%
  • Регистрация: 2010-08-20
  • Сайт: 
  • Профессия: Программист 1С
Процедура ТблКнигиПриОкончанииРедактирования(Элемент, НоваяСтрока, ОтменаРедактирования)
          
            Для Каждого ТекСтрокаТблКниги Из ТблКниги Цикл
                
            Кол=(НачалоДня(ТекСтрокаТблКниги.СрокВозврата)- НачалоДня(ТекущаяДата()))/(24*60*60);
            // либо как вариант, сравниваем так:
            // Если НачалоДня(ТекущаяДата())+Константы.КолДнейВыдачи.Получить()*24*60*60>(НачалоДня(ТекСтрокаТблКниги.СрокВозврата) тогда ....
                      
   Если  ТекСтрокаТблКниги.НомерСтроки> Константы.МаксКолКнигНаРуках.Получить() Тогда
         Сообщить("Слишком много уберите лишнее! ",СтатусСообщения.Важное);
         Отказ= Истина;
            КонецЕсли;
        
         Если  Кол>Константы.КолДнейВыдачи.Получить() Тогда
            Сообщить("Слишком много дней! ",СтатусСообщения.Важное);
         Отказ= Истина;
            КонецЕсли;
          КонецЦикла;

  
КонецПроцедуры
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Оффлайн ProfileS

  • *
  • Сообщений: 8
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2011-03-28
  • Сайт: 
  • Профессия: Ученик 1С
Klyacksa Большое тебе спасибо за помощь :zebzdr:


Теги:
 

Вместо ссылки получается строка с наименованием ссылки

Автор МаксБУХРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 3
Просмотров: 255
Последний ответ 04 Июл 2017, 12:56
от ilyay
"РегистрСведенийхххСрезПоследних" Не получается вытащить последний документ

Автор ILLUMIРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 1
Просмотров: 667
Последний ответ 11 Янв 2015, 12:28
от LexaK
Не получается сделать расчет себестоимости для товаров с типом номенклатуры "набор"

Автор Nikolay.KРаздел Пользователям "1С - Предприятие 8"

Ответов: 2
Просмотров: 677
Последний ответ 02 Ноя 2016, 10:18
от Nikolay.K
Не получается провести расходный кассовый ордер,выдает ошибку по остатку денежных средств

Автор osvasikРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 341
Последний ответ 16 Апр 2017, 21:38
от osvasik
Не получается получить строку табличной части! Помогите пожалуйста, задача серьезнее, чем кажется!

Автор SergejjРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 5
Просмотров: 423
Последний ответ 07 Май 2017, 10:07
от ilnur75

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
157 Сообщений
ilyay ilyay
66 Сообщений
alex0402
53 Сообщений
AIFrame
51 Сообщений
andron81_81
44 Сообщений
oleg-x
44 Сообщений
BuhRust
33 Сообщений
MuI_I_Ika MuI_I_Ika
32 Сообщений
Golickoff Golickoff
31 Сообщений
Dima Dddd Dima Dddd
24 Сообщений

* Кто онлайн

  • Точка Гостей: 215
  • Точка Скрытых: 0
  • Точка Пользователей: 2
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal