Получение случайного числа средствами 1С (пример функции)

Публикация № 57305

Разработка - Практика программирования

17
Принцип основан на том, что от момента получения случайного числа до наступления следующей секунды программа увеличит счетчик каждый раз на разное количество.
функция генерирует случайное (или псевдослучайное?) число от НачЧисло до КонЧисло
Функция СлучайноеЧисло(НачЧисло = 0,КонЧисло = 1,флЦелое = 0)
ТекВремя =ТекущееВремя();
СлЧисло = 0;
Пока ТекущееВремя() =ТекВремя Цикл

СлЧисло =СлЧисло + 1;
	

КонецЦикла;
СлЧисло =Число(Прав("000" +СлЧисло, 3)) / 1000;

// число от 0 до 0.999 

СлЧисло =НачЧисло + (КонЧисло -НачЧисло) *СлЧисло; 

// число от НачЧисло до КонЧисло
Возврат ?флЦелое = 1,Окр(СлЧисло, 0),СлЧисло);
КонецФункции 
17

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. PowerBoy 2910 03.10.08 07:07 Сейчас в теме
(0) Я даже без теста вижу, что спектр сдесь будет неоднородный - т.е. определённые числа будут выпадать чаще.
2. Abadonna 3833 03.10.08 07:17 Сейчас в теме
Уж лучше цепляться за _GetPerformanceCounter(), чем за ТекущееВремя()
3. noblekey 98 03.10.08 08:35 Сейчас в теме
Можно еще так

Функция ПолучитьСлучайноеЧисло(Мин,Макс)

//вместо Randomize
Для н = 1 По 100 Цикл
Уник = Новый УникальныйИдентификатор;
КонецЦикла;

//генерируем GUID
Уник = СокрЛП(Новый УникальныйИдентификатор);

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

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

Случ = Число(Уник) / Знаменатель; //здесь получается дробное случайное число от 0 до 1

//преобразуем его в случайное число из заданного интервала, округляем до целого
ЧислоИзИнтервала = Мин(Макс(Окр(Мин + (Макс-Мин)*Случ),Мин),Макс);

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

КонецФункции
Andreyyy; user1038570; rpgshnik; feel_deep; rayastar; sanfoto; V.Nikonov; artbear; +8 Ответить
5. kitt 325 03.10.08 10:54 Сейчас в теме
(3) можно еще так:
Код
ГСЧ = Новый ГенераторСлучайныхЧисел(255);
Рэндом = ГСЧ.СлучайноеЧисло(0, 10000);
Показать полностью

