Имя: Пароль:
1C
1С v8
Генератор случайных чисел
0 amadeus2010
 
28.10.13
17:56
добрый вечер как правильно создать генератор случайных чисел в 1С? Я для справочника номенклатура создал код который должен генерировать случайные числа для элемента справочника Серийные номера. Вот код
/////////////////////////////////////////////////////////////////////
Процедура ГенераторСерийныхНомеров() экспорт   //Дима+
ГСЧ = Новый ГенераторСлучайныхЧисел();
СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0,1000000000);
КонецПроцедуры    

Процедура СгенерироватьСерийныйНомерНажатие(Элемент)  //Дима+
    Если  ПустаяСтрока(СерийныйНомер) тогда
         СерийныйНомер.ГенераторСерийныхНомеров();
     КонецЕсли;
    
КонецПроцедуры
//////////////////////////////////////////////////////////////
При нажатии на кнопку выходит ошибка
{Справочник.СерииНоменклатуры.Форма.ФормаЭлемента.Форма(330)}: Значение не является значением объектного типа (ГенераторСерийныхНомеров)
         СерийныйНомер.ГенераторСерийныхНомеров();
1 Wobland
 
28.10.13
17:57
СерийныйНомер=ГенераторСерийныхНомеров();

и на функцию рпереписать
2 K-5
 
28.10.13
17:57
Может так лучше? СерийныйНомер=ГенераторСерийныхНомеров();
3 Wobland
 
28.10.13
17:59
только вот что будешь делать, когда у тебя для разных номенклатур сгенерится одинаковый серийник?
4 Lama12
 
28.10.13
18:00
(0) Серийники через ГСЧ делать?
Ведь дубли будут.
5 vhl
 
28.10.13
18:01
(0) В чем преимущество случайного серийника перед последовательным?
6 vhl
 
28.10.13
18:03
Дима+ :)
7 Wobland
 
28.10.13
18:06
я тут себе картинки когда-то переименовывал...

Процедура КнопкаВыполнитьНажатие(Кнопка)
    ГСЧ=Новый ГенераторСлучайныхЧисел;
    Файлы=НайтиФайлы(Путь, "*.jpg");
    ОбщееКоличество=Файлы.Количество();
    
    Для й=0 По ОбщееКоличество-1 Цикл
        НовоеИмя=Путь+"\"+Формат(ГСЧ.СлучайноеЧисло(0, 99999999), "ЧЦ=8; ЧВН=; ЧГ=0")+".jpg";
        ф=Новый Файл(НовоеИмя);
        Если ф.Существует() Тогда
            й=й-1;
            Продолжить;
        КонецЕсли;
        ПереместитьФайл(Файлы[й].ПолноеИмя, НовоеИмя);
    КонецЦикла;
КонецПроцедуры
8 vhl
 
28.10.13
18:10
(7) Так и не понял в чем преимущество случайного номера перед последовательным?
9 vhl
 
28.10.13
18:10
(8) Я не понял
10 amadeus2010
 
28.10.13
18:11
хорошо как избежать дублей при генерировании серийных номеров?
11 Wobland
 
28.10.13
18:14
(8) попытка сделать рандомное слайд-шоу на девайсе, не знающем о ГСЧ
(10) генерировать последовательно, начиная с максимального иммеющегося + 1
12 echo77
 
28.10.13
18:14
(10) Смотреть (7)
13 vhl
 
28.10.13
18:16
(10) Найти последний и прибавить 1
14 vhl
 
28.10.13
18:20
(10) А вот еще - сделать код справочника уникальным и просто копировать его в серийник :)
15 Wobland
 
28.10.13
18:26
16 amadeus2010
 
28.10.13
18:31
(10) код справочника и так уникален, нужно генерить серийный номер товара
17 Wobland
 
28.10.13
18:32
(16) вот тебе с твоим ГСЧ не пофих ли, будет он равен коду или нет?
18 amadeus2010
 
