|   |   | 
| 
 | v7: Не работает функция | ☑ | ||
|---|---|---|---|---|
| 0
    
        abbas 23.06.22✎ 09:15 | 
        Доброе времени суток, подскажите пжста, в каких случаях перестает работать %
 4%2 = 0 5%2 = 0 чтобы не писал, все равно 0 А вчера работало | |||
| 1
    
        abbas 23.06.22✎ 09:39 | 
        Ап     | |||
| 2
    
        asady 23.06.22✎ 09:47 | 
        (0) покажи свой код     | |||
| 3
    
        abbas 23.06.22✎ 09:56 | 
        флагРанд = 0;
 Пока флагРанд=0 цикл Ранд =_GetPerformanceCounter()*ТекущаяДата()%(9999); Если Стрдлина(Ранд) = 4 Тогда флагРанд=1; КонецЕсли; КонецЦикла; | |||
| 4
    
        abbas 23.06.22✎ 09:57 | 
        _GetPerformanceCounter()*ТекущаяДата() = выдает число
 а после %(Число) выдает 0 | |||
| 5
    
        Деспот_1С 23.06.22✎ 10:05 | 
        (0) 4%2 = 0 так и должно быть потому что  у = х % а. Берется остаток от деления «х» на «а». Результатом всегда будет значение между 0 и а-1     | |||
| 6
    
        asady 23.06.22✎ 10:15 | 
        (3) да...
 Число = Число * Дата % число; Строка = Число; столько неявных преобразований типов - может как-то причешешь код Глядишь и ошибки уйдут | |||
| 7
    
        Злопчинский 23.06.22✎ 18:30 | 
        Число, помноженное на дату - это сильно...     | |||
| 8
    
        Злопчинский 23.06.22✎ 18:32 | 
        (4) а что говорит 
 ТипЗначенияСтр(_GetPerformanceCounter()*ТекущаяДата()) | |||
| 9
    
        NorthWind 23.06.22✎ 21:41 | 
        (7) Нередко дата - это на самом деле унутре и есть целое, которое обозначает число дней, прошедших с какого-то определенного момента. Соответственно может быть положительным (после момента) и отрицательным (до момента).     | |||
| 10
    
        NorthWind 23.06.22✎ 21:44 | 
        не сильно удивлюсь, если в 7.7 дата тоже приводится к целому по тому же принципу, хотя ни разу не пробовал так делать     | |||
| 11
    
        NorthWind 23.06.22✎ 22:04 | 
        Да, в семерке тоже приводится к целому, нынешний день дает значение 2459754. Если сминусовать день из даты и опять привести, то 2459753, что логично. Но вот если сминусовать все это из текущей даты и напечатать как дату, то показывает белиберду с отрицательным годом, хотя по идее должно показать "начало времен" :) Релиз 7.7.027.     | |||
| 12
    
        Злопчинский 25.06.22✎ 02:19 | 
        (11) там сингулярность просто... ;-)     | |||
| 13
    
        NorthWind 25.06.22✎ 08:51 | 
        (12) :) но, однако, факт, что преобразования от даты к целому и наоборот действуют, и для каждой даты есть свое уникальное целое. Может пригодиться.     | |||
| 14
    
        Злопчинский 25.06.22✎ 12:17 | 
        (13) как-то не приходилось так извращаться ;-)
 . ТекущаяДата()-738695 = 01.01.0000 | |||
| 15
    
        MWWRuza гуру 25.06.22✎ 13:04 | 
        Да уж...
 Век живи, век учись - и все равно дураком подохнешь... Я для того, что-бы обеспечить уникальность файлов выгрузки из бэка во фронты, функцию создавал... Функция ВернутьТекДатуВремяЧислом() СтрДата = Строка(НомерДняГода(ТекущаяДата())); СтрВремя = СтрЗаменить(Строка(ТекущееВремя()), ":", ""); СтрДатВрем = СтрДата + СтрВремя; Возврат Число(СтрДатВрем); КонецФункции А можно было проще сделать, в одну строчку :-) | |||
| 16
    
        ДедМорроз 25.06.22✎ 13:17 | 
        Можно просто перебрать файлы с 1 и занять свободный.     | |||
| 17
    
        MWWRuza гуру 25.06.22✎ 13:24 | 
        (16) Да нечего перебирать. Файлы удаляет бэк, в случае удачной загрузки. И фиг с ними, они не нужны.
 А вот в случае ошибок, нони пропускаются при загрузке, но копия файла помещается в подпапку "EROR" папки загрузки. И вот там, уже нужна уникальность, если несколько файлов с ошибками загружены. Бэком я не рулю, он не 1С, а совершенно сторонний, и копирует файлы в подпапку ошибок как есть, не переименовывая... Поэтому, мне проще сразу уникальные имена сделать, на всякий случай. | |||
| 18
    
        MWWRuza гуру 25.06.22✎ 13:25 | 
        +(17) Бэком я не рулю
 Пардон, фронтом... ОписАлся... | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |