Генерация случайных чисел (random)

29.09.11

Разработка - Универсальные функции

Еще один вариант генерации случайных чисел в 1с 7.7.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Пример использования обработки
.ert 43,50Kb
14
14 Скачать (1 SM) Купить за 1 850 руб.

Можно использовать следующий вариант для создания случайных чисел (кто-то уже использовал этот алгоритм, но я его немного доработал):
Функция СлучайноеЧисло(ЧислоМин, ЧислоМакс)
 scr=СоздатьОбъект("MSScriptControl.ScriptControl");   
 scr.language="javascript";
 Возврат scr.eval("Math.floor(Math.random()*("+Строка(ЧислоМакс)+"-"+Строка(ЧислоМин)+"+1))+"+Строка(ЧислоМин));   
КонецФункции

а вот функция для генерации уникальной строки:

Функция УникальноеИмяФайла(ДлинаСтроки 
 Символы="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
 Цифры="1234567890";             
 ИмяФайла="";
 Длина=0;
 ТипСтроки=0;
 Пока СтрДлина(ИмяФайла)<ДлинаСтроки Цикл
     ТипСимвола=СлучайноеЧисло(1,2);
  Если ТипСимвола=1 Тогда  
   Длина=СлучайноеЧисло(1, СтрДлина(Символы));
   ИмяФайла=ИмяФайла+Сред(Символы,Длина,1);    
  ИначеЕсли ТипСимвола=2 Тогда  
   Длина=СлучайноеЧисло(1, СтрДлина(Цифры));
   ИмяФайла=ИмяФайла+Сред(Цифры,Длина,1);   
  КонецЕсли;  
 КонецЦикла;
           
 Возврат ИмяФайла;
КонецФункции

См. также

Универсальные функции Программист Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    1371    14    user706545_kseg1971    0    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    2339    zhenyat    7    

8

Универсальные функции Программист Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    5138    Zoltan_Black    11    

2

Универсальные функции Системный администратор Программист Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13933    4    alsen    3    

5

Универсальные функции Программист Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10766    malovandrey    7    

19

Универсальные функции Работа с интерфейсом Программист Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18887    2    HAMMER_59    6    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. janber 30.09.11 14:35 Сейчас в теме
Я лично в качестве случайного числа брал секунды из ТекущееВремя()
Следующее значение получалось, если предыдущее возвести в квадрат и вырезать из середки 2 цифры.
Для практических целей (типа заполнить таблицу тестовыми данными) хватало.
2. TrinitronOTV 16 30.09.11 18:47 Сейчас в теме
Alex210 пишет:

Я лично в качестве случайного числа брал секунды из ТекущееВремя()
Следующее значение получалось, если предыдущее возвести в квадрат и вырезать из середки 2 цифры.
Для практических целей (типа заполнить таблицу тестовыми данными) хватало.

оригинальное решение...
3. Михаська 12 06.10.11 08:29 Сейчас в теме
4. GenTay 31.10.11 17:55 Сейчас в теме
Доброго времени суток! Очень хорошая идея. Особенно сплав случ.чисел и случ.строк!
5. cool.vlad4 2 31.10.11 18:04 Сейчас в теме
(4) А в чем оригинальность-то? а как вы думаете пароли формируют?
6. Abadonna 3968 23.03.13 13:21 Сейчас в теме
На что только народ не пойдет, вместо того, чтобы ВК использовать
7. SnakePlisskin 3 27.07.14 13:09 Сейчас в теме
Заюзал первый вариант, но дает только целые числа, а можно еще как то прилепить чтоб и дробная было?
8. Cooler 22 27.07.14 13:48 Сейчас в теме
(7) Конечно можно, надо только быть хоть чуть-чуть программистом, а не 1Сником.
Оставьте свое сообщение