28.10.13
18:32
сейчас такая ситуация- я жму на кнопку сгенерировать код, но никакой операции не происходит-поле Серийный номер пустое как и прежде
19 Wobland
 
28.10.13
18:34
(18) ну если ты до сих пор не внял советам, то всё верно. заполняться не будет
20 vhl
 
28.10.13
18:35
(16) И в чем проблема? Серийный уникальный? Уникальный. То что он равен коду - тебе что от этого? Душевный дискомфорт испытываешь?
21 amadeus2010
 
28.10.13
18:37
(19) не совсем понял советы еще раз подробнее можно?
22 amadeus2010
 
28.10.13
18:37
если я правильно понял то Серийный номер = Код справочника так?
23 Wobland
 
28.10.13
18:38
(21) -> (1)
(22) предлагаем назначить серийником код
24 vhl
 
28.10.13
18:42
(23) Еще можно просто на форме переименовать поле "Код" в "Серийный номер" :)
25 amadeus2010
 
28.10.13
19:33
(24) можно и так тем более что в справочник номенклатура по умолчании выводится только код справочника серийные номера и наименование товара. Но все же хочется генерировать серийные номера товара
26 hhhh
 
28.10.13
19:41
(25) ну вы нам объясните, в какой строчке вы записываете Поле Серийный номер? Пока видно, что вы его нигде не записываете. Поэтому поле пустое. Программа работает правильно.
27 amadeus2010
 
28.10.13
19:46
я кнопку поставил в справочнике Серии Номенклатуры, там есть поле Серийный номер туда я и пытаюсь сгенерировать серийный номер товара
28 amadeus2010
 
28.10.13
19:51
ситуация такая если заполнен серийный номер справочника серии номенклатуры то автоматически заполняется наименование серии и далее наименование отображается в справочнике номенклатура как серия товара. так что генерировать серийный номер все равно надо
29 Rie
 
28.10.13
19:52
(27) Тогда покажи код. И не забыл ли ты назначить кнопке обработчик?
30 amadeus2010
 
28.10.13
19:55
код указан в (0)
31 amadeus2010
 
28.10.13
19:55
обработчик принажатии()
32 Rie
 
28.10.13
19:57
(30) Код из (0) работать не может по определению.
У строк нет метода ГенераторСерийныхНомеров.

Тут всё дело в ДНК.
33 Эмбеддер
 
28.10.13
19:57
используй УникальныйИдентификатор, его тоже можно перевести из строки в число
34 Rie
 
28.10.13
19:57
+(32) Кстати, об этом тебе в посте (1) было сказано.
35 Rie
 
28.10.13
20:11
(28) И ещё. Не знаю, что там за конфигурация используется. Но обычно у серийных номеров нет наименования. А есть код - уникальный в пределах владельца (номенклатуры). А у объектов справочников есть метод УстановитьНовыйКод. Который сам всё, что надо сделает. Только не генератором псевдослучайных чисел, а найдёт максимальный - и поставит следующий за ним.
36 amadeus2010
 
28.10.13
20:25
(35) и вы предлагаете связать код справочника с серийным номером?
37 amadeus2010
 
28.10.13
20:26
Нашел такую функцию
////////////////////////////////////////////////
Функция Ранд(Парам=0)
    Если Парам<>0 Тогда
        Случай=Парам;
    КонецЕсли;
    Если Число(Случай)=0 Тогда
        Случай=Число(СтрЗаменить(""+ТекущееВремя(),":",""));
        Случай=(16807*Случай)%2147483647;
    КонецЕсли;
    Случай=(16807*Случай)%2147483647;
    Случай=макс(Случай,-Случай);
    Возврат(Случай/2147483647);
КонецФункции  
/////////////////////////////////////////////////
можно ее будет применить в данном случае?
38 Rie
 
28.10.13
20:28
(36) Какая конфигурация? В типовых они так и связаны.

(37) Если применять так, как в (0) - то нельзя. И эта функция ничем не лучше стандартного ГСЧ.
39 amadeus2010
 
