Каталог решений - Полезные мелочи…

Полезные мелочи…

Полезные мелочи…

В наличии

Буду сюда писать воспоминания…
Возможно и набояню… звиняйте…

Категория:

Описание

Простейшее получение Вида документа по ИД

Адресовано любителям прямых запросов, которые не хотят использовать функций и соединений со своими
таблицами… и не могут ждать появления метода в MetaDataWork

Вот так можно получить вид документа из IDDOCDEF (полностью штатно):

Стр 

= «{» +«»»O»»»+«,»+«»»0″»»+«,»+«»»0″»»+«,»+«»»*»»»+«,»+«»»0″»»+«,»+«»»0″»»+«,»+«»» 0 «»»+«}»

;
Стр 

=

СтрЗаменить

(

Стр

, «*»,

Строка

(

Вид

))

; 

//Вид — это что-то вроде 3508, тот что в DD и DDS (десятичное число)

Вид 

=

ЗначениеИзСтрокиВнутр

(

Стр

).

Вид

()

; 

//А вот это уже идентификатор 🙂

Аккуратнее с однотипными группировками в SQL

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

Вот пример для ТиС:

ЗначениеСвойства = Справочник.Контрагенты.ОсновноеСвойство.ЗначениеСвойства;
ЗначениеСвойства1 = Справочник.Контрагенты.ОсновноеСвойство1.ЗначениеСвойства;
Группировка ЗначениеСвойства;
Группировка ЗначениеСвойства1;

Вот просто отсебятина:

|Организация = Справочник.МестаХранения.Организация;
|Организация1 = Справочник.МестаХранения.Организация1;
|Группировка Организация;
|Группировка Организация1;

Тип реквизитов Организация и Организация1 — «Справочник.Контрагенты»

Как найти битую ссылку?

Это знакомое

А вот так можно, например:

Если (

ПустоеЗначение

(

Док

.

Докум

) = 0)

и 

(

Док

.

Докум

.

Выбран

() = 0) Тогда

Сообщить

(«В документе » +

Док 

+ » есть битая ссылка»)

;

КонецЕсли

;

ЗЫ. Аккуратно с непосредственным удалением объектов

Как узнать является ли строка числом?

Примерчики…
«0004» — число, «440ф0» — не число, «43.045» — число, «-33» — число, «5453.54.4» — не число и т.п.
В процессе интереснейшего обсуждения на риалнете http://abelov.com/forum/f.php?ac=ar&ak=35693#0
родил вот такую простенькую но вполне работоспособную функцию:

Функция

ЭтоЧисло

(Знач

ТекСтр

)

ТекСтр 

=

СокрЛП

(

ТекСтр

)

;
	ТекСтр 

=

СтрЗаменить

(

ТекСтр

,«0»,«9»)

;
	
	

Если (

СтрДлина

(

Число

(

ТекСтр

)) <>

СтрДлина

(

ТекСтр

))

или 

((

СтрДлина

(

ТекСтр

) = 1)

и 

(

Найти

(«0123456789»,

ТекСтр

) = 0)) Тогда Возврат 0

;
	

КонецЕсли

;
	
	

Возврат 1

;

КонецФункции // ЭтоЧисло()

has been added to your cart:
Оформление заказа