Функция Случайное число, 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 не будет опубликован. Обязательные поля помечены *