28.10.13
20:31
у меня УТ 10.3, также такое надо сделать в УНФ
40 Rie
 
28.10.13
20:33
(39) В УТ 10.3 серийный номер - это уникальный в пределах подчинения код элемента справочника.
41 amadeus2010
 
28.10.13
20:41
код справочника номенклатура и серийный номер справочника серийные номера все же разные вещи
42 Rie
 
28.10.13
20:52
(41) Используй УстановитьНовыйКод - и наступит счастье.
43 Rie
 
28.10.13
20:54
(42) Извини, невнимательно читал ветку. У тебя же Серии, а не СерийныеНомера.
44 Rie
 
28.10.13
21:01
+(43) Тем не менее - всё равно можешь использовать УстановитьНовыйКод через вспомогательный справочник при записи серии.
45 amadeus2010
 
29.10.13
12:11
после долгих усилий пришлось по нажатии на кнопку Сгенерировать Код() сделать такое УстановитьНовыйКод("AZ-"),переименовать реквизит Код в Серийный Номер на вкладке Серийные номера справочника Номенклатура. Получилось может не очень красиво и эстетично зато работает и не будет проблем с уникальностью кодов
46 wuff
 
29.10.13
12:22
(45) а чо ты, сразу гуид фигач!
47 aka AMIGO
 
29.10.13
12:24
когда-то я занимался расчетами с применением последовательностей СЧ.. знал наизусть машинный код генератора псевдослучайных чисел.. вроде б стартовое число определялось из комбинации системных дата+время.
или несколько цифр от дробной части деления чего-нибудь на что-нибудь..
правда, в любом случае глубоко такую последовательность применять нельзя, вырождается, и числа начинают повторяться.

ЗЫ... ностальджи..  на вычислительной машине МИР-1 я делал перепрошивку логической матрицы под электронный генератор СЧ, источником СЧ был генератор белого шума на ПП-диоде..
48 Wobland
 
29.10.13
12:28
(47) на то они и случайные, чтоб повторяться. у меня вот периодически зачем-то возникает потребность получить серию неповторяющихся в диапазоне..
49 aka AMIGO
 
29.10.13
12:32
(48) видел такую последовательность: 5,3,5,3,5,3,5,3 и т.д.. это поле 5000 вполне нормальных СЧ
50 aka AMIGO
 
29.10.13
12:32
поле = после
51 Wobland
 
29.10.13
12:34
(49) тоже случайные. просто с другим распределением ;)
52 aka AMIGO
 
29.10.13
12:36
(51) ну.. не знаю :) был специальный алгоритм анализа случайности, так вот, машина начинала угадывать следующие числа из последовательности.. это уже совсем не случайные :)
53 Wobland
 
29.10.13
12:37
(52) а 6 из 36 спецалгоритм мог?
54 aka AMIGO
 
29.10.13
12:38
(53) не помню уже, друже.. вроде тоже диапазончик не очень широкий..
55 Wobland
 
29.10.13
12:40
(54) гм.. это был намёк на спортлото
56 aka AMIGO
 
29.10.13
12:41
(55) ааа.. а я-то разумничался :)
57 aka AMIGO
 
29.10.13
12:52
да, источником СЧ могла быть и заранее сгенерированная  (созданная чем-нибудь) последовательность чисел, в виде массива.

был у нас и такой вариант, предложенный ведущим инженером-математиком предприятия :)
58 amadeus2010
 
29.10.13
13:06
в справочнике номенклатура переименованое поле код в серийный номер отображается но при вызове обработки печать этикеток серийные номера не отображаются так как идет ссылка на регистр штрихкоды в котором реквизит серия ссылается на справочник серии номенклатуры
59 Wobland
 
29.10.13
13:06
ага, созданная кем-то последовательность...
а неплохо было. задача: у меня двое детей, один из них мальчик. какова вероятность того, что второй тоже мальчик?
моделировалась с помощью монетки, бумажки, 500 подбрасываний и 5 литров пива
60 Wobland
 
