|
Есть в БСП функция ПолучитьРеквизитСправочникаНАСервере(ИмяСправочника,ИмяРеквизитаШапки) | ☑ | ||
---|---|---|---|---|
0
Вася Теркин
30.01.19
✎
13:19
|
Писать в модуле
&НаСервереБезКонтекста функция ПолучитьРеквизитСправочникаНАСервере(ИмяСправочника,ИмяРеквизитаШапки) Возврат Справочники[ИмяСправочника][ИмяРеквизитаШапки]; КонецФункции или искать в БСП - вот в чем вопрос? |
|||
1
Вася Теркин
30.01.19
✎
13:20
|
Стоп, чего-то не то...
|
|||
2
OldCondom
30.01.19
✎
13:21
|
общегоназначения.значениеобъекта...
там еще значение объектОВ есть |
|||
3
Numerus Mikhail
30.01.19
✎
13:21
|
И что тебе должно вернуться?
|
|||
4
OldCondom
30.01.19
✎
13:21
|
значениереквизита + значенияРеквизитов что-то такое
|
|||
5
Numerus Mikhail
30.01.19
✎
13:22
|
Если ты имеешь в виду получить по ссылке значение реквизита, то вот так, наверное.
ОбщегоНазначения.ЗначениеРеквизитаОбъекта |
|||
6
OldCondom
30.01.19
✎
13:23
|
||||
7
Вася Теркин
30.01.19
✎
13:23
|
функция ПолучитьРеквизитСправочникаНАСервере(СсылкаСправочника,ИмяРеквизитаШапки)
Возврат СсылкаСправочника[ИмяРеквизитаШапки]; КонецФункции Проще надо, там через структуру, универсально написано. А мне надо один реквизит |
|||
8
Вася Теркин
30.01.19
✎
13:24
|
ОК. Свою напишу промежуточную и из нее буду ОбщегоНазначения вызывать
|
|||
9
Numerus Mikhail
30.01.19
✎
13:26
|
(7) Это плохой способ получения значения реквизита. При обращении через точку тащится весь объект. Тащи нужный реквизит запросом.
|
|||
10
Вася Теркин
30.01.19
✎
13:26
|
Или такую оставить:
функция ПолучитьРеквизитСправочникаНАСервере(СсылкаСправочника,ИмяРеквизитаШапки) Возврат СсылкаСправочника[ИмяРеквизитаШапки]; КонецФункции в общий модуль свой вставлю. Не обязательно же все через БСП? |
|||
11
Вася Теркин
30.01.19
✎
13:27
|
(9) Тогда через БСП
|
|||
12
Вася Теркин
30.01.19
✎
14:37
|
Одно не понятно - почему вместо
Результат = Новый Структура; Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл Результат.Вставить(КлючИЗначение.Ключ); КонецЦикла; ЗаполнитьЗначенияСвойств(Результат, Выборка); Возврат Результат; не написать ЗаполнитьЗначенияСвойств(Реквизиты, Выборка); Возврат Реквизиты; |
|||
13
Вася Теркин
30.01.19
✎
14:38
|
Ну в смысле
ЗаполнитьЗначенияСвойств(СтруктураРеквизитов, Выборка); Возврат СтруктураРеквизитов; |
|||
14
Вася Теркин
30.01.19
✎
14:43
|
Ну он же NULL все равно нигде не вернет и ни одного реквизита выборка не пропустит.
|
|||
15
Вася Теркин
30.01.19
✎
14:44
|
Вот вся функция у кого нету
Функция ЗначенияРеквизитовОбъекта(Ссылка, Знач Реквизиты) Экспорт Если ТипЗнч(Реквизиты) = Тип("Строка") Тогда Если ПустаяСтрока(Реквизиты) Тогда Возврат Новый Структура; КонецЕсли; Реквизиты = СтрРазделить(Реквизиты, ",", Ложь); КонецЕсли; СтруктураРеквизитов = Новый Структура; Если ТипЗнч(Реквизиты) = Тип("Структура") Или ТипЗнч(Реквизиты) = Тип("ФиксированнаяСтруктура") Тогда СтруктураРеквизитов = Реквизиты; ИначеЕсли ТипЗнч(Реквизиты) = Тип("Массив") Или ТипЗнч(Реквизиты) = Тип("ФиксированныйМассив") Тогда Для Каждого Реквизит Из Реквизиты Цикл СтруктураРеквизитов.Вставить(СтрЗаменить(Реквизит, ".", ""), Реквизит); КонецЦикла; Иначе ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(НСтр("ru = 'Неверный тип второго параметра Реквизиты: %1'"), Строка(ТипЗнч(Реквизиты))); КонецЕсли; ТекстПолей = ""; Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл ИмяПоля = ?(ЗначениеЗаполнено(КлючИЗначение.Значение), СокрЛП(КлючИЗначение.Значение), СокрЛП(КлючИЗначение.Ключ)); Псевдоним = СокрЛП(КлючИЗначение.Ключ); ТекстПолей = ТекстПолей + ?(ПустаяСтрока(ТекстПолей), "", ",") + " | " + ИмяПоля + " КАК " + Псевдоним; КонецЦикла; Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.Текст = "ВЫБРАТЬ |" + ТекстПолей + " |ИЗ | " + Ссылка.Метаданные().ПолноеИмя() + " КАК ПсевдонимЗаданнойТаблицы |ГДЕ | ПсевдонимЗаданнойТаблицы.Ссылка = &Ссылка |"; Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); Результат = Новый Структура; Для Каждого КлючИЗначение Из СтруктураРеквизитов Цикл Результат.Вставить(КлючИЗначение.Ключ); КонецЦикла; ЗаполнитьЗначенияСвойств(Результат, Выборка); Возврат Результат; КонецФункции |
|||
16
Victorov_S
04.02.19
✎
13:29
|
Добрый день, для выполнения практических заданий нужна БСП 2.3.2.59, кто знает где взять?
|
|||
17
Вася Теркин
04.02.19
✎
13:56
|
Разве на ИТС нету?
|
|||
18
Nikoss
04.02.19
✎
14:31
|
(5)(6) откуда вы помните все эти функции БСП? Просто по опыту? Или прям по списку с ИТС учить приходится?
П.С. там одних процедур/функций в общем назначении 300 штук |
|||
19
Вася Теркин
04.02.19
✎
14:33
|
(18) Там 61 подсистема, вроде...
|
|||
20
Numerus Mikhail
04.02.19
✎
14:35
|
(18) Помню только самые часто используемые
Остальные, которые когда-то использовал примерно помню где лежат, так что найти их не составляет труда |
|||
21
Victorov_S
04.02.19
✎
14:40
|
Неа, нашел только 2.1.8.2 ли 3.0.2.164 там.
|
|||
22
Victorov_S
04.02.19
✎
14:47
|
Вернее БСП 2.3.2.59 - 2.3.2.73 подойдет
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |