Полезные мелочи…
Буду сюда писать воспоминания…
Возможно и набояню… звиняйте…
- Описание
- Подробнее
Описание
Адресовано любителям прямых запросов, которые не хотят использовать функций и соединений со своими
таблицами… и не могут ждать появления метода в 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
;
КонецФункции // ЭтоЧисло()