29.10.13
13:07
(58) вот видишь, сколько у тебя ещё работы
61 Wobland
 
29.10.13
13:09
+(60) а всё почему? потому что, как любой студент, придумал решение, не посоветовавшись со старшими
62 amadeus2010
 
29.10.13
13:10
да мало переименовать поля справочника надо еще в обработке поковыряться чтобы заполнялись поля тоже. Кстати никто не работал с УНФ, так как все эти  навороты надо применить и в ней.
63 amadeus2010
 
29.10.13
13:10
(61) а что старшие посоветуют?
64 Wobland
 
29.10.13
13:11
(63) описать исходную задачу
65 aka AMIGO
 
29.10.13
13:19
(63) напиши свой алгоритм ГСЧ
66 amadeus2010
 
29.10.13
13:19
так задача такая надо генерировать серийные номера справочника серии номенклатуры,затем распечатать их на этикетках вместе с штрихкодом товара. Для решения задачи я подумал что лучше всего подойдет генерация чисел
67 Wobland
 
29.10.13
13:23
(66) задача не такая. необходимо организовать создание, хранение и вывод в ПФ серийных номеров номенклатуры. так лучше?
68 amadeus2010
 
29.10.13
13:29
(67) в принципе вы правы в итоге работа сводится к печати штрихкодов и серийных номеров на этикетки
69 amadeus2010
 
29.10.13
14:03
есть какие предложения от старших братьев?
70 Wobland
 
29.10.13
14:05
справочник про серии подходит? на печать он выводится? если так, то остаётся нагенерить элементов справочника и всего делов. если серий несколько, что бывает?
71 amadeus2010
 
29.10.13
14:24
я сейчас зашел по другому. При печати этикеток важны поля штрихкод и наименование из регистра штрихкоды. Я сделал небольшие изменения в самом справочнике серийные номера и теперь в поле наименование садится значение поля код под которым подразумевается серийный номер товара
72 amadeus2010
 
29.10.13
17:30
Добрый вечер заказчик изменил решение теперь он хочет чтобы штрихкод товара генерировался случайными числами. 1С дает последовательную систему выдачи номеров штрихкода, как можно сделать формирование штрихкода случайным образом чтобы не было как сейчас 2000077-2000078 и т.д а как-нибудь так 77adg5, и т.д.
Пишу здесь чтобы не открывать новую ветку
73 Wobland
 
29.10.13
17:32
(72) рассказать тебе, как я картинки переименовывал? можно было и усложнить: генерить коды символов, а не голые числа
74 amadeus2010
 
29.10.13
17:49
(73) есть процедура формирования нового штрихкода, туда как-то можно добавить генерацию так как я описал?
75 Wobland
 
29.10.13
17:52
(74) это техническое любопытство или ты разрешения спрашиваешь? в обоих случаях ответ положителен
76 Wobland
 
29.10.13
17:53
//мне делать пока лениво, я наблюдаю и жду каких-то подвижек со стороны автора
77 amadeus2010
 
29.10.13
17:56
(75) это я совета спрашиваю
78 Wobland
 
29.10.13
18:02
х=ГСЧ.СлучайноеЧисло(0, 36);
х=х+?(х<10, 48, 65);
стр=стр+Символ(х)

это дело в цикл на длину строки, цикл повторять до уникальности. на здоровье
79 amadeus2010
 
29.10.13
18:02
спасибо за совет
80 Wobland
 
29.10.13
18:06
Лев(СтрЗаменить(Ссылка.УникальныйИдентификатор(), "-", ""), НужнаяДлина)
81 Wobland
 
29.10.13
18:10
а задавался я как-то вопросом, как поиметь случайный элемент справочника. ничего лучше, чем брать случайную строку из запроса по всем элементам, не придумал. найдутся идеи у кого?
82 miron25
 
