Функция Случайное число, RANDOM, RND для 1С 7.7

В 1С нет функции случайного числа. представляю Вам свою. основана на получении идентификатора и из него случайного числа. от 0 до 10, от 0 до 100 и от 0 до 1000.

функция ПолучитьСлучайноеЧисло (ВерхняяВилка=1);

    Если ЗагрузитьВнешнююКомпоненту(«V7Plus.dll») <> 1 Тогда
       
Сообщить(«Ошибка загрузки компоненты V7+»);
        возврат
0;
    КонецЕсли;

    НТТРСистИнформ = СоздатьОбъект(«AddIn.V7SysInfo»);

    //получим уникальный идентификатор:
   
СлучайнаяСтрока = СокрЛП(НТТРСистИнформ.СоздатьGUID()); // вида:11CADC0A-96C4-4547-81E4-889CB89634BB

    //Суммируем коды всех символов этой случайной строки
    Куча=1;
    для
СчетчикСимволов=1 по СтрДлина(СлучайнаяСтрока) цикл
       
куча = куча+КодСимв(Сред(СлучайнаяСтрока,СчетчикСимволов,1))*СчетчикСимволов;
    Конеццикла;

    возврат куча % ВерхняяВилка;
конецфункции

//*******************************************
Процедура Сформировать()
   
НеБолееТысячи = 1000;
   
НеБолееСта = 100;
   
НеБолееДесяти = 10;

    сообщить(«Случайное число не более тысячи:»+ПолучитьСлучайноеЧисло(НеБолееТысячи));
   
сообщить(«Случайное число не более ста:»+ПолучитьСлучайноеЧисло(НеБолееСта));
   
сообщить(«Случайное число не более Десяти:»+ПолучитьСлучайноеЧисло(НеБолееДесяти));
КонецПроцедуры

17 Comments

  1. ShantinTD

    У нас извратились на получение «случайного» числа из

    _GetPerformanceCounter();
    Reply ↓
  2. Angeros

    Всегда интересовало нафига в учетной системе функция рандом?

    Reply ↓
  3. Alraune
    В 1С нет функции случайного числа

    в 8 есть

    Reply ↓
  4. Famza

    (2) А распределение зарплаты?

    Reply ↓
  5. Angeros

    (4) 😀

    Reply ↓
  6. janber

    Оригинально!

    Хорошо бы еще для полноты картины добавить параметр «нижняя вилка»

    Reply ↓
  7. TrinitronOTV
    Famza пишет:

    (2) А распределение зарплаты?

    хорошо хоть не размер самой зарплаты

    Reply ↓
  8. victuan

    И ради такой фигни загружать целую ВК?

    Reply ↓
  9. vkr

    (2) Чтобы можно было, например, на языке 1С игрушку типа пасьянса реализовать… 😀

    Reply ↓
  10. bsturtle

    (8) victuan,

    🙂 и стоит

    ради 1С — целый Windows грузить :)))

    Reply ↓
  11. bsturtle

    (9) vkr, А я делал эту функцию для того чтобы табели отработанного времени охранникам формировать )))

    Reply ↓
  12. Angeros

    (11) Ну ну. купить среду для бизнес приложений, чтобы в пасьянс погонять. 🙂

    Reply ↓
  13. flash82

    прикольно, буду иметь ввиду…

    Reply ↓
  14. GenTay

    Хорошая вещь, у себя реализовал прикольно.

    Reply ↓
  15. bsturtle

    (14) GenTay, На здоровье

    Reply ↓
  16. bsturtle

    (16) Кошки рулят, не убедил

    Reply ↓
  17. avers007

    Кроме игрушек бывает еще задача сформировать код доступа куда либо. И чтобы каждый раз был новый. Так что «+»

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *