Преобразование строки в число запросом

25.12.25

Разработка - Запросы

Давно задавался вопросом, возможно ли в 1С относительно вменяемым запросом преобразовать строку в число.

Натолкнула на мысль заняться этой задачей недавно вышедшая публикация.

Задача усложняется, т.к. неизвестен формат исходной строки с числом и ее длина. Принял допущение, что длина числа 15 знаков и что число содержится где-то в конце.

В итоге получился следующий запрос:

 
Текст запроса
ВЫБРАТЬ "1 234 567 890 123,45" КАК ЧислоСтрокой ПОМЕСТИТЬ ВТ_Оригинал
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "1234567890123456"	
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "000000"	
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "1"	
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "123"	
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "ересь"	
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "ересь1"	
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ "1,234520"	
;         

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ   
	прав("00000000000000000"+ВТ_Оригинал.ЧислоСтрокой,20) КАК ЧислоСтрокой,
	ВТ_Оригинал.ЧислоСтрокой КАК ЧислоСтрокойОригинал
ПОМЕСТИТЬ ВТ
из ВТ_Оригинал как ВТ_Оригинал
;

ВЫБРАТЬ 0 КАК Цифра,"0" КАК Символ ПОМЕСТИТЬ ВТ_Соответствие
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	1,	"1"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	2,	"2"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	3,	"3"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	4,	"4"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	5,	"5"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	6,	"6"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	7,	"7"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	8,	"8"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	9,	"9"
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	".",","
ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ	".","."
;

ВЫБРАТЬ
	ВТ.ЧислоСтрокойОригинал как ЧислоСтрокойОригинал,
	ПРАВ("0000000000000000"+Выбор когда ВТ_1.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 1, 1) конец + 
	Выбор когда ВТ_2.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 2, 1) конец + 
	Выбор когда ВТ_3.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 3, 1) конец + 
	Выбор когда ВТ_4.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 4, 1) конец + 
	Выбор когда ВТ_5.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 5, 1) конец + 
	Выбор когда ВТ_6.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 6, 1) конец + 
	Выбор когда ВТ_7.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 7, 1) конец + 
	Выбор когда ВТ_8.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 8, 1) конец + 
	Выбор когда ВТ_9.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 9, 1) конец + 
	Выбор когда ВТ_10.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 10, 1) конец + 
	Выбор когда ВТ_11.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 11, 1) конец + 
	Выбор когда ВТ_12.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 12, 1) конец + 
	Выбор когда ВТ_13.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 13, 1) конец + 
	Выбор когда ВТ_14.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 14, 1) конец + 
	Выбор когда ВТ_15.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 15, 1) конец + 
	Выбор когда ВТ_16.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 16, 1) конец +
	Выбор когда ВТ_17.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 17, 1) конец +
	Выбор когда ВТ_18.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 18, 1) конец +
	Выбор когда ВТ_19.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 19, 1) конец +
	Выбор когда ВТ_20.Цифра есть null тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 20, 1) конец 
	,16) КАК ЧислоСтрокой
Поместить ВТ_ЧислоПриведенноеСтрокой
	