29.10.13
18:36
(79)УникальныйИдентификатор.
GUID (Globally Unique Identifier) — статистически уникальный 128-битный идентификатор. Его главная особенность — уникальность, которая позволяет создавать расширяемые сервисы и приложения без опасения конфликтов, вызванных совпадением идентификаторов. Хотя уникальность каждого отдельного GUID не гарантируется, общее количество уникальных ключей настолько велико (2128 или 3,4028?1038), что вероятность того, что в мире будут независимо сгенерированы два совпадающих ключа, крайне мала.
Чем тебе не штрихкод?
83 miron25
 
29.10.13
18:41
В Википедий написано.
Код товара. Ранее было сказано, что 3-5 оставшихся цифр выделяется для кодировки самого товара. И длина этого поля зависит от политики регистратора, то есть, в зависимости от того, какую длину кода предприятия выбрал регистратор в качестве базовой. То есть, от одной до ста тысяч наименований. Вопреки сложившемуся мнению, цифровой код самого товара никакой смысловой нагрузки не несёт. <<<Ассоциация рекомендует последовательное присвоение кодов по мере выпуска нового вида продукции без вложения в этот код какой-либо дополнительной смысловой нагрузки>>>. То есть, это ни вес, ни цвет, ни цена, ни что бы то ни было ещё — это всего лишь порядковый номер товара, который компьютер терминала магазина просто берёт из своей компьютерной базы, где хранится как наименование, так и цена товара.
84 miron25
 
29.10.13
18:42
Лучше последовательное штрихкодирование.Генератор всё таки не уникален,и при большом количестве продукций может совпасть.
85 amadeus2010
 
30.10.13
10:50
ясное дело что последовательное штрихкодирование лучше, но если заказчик хочет чтобы при выдаче штрихкода сам код формировался случайным образом, чтобы никто не смог отследить количество выпущенного товара при последовательном штрихкодировании
86 Wobland
 
30.10.13
10:51
(85) навеяло

Троим инженерам необходимо посчитать их общий средний оклад, но ни один из них категорически не хочет, чтобы двое других узнали, какой оклад у него.
Вопрос:     Как инженеры могут посчитать их средний оклад?
87 hhhh
 
30.10.13
10:54
(85) тогда, текущаяДата() берите. Случайное число.
88 Рэйв
 
30.10.13
10:56
(0)А сделать из кода справочника серийный номер + уникальность кодов в справочнике не проще ли будет?
89 Рэйв
 
30.10.13
10:56
+(88)при генераторе есть маленькая но вероятность дублей
90 Wobland
 
30.10.13
10:58
(88) это ещё в начале ветки затерялось
91 amadeus2010
 
30.10.13
11:46
(88) у меня и так код справочника=серийный номер товара, в настройке справочника стандартная уникальность кода, только он последовательный. Я общался с нашими программистами они посоветовали сделать шифратор чтобы в момент создания штрихкода последняя цифра формировалась случайным образом и последующий штрихкод отличался от предыдущего например
2001145-2001134-2001156
У меня сейчас так выходит при печати этикеток
Матрас AZ-0009 200000077
Матрас AZ-00010 200000078
А можно извините за повтор как-то так
Матрас AZ-0009 200000077
Матрас AZ-00020 200000086
92 Wobland
 
30.10.13
11:47
(91) можно и как-то так, да
93 amadeus2010
 
30.10.13
12:07
дело в том сам штрихкод не дает последовательную комбинацию цифр к примеру несколько наименований товаров и такие штрихкоды
2000000000022,2000000000039,2000000000046,2000000000060,2000000000077. В программе только при печати этикеток серийные номера идут последовательно так как они привязаны к коду справочника. Можно ли сам код сделать случайными цифрами и буквами?
94 Wobland
 
30.10.13
12:08
(93) благословляю
95 amadeus2010
 
30.10.13
12:13
так же есть предложение вместо 2000000000022,2000000000039,2000000000046,2000000000060,2000000000077 чтобы печатался случайный набор цифр и букв. Это можно как-то реализовать в УТ?
96 Wobland
 