:)
user895546; Soloist; maksa2005; Plotks2017; Shadow326; Montecrizto; v.krivenko; adhocprog; Mir-mup; DrAku1a; twin; iceser1; mix; +13 1 Ответить
16. rpgshnik 1676 12.09.16 10:26 Сейчас в теме
(5) kitt, Эта штатная какашка выдает одно и тоже число((
19. MariusUrsus 18.08.17 11:12 Сейчас в теме
(16)

Новый ГенераторСлучайныхЧисел(<НачальноеЧисло>)
Параметры:
<НачальноеЧисло> (необязательный)
Тип: Число.
Начальное число, которым инициализируется генератор случайных чисел.
Описание:
Генератор случайных чисел инициализируется начальным числом из параметра.
Последовательность случайных чисел для одного и того же начального числа будет одинакова.


нужно изменяющееся зерно задавать, например так
ГенераторСлучайныхЧисел  = Новый ГенераторСлучайныхЧисел(ТекущаяУниверсальнаяДатаВМиллисекундах());
СлучайноеЧисло = ГенераторСлучайныхЧисел.СлучайноеЧисло(0, 99);
Sintson; user811626; chubajs12; Plotks2017; ivv1970; +5 Ответить
7. artbear 1155 05.05.09 18:20 Сейчас в теме
(3) Плюсую.
Мне нужно было получить несколько случайных чисел для 8.0
Вариант из (3) помог, т.к. скорость выполнения была не важна.
9. V.Nikonov 119 17.09.11 12:08 Сейчас в теме
Может лучше малость подправленный вариант (3)
//НВЮ/ Получение Случайного Числа
//
// Параметры
//  <Мин>  - <Число> - Нижняя граница Равномерного Распределения
//  <Макс>  - <Число> - Верхняя граница Равномерного Распределения
//
// Возвращаемое значение:
//   <Число>   - Сгенерированное случайное число
//
Функция ПолучитьСлучайноеЧисло(Мин=0,Макс=100) Экспорт

//вместо Randomize 
Для н = 1 По Макс Цикл 
Уник = Новый УникальныйИдентификатор; 
КонецЦикла; 

//генерируем GUID 
Уник = СокрЛП(Новый УникальныйИдентификатор); 

//оставляем только цифры 
Уник	= СтрЗаменить(Уник,"-","");
Уник	= СтрЗаменить(Уник,Символы.НПП,"");

Случ = 0;
//знаменатель должен иметь такую же разрядность 
Знаменатель = 1; 
Для н = 1 По (СтрДлина(Уник)) Цикл
	ТекС = Сред(Уник,н,1);
	Если ТекС="a" Тогда
		Случ = Случ + Знаменатель*10;
	ИначеЕсли ТекС="b" Тогда
		Случ = Случ + Знаменатель*11;
	ИначеЕсли ТекС="c" Тогда
		Случ = Случ + Знаменатель*12;
	ИначеЕсли ТекС="d" Тогда
		Случ = Случ + Знаменатель*13;
	ИначеЕсли ТекС="e" Тогда
		Случ = Случ + Знаменатель*14;
	ИначеЕсли ТекС="f" Тогда
		Случ = Случ + Знаменатель*15;
	ИначеЕсли ТекС="1" Тогда
		Случ = Случ + Знаменатель;
	ИначеЕсли ТекС="2" Тогда
		Случ = Случ + Знаменатель*2;
	ИначеЕсли ТекС="3" Тогда
		Случ = Случ + Знаменатель*3;
	ИначеЕсли ТекС="4" Тогда
		Случ = Случ + Знаменатель*4;
	ИначеЕсли ТекС="5" Тогда
		Случ = Случ + Знаменатель*5;
	ИначеЕсли ТекС="6" Тогда
		Случ = Случ + Знаменатель*6;
	ИначеЕсли ТекС="7" Тогда
		Случ = Случ + Знаменатель*7;
	ИначеЕсли ТекС="8" Тогда
		Случ = Случ + Знаменатель*8;
	ИначеЕсли ТекС="9" Тогда
		Случ = Случ + Знаменатель*9;
	КонецЕсли;
	Знаменатель = Знаменатель * 16;
КонецЦикла; 

Случ = Случ / Знаменатель; //здесь получается дробное случайное число от 0 до 1 

//преобразуем его в случайное число из заданного интервала, округляем до целого 
ЧислоИзИнтервала = Мин(Макс(Окр(Мин + (Макс-Мин)*Случ),Мин),Макс); 

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

КонецФункции //ПолучитьСлучайноеЧисло()
Показать
10. V.Nikonov 119 17.09.11 12:08 Сейчас в теме
Может лучше малость подправленный вариант (3)
//НВЮ/ Получение Случайного Числа
//
// Параметры
//  <Мин>  - <Число> - Нижняя граница Равномерного Распределения
//  <Макс>  - <Число> - Верхняя граница Равномерного Распределения
//
// Возвращаемое значение:
//   <Число>   - Сгенерированное случайное число
//
Функция ПолучитьСлучайноеЧисло(Мин=0,Макс=100) Экспорт

//вместо Randomize 
Для н = 1 По Макс Цикл 
Уник = Новый УникальныйИдентификатор; 
КонецЦикла; 

//генерируем GUID 
Уник = СокрЛП(Новый УникальныйИдентификатор); 

//оставляем только цифры 
Уник	= СтрЗаменить(Уник,"-","");
Уник	= СтрЗаменить(Уник,Символы.НПП,"");

Случ = 0;
//знаменатель должен иметь такую же разрядность 
Знаменатель = 1; 
Для н = 1 По (СтрДлина(Уник)) Цикл
	ТекС = Сред(Уник,н,1);
	Если ТекС="a" Тогда
		Случ = Случ + Знаменатель*10;
	ИначеЕсли ТекС="b" Тогда
		Случ = Случ + Знаменатель*11;
	ИначеЕсли ТекС="c" Тогда
		Случ = Случ + Знаменатель*12;
	ИначеЕсли ТекС="d" Тогда
		Случ = Случ + Знаменатель*13;
	ИначеЕсли ТекС="e" Тогда
		Случ = Случ + Знаменатель*14;
	ИначеЕсли ТекС="f" Тогда
		Случ = Случ + Знаменатель*15;
	ИначеЕсли ТекС="1" Тогда
		Случ = Случ + Знаменатель;
	ИначеЕсли ТекС="2" Тогда
		Случ = Случ + Знаменатель*2;
	ИначеЕсли ТекС="3" Тогда
		Случ = Случ + Знаменатель*3;
	ИначеЕсли ТекС="4" Тогда
		Случ = Случ + Знаменатель*4;
	ИначеЕсли ТекС="5" Тогда
		Случ = Случ + Знаменатель*5;
	ИначеЕсли ТекС="6" Тогда
		Случ = Случ + Знаменатель*6;
	ИначеЕсли ТекС="7" Тогда
		Случ = Случ + Знаменатель*7;
	ИначеЕсли ТекС="8" Тогда
		Случ = Случ + Знаменатель*8;
	ИначеЕсли ТекС="9" Тогда
		Случ = Случ + Знаменатель*9;
	КонецЕсли;
	Знаменатель = Знаменатель * 16;
КонецЦикла; 

Случ = Случ / Знаменатель; //здесь получается дробное случайное число от 0 до 1 

//преобразуем его в случайное число из заданного интервала, округляем до целого 
ЧислоИзИнтервала = Мин(Макс(Окр(Мин + (Макс-Мин)*Случ),Мин),Макс); 

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

КонецФункции //ПолучитьСлучайноеЧисло()
Показать
Mails79; Mir-mup; +2 Ответить
4. Shaman100M 1191 03.10.08 09:37 Сейчас в теме
Код
////////////////////////// 
// ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ
//       Автор Сергей Нефедов
////////////////////////// 
Процедура randomize(а=0)   
    // сбрасывает генератор
    Если а=0 тогда    
        randSeed=_getPerformanceCounter();  
    Иначе
        randseed=а;  
    КонецЕсли;    
КонецПроцедуры
Функция random()    
    // выдает случайное число 0 <= rand < 1
    // интерпретация интерпритации AVB
    // выдает последовательности лучше, и работает быстрее. 
    // (не замедляется)
    // дело в том, что у него возникают очень большие числа,
    // а 1С некокорректно с ними работает (операция %)
    randSeed=(randSeed*1103515245+12345)%2147483648; 
    возврат randSeed/2147483648;
КонецФункции     
Показать полностью
6. vovan519 275 03.10.08 12:42 Сейчас в теме
(0) Ждать целую секунду? ... Долго.
8. opupety 25.04.10 23:17 Сейчас в теме
Можно просто использовать локальную переменную среды %RANDOM%
11. artly2000 09.07.13 09:33 Сейчас в теме
Автор ArtLy.
Я долго искал возможность создания генератора случайных чисел в 1С7.7 и вот свершилось. Разброс чисел по оценке - отлично. Используется средствами VBScript

//Глобальный модуль
Функция _СлучайноеЧислоVBA(VBA, N, ВыдаватьНоль = 0) Экспорт 
 Если ВыдаватьНоль = 0 Тогда
  N = N + 1;
 КонецЕсли;	
 VBA.Language = "VBscript";  
 VBA.AddCode("
 |Function GetRND(x)
 |R = Int(0 + (Rnd() * x)) 
 |GetRND = R
 |End Function
 |");
 Результат=VBA.Modules("Global").CodeObject.GetRND(N); 
 Если Результат = 0 Тогда
  Если ВыдаватьНоль = 0 Тогда
    Результат = 1;
  КонецЕсли;
 КонецЕсли;
 Возврат Результат;
КонецФункции
Показать

//Где-то в модуле формы
Процедура ПриОткрытии()
  VBA = СоздатьОбъект("MSScriptControl.ScriptControl"); 
  ДоЧисла = 3;
  ВыдаватьНоль = 0;    
  Для Ц = 1 По 100 Цикл
    Ранд = _СлучайноеЧислоVBA(VBA, ДоЧисла, ВыдаватьНоль);
    Сообщить(Ранд);
  КонецЦикла;		
КонецПроцедуры
Показать
17. shagua 20.12.16 18:52 Сейчас в теме
(11)
Перед вызовом Rnd для инициализации генератора случайных чисел с начальным значением на основе системного таймера воспользуйтесь оператором Randomize без указания аргументов.

Код можно переписать так (будет генерить целые от 1 до 100):

Функция СлучайноеЧислоVBA(N)
	VBA = СоздатьОбъект("MSScriptControl.ScriptControl"); 
	VBA.Language = "VBscript";  
	VBA.AddCode("
	|Function GetRND(x)
	|Randomize
	|R = Int(1   (Rnd() * x)) 
	|GetRND = R
	|End Function
	|");
	Возврат VBA.Modules("Global").CodeObject.GetRND(N); 
КонецФункции

Процедура Тест()
	Для Ц = 1 По 100 Цикл
		Ранд = СлучайноеЧислоVBA(100);
    	Сообщить(Ранд);
	КонецЦикла;        
КонецПроцедуры
Показать
12. MoonAriman 6 13.02.14 11:38 Сейчас в теме
Нам нужно было получать случайные числа в заданном диапазоне до 2-х знаков после запятой. Типовой генератор случайных чисел не может нецелые числа генерировать. Вышли из ситуации просто, следующим образом:

ГСЧ = Новый ГенераторСлучайныхЧисел;
СлучЧисло = ГСЧ.СлучайноеЧисло(НецелоеЧисло1*100, НецелоеЧисло2*100);
СлучЧисло=Окр(СлучЧисло/100,2);

Прикрепленные файлы:
13. gonkommu 26.07.15 08:55 Сейчас в теме
Может кому пригодится, генератор от 1 до 99, выручает на семерке

_tmp=СоздатьОбъект("MSScriptControl.ScriptControl");
_tmp.language="javascript";
_rand= Цел(_tmp.eval("Math.random()")*100);

Сообщить(_rand);
14. maksa2005 295 09.02.16 14:13 Сейчас в теме
ГСЧ = Новый ГенераторСлучайныхЧисел(Формат(ТекущаяДата(),"ДФ=ddMMyyyyhhmmss"));
ТС.НомерДокумента = СтрЗаменить(ГСЧ.СлучайноеЧисло(0,1000)," ","");
15. Mr.Rome 14.05.16 11:57 Сейчас в теме
Проанализировав все что тут написано - объединил в наиболее приемлемое.
Вставлять в глобальный модуль

ЗЫЖ 7.7

Функция ПолучитьСлучайноеЧисло(МаксЗН,ВыдаватьНоль = 0) Экспорт Далее

//**********************************************************************    
Функция ПолучитьСлучайноеЧисло(МаксЗН,ВыдаватьНоль = 0) Экспорт
	                    
	//Увеличиваем на единицу, т.к. функция не возвращает верхний порог
	МаксЗН = МаксЗН + 1;
	
	Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl"); 
	Скрипт.language="javascript"; 
	Результат= Цел(Скрипт.eval("Math.random()")*МаксЗН); 
	  
	Если (ВыдаватьНоль = 0) и (Результат = 0) Тогда
		Пока Результат = 0 Цикл
			Результат = ПолучитьСлучайноеЧисло(МаксЗН,0)
		КонецЦикла;
	КонецЕсли;                                   
		
	Возврат Результат;
	
КонецФункции
Показать
20. User80 121 14.02.18 13:10 Сейчас в теме
Не нужно выдумывать велосипед. При создании генератора случайных чисел не задавайте начальное число и все будет работать.

ГСЧ = Новый ГенераторСлучайныхЧисел();
Рэндом = ГСЧ.СлучайноеЧисло(0, 10000);
user609158_alex.smm1493; +1 Ответить
22. НатальяАлекс 19 19.10.18 14:41 Сейчас в теме
(20) Спасибо! действительно работает!
21. kadild 30.08.18 18:26 Сейчас в теме
В синтаксис помощнике хоть и написали, что "Последовательность случайных чисел для одного и того же начального числа будет одинакова.", но почему-то не указали что это генератор не случайных чисел, а псевдослучайных. Такая функция есть почти у всех языков и они псевдослучайные.

Генератор псевдослучайных чисел, то есть устройство, которое выдает последовательность чисел, отвечающую определенным статистическим критериям случайности.

Например можно воспользоватся классов из Win (mscorlib.dll):
Rnd = СоздатьОбъект("System.Random");
Сообщить(Rnd.Next());
stas_roman; +1 Ответить
23. Cucu.ruza 28.03.19 09:29 Сейчас в теме
перем ч,м,с;
ТекущееВремя(ч,м,с);
чис=ч*ДатаЧисло(ТекущаяДата())+м*ДатаМесяц(ТекущаяДата())+с*ДатаГод(ТекущаяДата());
Сообщить(чис % 10000);

Применяется для генерации промо-кодов.
Оставьте свое сообщение

См. также

Приватный блокчейн и 1С популярно 5

Статья no Нет файла Бесплатно (free) Практика программирования Блокчейн

Две предыдущие публикации на эту тему были сфокусированы преимущественно на технической стороне вопроса. Кроме того, их содержание оказалось понятным не каждому специалисту. В этой статье я постараюсь обяснить для всех и, что говорится, «на пальцах»: что такое приватный блокчейн, когда и зачем его следует применять и на что обратить внимание при использовании этой технологии в 1С.

02.09.2019    1400    mkalimulin    140       

Кодогенерация и метагенерация в 1С 24

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    3906    kirovsbis    28       

Интеграция сценарного тестирования в процесс разработки 81

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    4285    grumagargler    7       

Управляй качеством кода 1С с помощью SonarQube 219

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования Разработка

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

07.07.2019    15634    olegtymko    191       

Примеры по математике для дошкольников и младших классов 6

Инструменты и обработки no Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные обработки

От лени задавать сыну простые примеры по математике, сделал генератор в 1С.

1 стартмани

15.05.2019    1413    2    Andreyyy    9       

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    4623    m-rv    2       

Как прикрутить ГУИД к регистру сведений 23

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

... и немного теории обмена данными. В частности, разберем боль всех, кто пишет небанальные обмены данными: как набору записей регистра сведений назначить гуид и далее использовать его в обмене для идентификации этого набора.

16.04.2019    7132    m-rv    16       

О времени и 1С 206

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Основы и особенности работы со временем в 1С. Как избавиться от боли при работе в разных часовых поясах. Что такое момент времени. И другое.

01.04.2019    14862    YPermitin    57       

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф") 5

Статья Системный администратор Программист Нет файла Россия Кассовые операции Бесплатно (free) Практика программирования Разработка ККМ

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф"). Данная статья будет полезна интеграторам, программистам, тем кто работает (интегрирует, разрабатывает) различное ТО либо железки. Версия и релиз технологической платформы не имеет значения.

17.03.2019    2898    dmarenin    0       

Быстрее чем INSERT! BULK-операции и примеры использования 112

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Разработка Внешние источники данных Перенос данных из 1C8 в 1C8

Microsoft SQL Server поддерживает так называемые BULK-операции, используемые для быстрого изменения больших объемов данных в базе. В статье пойдет речь о практических примерах их использования. Все примеры сделаны в контексте платформы 1С (а как иначе).

09.03.2019    9519    YPermitin    38       

Как писать понятные коммиты 67

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования Разработка

Как писать сообщения коммитов так, чтобы потом не было мучительно больно.

06.03.2019    7746    Scorpion4eg    34       

Расширяем свой багаж 2

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Алгоритм решения возможной нетиповой задачи на собеседовании.

29.01.2019    3241    scientes    15       

Подготовка ребёнка* к ЕГЭ по информатике. Часть четвертая 4

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Решение систем логических уравнений повышенного уровня сложности.

25.01.2019    3006    vasilev2015    0       

Подготовка ребенка* к ЕГЭ по информатике. Часть вторая 2

Статья Программист Нет файла Бесплатно (free) Практика программирования

Примеры на Паскале. Если сам родитель* - поддержи ! Если сам водила - посигналь !

19.01.2019    3233    vasilev2015    0       

Подготовка к ЕГЭ сына - школьника (по информатике) 9

Статья Программист Нет файла Бесплатно (free) Практика программирования

Примеры на Паскале. Если сам отец - поддержи ! Если сам водила - посигналь !

17.01.2019    3745    vasilev2015    50       

Быстрая отладка экранных форм документов и справочников 19

Статья Программист Нет файла Бесплатно (free) Практика программирования

Трюк элементарный и я думаю, что большинство моих коллег владеет им, но для тех, кто не знает, он может сэкономить большое количество времени.

18.12.2018    4537    milkers    19       

Подмена заголовка 1С 26

Статья Системный администратор Программист Нет файла Россия Windows Бесплатно (free) Работа с интерфейсом Универсальные функции

Подстановка имени базы данных в начало заголовка окон с программой 1С (конфигуратор и предприятие). Удобно при одновременной работе с большим количеством баз данных. Скрипт интересен будет как для программистов, так и для администраторов баз данных. Заголовок можно менять для любой программы, не только для 1С, для этого требуется немного исправить скрипт. Программисту 1С не составит труда переделать скрипт.

08.12.2018    7473    moolex    26       

1С + asterisk (автоматический обзвон) часть 1 38

Статья Системный администратор Программист Нет файла Россия Бесплатно (free) Практика программирования WEB Телефония, SIP

Пример реализации автообзвона (с обработкой ответа на отвечающей стороне) с использованием ami asterisk. Данная статья может быть полезна программистам, интеграторам, администраторам. Версия и релиз технологической платформы не имеет значения.

29.11.2018    7127    dmarenin    9       

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 125

Статья Программист Нет файла v8 v8::blocking 1cv8.cf Бесплатно (free) Математика и алгоритмы Практика программирования

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    20498    ids79    40       

Развитие 1С программиста 50

Статья Программист Нет файла Бесплатно (free) Практика программирования Личная эффективность

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    13309    pashamak    62       

Вспомогательные инструкции в коде 1С 104

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    20139    tormozit    100       

Записки про metadata.js 53

Статья Программист Нет файла Бесплатно (free) Практика программирования

Отличительные особенности разработки на metadata.js

31.07.2018    9028    1c-intelligence    59       

Учебный курс. Повышение качества разработки. Ошибки программы 96

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Рефакторинг и качество кода

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекции № 3,4,5. Эти лекции посвящены ошибкам программ, их классификации и способам исправления

10.07.2018    15640    Артано    90       

Автоматизируй это! 148

Статья Системный администратор Программист Нет файла Бесплатно (free) Практика программирования

Здравствуйте. Меня зовут Виталий Онянов. Я работаю в компании ФТО. Мы занимаемся внедрением и поддержкой ERP-систем, в том числе и на 1С. Сегодня я хотел бы поделиться нашим опытом автоматизации своих задач и рассказать о том, какие регламентные задания мы настраиваем на серверах наших клиентов. Возможно, кому-то покажется, что это совсем простые и очевидные вещи, но я в своей работе периодически вижу разработчиков, которые делают какие-то задачи руками изо дня в день, и мне бы хотелось донести до них мысль о том, что многие из этих задач можно и нужно автоматизировать.

02.07.2018    15987    Tavalik    12       

Повышаем эффективность разработки правил обмена 122

Статья Программист Нет файла v8 КД ОС Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    19067    olegtymko    43       

Как сделать запрос на изменение данных 75

Статья Программист Нет файла v8 v8::Запросы 1cv8.cf Бесплатно (free) Практика программирования

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    20970    m-rv    21       

Учебный курс. Повышение качества разработки. Вводная лекция, часть 2 49

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы

Учебный курс по теории и практике программирования. Бесплатно. В виде структурированного текста. Лекция №2. Эта лекция посвящена абстракциям, их свойствами и практическому применению в рамках классических парадигм программирования.

24.05.2018    10611    Артано    36       

Строим графы средствами 1С (без GraphViz) 42

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования

Множество статей на Инфостарте описывают, как работать с компонентой GraphViz, чтобы построить ориентированный граф. Но практически нет материалов, как работать с такими графами средствами 1С. Сегодня я расскажу, как красиво строить графы с минимальным пересечением. Нам этот метод пригодился для отрисовки алгоритмов в БИТ.Финансе, т.к. типовой механизм не устраивал. Еще это может быть полезно для визуализации различных зависимостей: расчета себестоимости, графы аффилированности компаний и т.д. Надеюсь, эта статья поможет сделать мир 1С красивее и гармоничней:) Итак, поехали...

23.05.2018    16782    slozhenikin_com    19       

Распределение расходов пропорционально продажам 9

Статья Программист Пользователь Нет файла v8 v8::ОУ УТ10 УУ Финансовый учет и бюджетирование (FRP) Учет доходов и расходов Бесплатно (free) Практика программирования

Финансовая модель. Распределение административных расходов по подразделениям пропорционально продажам за месяц. Дополнительные реквизиты против бизнес-процессов!

13.05.2018    11186    Rustig    9       

Велостыли: Регламентные задания 15

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования

Переделывая очередное «Костыльное» решение, в голову пришла мысль, собрать все странные решения в одну статью, чтобы была некая библиотека о том, как делать не надо (Навеяно вредными советами). Потом понял, что в одну статью не получится все записать, начну с регламентных заданий. Поясню, в данную статью попали примеры из жизни, которые так или иначе реализованы на механизме регламентных заданий, при этом совершенно не всегда этот подход в принципе оправдан.

09.05.2018    10172    dsdred    28       

Веб-разработка на 1Script. Глава 2 64

Статья Программист Нет файла Бесплатно (free) Практика программирования WEB

Продолжение учебника по веб-разработке с помощью фреймворка Oscript.Web. Структура приложения, основные объекты, URL-маршрутизация, универсальная консоль серверов 1С.

22.04.2018    11982    Evil Beaver    27       

Доброе программирование, или сказки для программистов 8

Статья Программист Нет файла Бесплатно (free) Практика программирования

Я попробовал составить список хорошего и доброго, что помогает читающему код жить легче. Возможно, остальные программисты меня поддержат))

03.03.2018    6136    Gladkov_Anton    9       

Минимализмы 3 350

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Универсальные функции

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    35189    ildarovich    44