ИЗ ВТ КАК ВТ
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_1  ПО (ВТ_1.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 1, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_2  ПО (ВТ_2.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 2, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_3  ПО (ВТ_3.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 3, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_4  ПО (ВТ_4.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 4, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_5  ПО (ВТ_5.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 5, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_6  ПО (ВТ_6.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 6, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_7  ПО (ВТ_7.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 7, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_8  ПО (ВТ_8.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 8, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_9  ПО (ВТ_9.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 9, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_10 ПО (ВТ_10.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 10, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_11 ПО (ВТ_11.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 11, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_12 ПО (ВТ_12.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 12, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_13 ПО (ВТ_13.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 13, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_14 ПО (ВТ_14.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 14, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_15 ПО (ВТ_15.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 15, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_16 ПО (ВТ_16.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 16, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_17 ПО (ВТ_17.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 17, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_18 ПО (ВТ_18.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 18, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_19 ПО (ВТ_19.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 19, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_20 ПО (ВТ_20.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 20, 1))
	
;
ВЫБРАТЬ
	ВТ.ЧислоСтрокойОригинал как ЧислоСтрокойОригинал,
	ПРАВ("000000000000000" + 
		Выбор когда ВТ_1.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 1, 1) конец + 
		Выбор когда ВТ_2.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 2, 1) конец + 
		Выбор когда ВТ_3.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 3, 1) конец + 
		Выбор когда ВТ_4.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 4, 1) конец + 
		Выбор когда ВТ_5.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 5, 1) конец + 
		Выбор когда ВТ_6.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 6, 1) конец + 
		Выбор когда ВТ_7.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 7, 1) конец + 
		Выбор когда ВТ_8.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 8, 1) конец + 
		Выбор когда ВТ_9.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 9, 1) конец + 
		Выбор когда ВТ_10.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 10, 1) конец + 
		Выбор когда ВТ_11.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 11, 1) конец + 
		Выбор когда ВТ_12.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 12, 1) конец + 
		Выбор когда ВТ_13.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 13, 1) конец + 
		Выбор когда ВТ_14.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 14, 1) конец + 
		Выбор когда ВТ_15.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 15, 1) конец + 
		Выбор когда ВТ_16.Цифра ="." тогда "" иначе ПОДСТРОКА(ВТ.ЧислоСтрокой, 16, 1) конец  
		,15) КАК ЧислоСтрокой,
	выбор когда ВТ_1.Цифра="." Тогда 10000000000000000
	 	  когда ВТ_2.Цифра="." Тогда 1000000000000000
	 	  когда ВТ_3.Цифра="." Тогда 100000000000000
	 	  когда ВТ_4.Цифра="." Тогда 10000000000000
	 	  когда ВТ_5.Цифра="." Тогда 1000000000000
		  когда ВТ_6.Цифра="." Тогда 100000000000
	 	  когда ВТ_7.Цифра="." Тогда 10000000000
	  	  когда ВТ_8.Цифра="." Тогда 1000000000
	  	  когда ВТ_9.Цифра="." Тогда 100000000
	  	  когда ВТ_10.Цифра="." Тогда 10000000
	  	  когда ВТ_11.Цифра="." Тогда 100000
	  	  когда ВТ_12.Цифра="." Тогда 10000
	  	  когда ВТ_13.Цифра="." Тогда 1000
	  	  когда ВТ_14.Цифра="." Тогда 100
	  	  когда ВТ_15.Цифра="." Тогда 10
	  	  иначе 1 конец как МножительСдвигаРазрядов
	
Поместить ВТ_ЧислоПриведенноеСтрокойБезТочки
	
ИЗ ВТ_ЧислоПриведенноеСтрокой КАК ВТ
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_1  ПО (ВТ_1.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 1, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_2  ПО (ВТ_2.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 2, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_3  ПО (ВТ_3.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 3, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_4  ПО (ВТ_4.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 4, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_5  ПО (ВТ_5.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 5, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_6  ПО (ВТ_6.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 6, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_7  ПО (ВТ_7.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 7, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_8  ПО (ВТ_8.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 8, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_9  ПО (ВТ_9.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 9, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_10 ПО (ВТ_10.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 10, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_11 ПО (ВТ_11.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 11, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_12 ПО (ВТ_12.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 12, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_13 ПО (ВТ_13.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 13, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_14 ПО (ВТ_14.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 14, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_15 ПО (ВТ_15.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 15, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_16 ПО (ВТ_16.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 16, 1))
	                         
;                                                      
                                                       
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ВТ.ЧислоСтрокойОригинал как ЧислоСтрокойОригинал,
 	(
 	выразить(ВТ_1.Цифра как число(15,3))*100000000000000 +
	выразить(ВТ_2.Цифра как число(15,3))*10000000000000 +
	выразить(ВТ_3.Цифра как число(15,3))*1000000000000 +
	выразить(ВТ_4.Цифра как число(15,3))*100000000000 +
	выразить(ВТ_5.Цифра как число(15,3))*10000000000 +
	выразить(ВТ_6.Цифра как число(15,3))*1000000000 +
	выразить(ВТ_7.Цифра как число(15,3))*100000000 +
	выразить(ВТ_8.Цифра как число(15,3))*10000000 +
	выразить(ВТ_9.Цифра как число(15,3))*1000000 +
	выразить(ВТ_10.Цифра как число(15,3))*100000 +
	выразить(ВТ_11.Цифра как число(15,3))*10000 +
	выразить(ВТ_12.Цифра как число(15,3))*1000 +
	выразить(ВТ_13.Цифра как число(15,3))*100 +
	выразить(ВТ_14.Цифра как число(15,3))*10 +
	выразить(ВТ_15.Цифра как число(15,3))
	)/ВТ.МножительСдвигаРазрядов КАК ЧислоЧислом
ИЗ
	ВТ_ЧислоПриведенноеСтрокойБезТочки КАК ВТ
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_1  ПО (ВТ_1.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 1, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_2  ПО (ВТ_2.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 2, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_3  ПО (ВТ_3.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 3, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_4  ПО (ВТ_4.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 4, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_5  ПО (ВТ_5.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 5, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_6  ПО (ВТ_6.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 6, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_7  ПО (ВТ_7.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 7, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_8  ПО (ВТ_8.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 8, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_9  ПО (ВТ_9.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 9, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_10 ПО (ВТ_10.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 10, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_11 ПО (ВТ_11.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 11, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_12 ПО (ВТ_12.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 12, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_13 ПО (ВТ_13.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 13, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_14 ПО (ВТ_14.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 14, 1))
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Соответствие КАК ВТ_15 ПО (ВТ_15.Символ = ПОДСТРОКА(ВТ.ЧислоСтрокой, 15, 1))

 

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

 

 

Возможно применение на любой конфигурации на платформе не ниже 8.3.20.1549

Вступайте в нашу телеграмм-группу Инфостарт

Запрос Строка Число Преобразование

См. также

SALE! %

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 15500 руб.

02.09.2020    235823    1287    419    

1100

Инструментарий разработчика Запросы Программист 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Абонемент ($m)

QueryConsole1C — расширение, включающее консоль запросов с поддержкой исполняемых представлений — аналогов виртуальных таблиц, основанных на методах программного интерфейса ЗУП. Оно позволяет выполнять запросы с учётом встроенной бизнес-логики, отлаживать алгоритмы получения данных и автоматически генерировать код на встроенном языке 1С.

1 стартмани

16.05.2025    8200    110    zup_dev    22    

78

Инструментарий разработчика Запросы Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

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

2 стартмани

05.03.2025    5322    19    XilDen    12    

29

Обновление 1С Запросы Программист 1С:Предприятие 8 1С:ERP Управление предприятием 2 Абонемент ($m)

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

3 стартмани

06.02.2025    4846    30    XilDen    26    

42

Запросы Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

В статье приведена удобная возможность отладки исполняемого запроса динамического списка.

03.12.2024    10732    artemusII    11    

27

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    20187    sergey279    18    

73

Запросы Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    14920    XilDen    38    

110
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Неопределено 104 25.12.25 08:47 Сейчас в теме
2. RustIG 1934 25.12.25 09:39 Сейчас в теме
да, интересно размять мозги - только не вовремя - перед новым годом ... вернусь к вам на январских выходных
3. ixijixi 2075 25.12.25 10:35 Сейчас в теме
А ведь было бы достаточно добавить в платформу преобразование примитивных типов запросе
Не думаю, что это суперсложно
Выразить(12345.67 как Строка)
Выразить("12345,67" как Число)
0x00; RustIG; +2 Ответить
4. shard 282 25.12.25 11:08 Сейчас в теме
(3) Не все так просто. На скрине ms, к постгре пока доступа нет попробовать.
Прикрепленные файлы:
5. ixijixi 2075 25.12.25 11:10 Сейчас в теме
(4) Не сложнее УФ с нуля, наверное? Уже пережили переезд с 8.0 на 8.3, на пороге 8.5, а преобразования типов как не было, так и нет
7. RustIG 1934 25.12.25 11:25 Сейчас в теме
(3) согласно преобразования числового формата виндоус - с использованием либо точки, либо запятой - по идее должно сработать преобразование в запросе
9. 0x00 25.12.25 12:18 Сейчас в теме
(7) Должно, но не работает
Прикрепленные файлы:
6. bulpi 217 25.12.25 11:19 Сейчас в теме
А почему не ниже 8.3.20 , в запросе ничего из новых функций нет, вроде должно работать и на древних релизах.
8. shard 282 25.12.25 11:33 Сейчас в теме
(6) функция "Прав" добавлена в 8.3.20.1549, о чем есть в ссылке на платформу
Для отправки сообщения требуется регистрация/авторизация