30.10.13
12:14
(95) на 1Се даже сапёра можно реализовать
97 Wobland
 
30.10.13
12:15
поможет идея кода, выдающего строку, собранную из случайных букв и цифр?
98 amadeus2010
 
30.10.13
12:16
(97) можно по конкретнее?
99 amadeus2010
 
30.10.13
12:17
думаю что это было бы хорошо строка из случайных цифр и букв.
100 Wobland
 
30.10.13
12:17
(98) вот если я возьму и накидаю пару строк, которые будут возвращать последовательность случайных символов, тебе станет легче жить?
101 Wobland
 
30.10.13
12:17
(99) поищи в конце семидесятых постов
102 Wobland
 
30.10.13
12:18
сто два!
103 amadeus2010
 
30.10.13
12:18
(100) жить станет гораздо легче
104 amadeus2010
 
30.10.13
12:28
(101) нашел такую функцию
//////////////////////////////////////////////////////
Функция ГенераторСерийныхНомеров() экспорт
    
    //вместо Randomize
    
     перем мин;
     перем макс;
    
     //вместо Randomize
   Для н = 1 По 100 Цикл
       Уник = Новый УникальныйИдентификатор;
   КонецЦикла;
  
       //генерируем GUID
   Уник = СокрЛП(Новый УникальныйИдентификатор);

       //оставляем только цифры
   Уник = СтрЗаменить(Уник,"-","");
   Уник = СтрЗаменить(Уник,"a","");
   Уник = СтрЗаменить(Уник,"b","");
   Уник = СтрЗаменить(Уник,"c","");
   Уник = СтрЗаменить(Уник,"d","");
   Уник = СтрЗаменить(Уник,"e","");
   Уник = СтрЗаменить(Уник,"f","");

   //знаменатель должен иметь такое же количество нулей + 1
   Знаменатель = 10;
   Для н = 2 По (СтрДлина(СтрЗаменить(Уник,Символы.НПП,""))) Цикл
       Знаменатель = Знаменатель * 10;
   КонецЦикла;
  
   Случ = Число(Уник) / Знаменатель; //здесь получается дробное случайное число от 0 до 1
  

   ЧислоИзИнтервала = Цел(0.5 + (Макс - Мин + 1) * Случ) + Мин - 1;
   Если ЧислоИзИнтервала = Мин - 1 Тогда
        ЧислоИзИнтервала = Макс;
   КонецЕсли;

   Возврат ЧислоИзИнтервала;

КонецФункции     
//////////////////////////////////////////////////
теперь есть элемент серийный номер, есть кнопка генератор. Есть процедура ГенераторПриНажатии()
СерийныйНомер = ГенераторСерийныхНомеров();
КонецПрцедуры

При таком ходе в поле серийный номер при нажатии кнопки сформируется число? И как можно будет вместо цифр штрихкода при печати указать случайный набор букв и цифр?
105 Wobland
 
30.10.13
12:29
там, по-моему, первый же комментарий к этому коду: "чем штатный ГСЧ плох?"
106 amadeus2010
 
30.10.13
12:46
(105) я не говорю что штатный ГСЧ плох или хорош. У меня вопрос как сделать так чтобы при нажатии кнопки в нужном поле выходил результат выполнения команды. У меня еще вчера поле Серийный номер оставалось пустым при выполнении команды Генерировать
107 Wobland
 
30.10.13
12:50
(106) а я не призываю дискутировать на тему хорошести штатного ГСЧ. ответ в (1)
108 amadeus2010
 
30.10.13
13:09
(107) возвращаясь к (100) как можно закодировать надпись штрихкода и серийного кода набором случайных цифр и букв?
109 amadeus2010
 
30.10.13
13:09
(107) вы имели ввиду цикл в (78)?
110 Wobland
 
30.10.13
13:10
(109) да
111 1dvd
 
30.10.13
13:17
Функция ВернутьСлучайную36ричнуюСтроку(ДлинаСтроки)
    
    Результат = "";
    ГСЧ = НОвый ГенераторСлучайныхЧисел;
    
    Для Идн = 1 по ДлинаСтроки Цикл
        СлучайноеЧисло = ГСЧ.СлучайноеЧисло(0, 35);
        Если СлучайноеЧисло<10 Тогда
            Результат = Результат + СлучайноеЧисло;
        Иначе
            Результат = Результат + Символ(55 + СлучайноеЧисло);
        КонецЕсли;
    КонецЦикла;
    
    Возврат Результат;
    
КонецФункции
112 Wobland
 
30.10.13
13:19
(111) не взлетит. надо переименовать в ГенераторСерийныхНомеров()
113 1dvd
 
30.10.13
13:21
(112) нет уж, пусть сам мозгами пораскинет
114 amadeus2010
 
30.10.13
13:27
да назвать можно как угодно главное чтобы работало
115 Wobland
 
30.10.13
13:31
(114) название уже придумал?
116 Повелитель
 
30.10.13
13:42
(95) Серийный номер = Новый УникальныйИдентификатор;
Точно уникальный будет
117 Wobland
 
30.10.13
13:43
(116) было уже. пускай уж хоть как-нибудь сделает, я на всё согласен ;)
118 amadeus2010
 
30.10.13
17:07
Воспользовался подсказанной функцией
///////////////////////////////////////////
Функция ГенераторСерийныхНомеров() экспорт
Парам = 0;    
  Если Парам<>0 Тогда
        Случай=Парам;
    КонецЕсли;
    Если Число(Случай)=0 Тогда
        Случай=Число(СтрЗаменить(""+ТекущаяУниверсальнаяДатаВМиллисекундах(),":",""));
        Случай=(16807*Случай)%2147483647;
    КонецЕсли;
    Случай=(16807*Случай)%2147483647;
    Случай=макс(Случай,-Случай);
    Возврат(Случай/2147483647);
КонецФункции
//////////////////////////////////////////////////
сделал привязку СерийныйНомер =ГенераторСерийныхНомеров(); которая по нажатию на кнопку Генератор должна выполниться.
но получаю ошибку {Справочник.СерииНоменклатуры.МодульОбъекта(146)}: Преобразование значения к типу Число не может быть выполнено
    Если Число(Случай)=0 Тогда
СерийныйНомер имеет тип Строка
119 Wobland
 
30.10.13
17:09
что только не придумают, лишь бы не работало...
120 hhhh
 
30.10.13
17:14
(118) вот здесь

Если Парам<>0 Тогда
        Случай=Парам;
    КонецЕсли;

если Парам = 0 ты не определил чему равен Случай.
121 hhhh
 
30.10.13
17:15
как-то так

Если Парам<>0 Тогда
        Случай=Парам;
КонецЕсли;
Если Парам=0 Тогда
    Случай=Парам;
КонецЕсли;
Если Парам<>1 Тогда
        Случай=Парам;
КонецЕсли;
Если Парам=1 Тогда
    Случай=Парам;
КонецЕсли;
122 Wobland
 
30.10.13
17:17
а завтра будем сюда буквы добавлять?
123 amadeus2010
 
30.10.13
17:41
подправил функцию серийный номер сгенерировался в таком виде
0,18773090848127887979209
0,19817088832993567377791
как можно избавиться от 0 в начале,т.е чтобы было целое число?
124 Wobland
 
30.10.13
17:46
ГСЧ.СлучайноеЧисло(1, 99999999999999999999)
125 amadeus2010
 
30.10.13
18:01
(124) применительно к указанной функции куда вставить ГСЧ.СлучайноеЧисло(1, 99999999999999999999) ибо это уже другая функция
126 Wobland
 
30.10.13
18:02
Функция БолееДругаяФункция()
  Возврат ГСЧ.СлучайноеЧисло(1, 99999999999999999999);
КонецФункции