Работаем с дополнительными реквизитами на форме

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

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

расширение конфигурации БСП дополнительные реквизиты дополнительные реквизиты на форме

Пара полезных процедур для работы с дополнительными реквизитами на форме. Далее в статье: 1. Как называются дополнительные реквизиты на форме и в какой момент они появляются на форме? 2. Как проверить до записи корректность заполнения пользователем дополнительного реквизита? 3. Как заполнить значение дополнительного реквизита по другому событию и обновить данные на форме? 4. Как расположить дополнительный реквизит в указанном месте на форме?

Вот пара задач на размышление:

  1. Как называются дополнительные реквизиты на форме и в какой момент они появляются на форме?

  2. Как проверить корректность заполнения пользователем дополнительного реквизита, если значение некорректно – уведомить и отказать в записи объекта? Напоминаю, что до записи объекта в ТЧ Дополнительные реквизиты – данных еще нет, а на форме – уже есть.
  3. Как заполнить значение дополнительного реквизита при записи (или по другому событию) и обновить данные на форме?
  4. Как расположить дополнительный реквизит в указанном месте на форме?

 

Далее привожу решение этих задач - поковыряться с отладчиком пришлось изрядно…

Итак, вот решение:

  1. Для начала смотрим с отладчиком, появились ли Допреквизиты на форме после ПриСозданииНаСервере? Нет. А после ПриОткрытии? Тоже нет. А вот после активизации закладки «Дополнительно»  - появились со страшными именами как на скриншоте. Это было создано типовой процедурой  УправлениеСвойствами.ЗаполнитьДополнительныеРеквизитыВФорме(ЭтотОбъект), которая создала реквизиты на форме
		ОписаниеСвойства.ИмяУникальнаяЧасть = 
			СтрЗаменить(ВРег(Строка(ОписаниеСвойства.Набор.УникальныйИдентификатор())), "-", "x")
			+ "_"
			+ СтрЗаменить(ВРег(Строка(ОписаниеСвойства.Свойство.УникальныйИдентификатор())), "-", "x");
		
		ОписаниеСвойства.ИмяРеквизитаЗначение =
			"ДополнительныйРеквизитЗначение_" + ОписаниеСвойства.ИмяУникальнаяЧасть;

 После чего Система располагает реквизиты на форме

Добавление /изменение реквизитов на форме возможно благодаря следующей интересной конструкции.

Реквизит = Новый РеквизитФормы(ОписаниеСвойства.ИмяСсылочногоРеквизитаЗначение, ФорматированнаяСтрока, , ОписаниеСвойства.Наименование, Истина);
            ДобавляемыеРеквизиты.Добавить(Реквизит);

  Форма.ИзменитьРеквизиты(ДобавляемыеРеквизиты);

 

Но это нам сейчас все не нужно, так, для любопытства.
 

А вот чтобы работать с реквизитами нужно научиться получать их имена на форме по имени дополнительного реквизита. На радость разработчикам при работе с допреквизитами на форме Система создает служебный реквизит «Свойства_ОписаниеДополнительныхРеквизитов» который содержит на форме коллекцию данных, где есть все необходимы нам данные, можно найти и по имени, и найти соответствующее свойство ПланаВидаХарактеристик

Далее дело техники. По имени дополнительного реквизита получаем Поле дополнительного реквизита, и делаем с ним что хотим

Функция ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита) Экспорт 
	
	Список = Форма.Свойства_ОписаниеДополнительныхРеквизитов;
	
	Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", ИмяРеквизита);
	
	Если ЗначениеЗаполнено(Свойство) Тогда
	    НайденныеСтроки = Список.НайтиСтроки(Новый Структура("Свойство", Свойство));
		Если НайденныеСтроки.Количество() > 0 Тогда
			Возврат НайденныеСтроки[0];		
		КонецЕсли; 		
	КонецЕсли;
	
КонецФункции
  1. Используя функцию из п1 - нужно проверить значение поля дополнительного реквизита на форме     
Функция ПолучитьЗначениеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита) Экспорт
	Перем ЗначениеРеквизита;
	
	ПолеДополнительногоРеквизитаНаФорме = ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита);
	
	Если не ПолеДополнительногоРеквизитаНаФорме = Неопределено Тогда
		Возврат Форма[ПолеДополнительногоРеквизитаНаФорме.ИмяРеквизитаЗначение];
	КонецЕсли;
	
КонецФункции

 3. Используя функцию из п1 - нужно установить значение поля дополнительного реквизита на форме

Процедура УстановитьЗначениеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита, ЗначениеРеквизита) Экспорт
	
	ПолеДополнительногоРеквизитаНаФорме = ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита);
	
	Если не ПолеДополнительногоРеквизитаНаФорме = Неопределено Тогда
		Форма[ПолеДополнительногоРеквизитаНаФорме.ИмяРеквизитаЗначение] = ЗначениеРеквизита;
	КонецЕсли;
	
КонецПроцедуры

4. Используя функцию из п1 – нужно выполнить волшебную процедуру «Переместить» для коллекции Элементов формы                      

Процедура ПереместитьДополнительныйРеквизит(Форма, ИмяРеквизита, ИмяГруппы, Доступность = Истина) Экспорт
	Попытка
		Поле = ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита);
		Группа = Форма.Элементы.Найти(ИмяГруппы); 
		ПолеФормы = Форма.Элементы[Поле.ИмяРеквизитаЗначение];
		Если не ПолеФормы = Неопределено Тогда
			Форма.Элементы.Переместить(ПолеФормы, Группа); 
			ПолеФормы.Доступность = Доступность;
		КонецЕсли; 
	
	Исключение
	
	КонецПопытки;
	
КонецПроцедуры

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

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

Проверено на КА 2.4.2.132, но вполне универсально для всех БСП неустановленной версии 

Вот собственно и все, чем хотел поделиться, ставим лайк, если полезно

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. qwinter 628 16.07.18 11:22 Сейчас в теме
Работа с дополнительными реквизитами очень сильно разнится в зависимости от версии БСП. Например в последних имя реквизита на форме можно указать (просмотреть) в пользовательском виде. Об этом тоже стоило упомянуть.
PLAstic; gorakh; kadild; bulpi; +4 Ответить
2. papche 419 16.07.18 11:58 Сейчас в теме
(1)можно задать значение реквизита "Имя" в Плане видов характеристик "Дополнительные реквизиты". И соответственно этот параметр я и передаю в приведенные процедуры. Но чтобы задавать имена на формах - не видел/не слышал. Если приведете пример - буду рад
4. Jestery 16.07.18 13:53 Сейчас в теме
(2) Может имеется ввиду вот это. Честно говоря пока не понятно как это можно использовать.
Прикрепленные файлы:
5. fxmike 57 16.07.18 14:18 Сейчас в теме
(4) Как непонятно, все же понятно. В этом поле задается значение реквизита "Имя" для доп свойства. Подразумевается, что оно уникальное в пределах базы данных, система следит за этим. Поиск свойства и обращение к нему удобно вести по этому имени. Можно даже задать его, но только при первоначальном создании доп, потом уже редактировать не дает. Во встроенных функциях также можно использовать обращение по этому имени.
6. Denis S 16.07.18 18:04 Сейчас в теме
(5) Редактировать можно, в группе "Еще" есть команда "Разрешить редактирование реквизитов".
Stref75; fxmike; +2 Ответить
7. kembrik 3 16.07.18 19:20 Сейчас в теме
(4) Использую частенько, особенно в запросах как параметр, не надо тогда следить за принадлежностью к конкретному набору и городить конструкции с "Где" и коротким заголовком
38. KazanKokos 8 20.08.20 20:02 Сейчас в теме
(2) Например в расширении не дает добавить новый вид справочника в типы свойств. Тогда сам реквизит можно сделать строковым в котором хранится код, а выборку осуществлять через реквизит формы.
3. fxmike 57 16.07.18 13:45 Сейчас в теме
Спасибо! Только вчера сидел разбирался с этими непонятными абракадабрами на форме :) А тут очень кстати ваша статья!
it4hr; papche; +2 Ответить
8. PerlAmutor 124 31.08.18 08:11 Сейчас в теме
Когда внедряли ERP по первой "развлекались" с этими доп.реквизитами, чтобы конфигурацию не кочеряжить. Потом началось. То им отчеты нужны, то печатные формы где используются эти реквизиты. Потом они хотят больше бантиков. Потом они должны участвовать в планах обменов... И все в таком духе. Это кошмар.

Если организация решила сэкономить на программисте 1С, то этот вариант ей подойдет до момента пока им не понадобится этот дополнительный реквизит использовать где-то еще.
graphbuh; aap290680; +2 Ответить
9. gorakh 25 31.08.18 09:16 Сейчас в теме
(8)Доп реквизиты полезная штука. Положим у нас есть 100 тыс. элементов справочника номенклатуры. в 1000 элементов характерезует какое-то свойство. А всем остальным элементов это свойство не нужно и всегда будет пустым. Вот в этолм случае очень хорошо помогают дополнительные реквизиты. А в отчетах на СКД их использовать очень просто. И в обменах не сложнее чем обычные элементы.
ИНТЕГРА; +1 Ответить
10. kolya_tlt 24 31.08.18 11:22 Сейчас в теме
(8) самое страшное будет когда будет меняться бизнес логика документов в зависимости от реквизитов.
еще сложнее когда начнутся зависимости друг от друга. например в примере автора можно водителя закреплять за определенным авто в определенные дни, и поступит требование чтобы водителя можно было выбрать в зависимости от этой связки.
кстати вроде есть функционал упаковок в программе. зачем было городить доп реквизиты Количество мест и тип упаковки?
11. papche 419 01.09.18 11:26 Сейчас в теме
(10)Собственно, статья не про полезность и необходимость использования доп реквизитов, а про то как решать указанные в топике задачи, если уж вступили на "скользкую дорожку" использования доп реквизитов.
Сама по себе тема необходимости и оптимальности использования дополнительных реквизитов заслуживает целой серии статей и сотен сломанных копий )). Я тут - пас
men1949; Fox-trot; it4hr; +3 Ответить
12. triviumfan 24 02.09.18 23:08 Сейчас в теме
Коротко: автор рассказал, что есть такая штука как БСП и какие методы есть в подсистеме доп свойств/реквизитов.
Эта статья для самых ленивых, не способных воспользоваться отладчиком любого справочника с доп. реквизитом.
13. papche 419 03.09.18 13:56 Сейчас в теме
(12) БСП не упоминал, ни прямо, ни косвенно)))
14. men1949 11.10.18 17:42 Сейчас в теме
Спасибо! Когда "дело дошло до тела", потребовалось разместить доп. реквизиты на форме в нужном порядке и в нужных местах, вспомнил об этой статье. Помогло сберечь уйму времени)))
user612514_andreymokrov; papche; +2 Ответить
15. user820037 22.10.18 13:56 Сейчас в теме
Наверно что-то недопонимаю, но Функция ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита) исполняется на сервере, а форма туда не передается "Отсутствует отображение для типа 'УправляемаяФорма'"
16. papche 419 22.10.18 18:17 Сейчас в теме
(15) На сервере, да. Форма вполне себе передается.
Вот рабочий код с формы с вызовом серверных модулей из статьи

&НаСервере
Процедура СвойстваВыполнитьДополнительнуюИнициализацию();
	пп_Сервер.ПереместитьДополнительныйРеквизит(ЭтаФорма,"СерийныеНомера_ЗаданиеНаПеревозку", "пп_ГруппаДопРеквизиты", Истина);
	пп_Сервер.ПереместитьДополнительныйРеквизит(ЭтаФорма,"Комплектовщик_ЗаданиеНаПеревозку", "пп_ГруппаДопРеквизиты", Истина);
КонецПроцедуры

&НаСервере
Процедура УстановитьДоступностьЭлементовФормы(Доступность)
	Элементы.МаршрутДобавитьРаспоряжение.Доступность = Доступность;
	
	ПолеСерийныеНомера = пп_Сервер.ПолучитьПолеДополнительногоРеквизитаНаФорме(ЭтаФорма, "СерийныеНомера_ЗаданиеНаПеревозку");
	Элементы[ПолеСерийныеНомера.ИмяРеквизитаЗначение].Доступность = Истина;
	
	ПолеКомплектовщик = пп_Сервер.ПолучитьПолеДополнительногоРеквизитаНаФорме(ЭтаФорма, "Комплектовщик_ЗаданиеНаПеревозку");
	Элементы[ПолеКомплектовщик.ИмяРеквизитаЗначение].Доступность = Доступность;
	
	Элементы.Маршрут.Доступность = Доступность;
КонецПроцедуры

&НаКлиенте
Процедура пп_ПриОткрытииПосле(Отказ)
	//СвойстваВыполнитьОтложеннуюИнициализацию();
	//УправлениеСвойствамиКлиент.ПослеЗагрузкиДополнительныхРеквизитов(ЭтотОбъект);
	СвойстваВыполнитьДополнительнуюИнициализацию();
	Если ПризнакЗаданиеНаОтборНапечатано Тогда
	
		//ТолькоПросмотр = Истина;	
		УстановитьДоступностьЭлементовФормы(Ложь);
		Состояние("Сформирована печатная форма ""Задания на отбор"", редактирование ограничено");
	
	КонецЕсли; 
КонецПроцедуры
Показать
kompas-dm; +1 Ответить
17. user820037 06.11.18 13:11 Сейчас в теме
(16) Разобрался. Очень, очень помогла Ваша публикация.
20. user594726_artyem.romanenkov 06.12.18 14:36 Сейчас в теме
(16) Помогите разобраться - что делаю не так?

&НаКлиенте
Процедура ДТ_ПриОткрытииПосле(Отказ)
	
	Если Строка(Объект.ВидДокумента) = "Акт выполненных работ" Тогда
		МожноМенятьАкт = ПроверитьИзменениеАкта();	
	КонецЕсли;
	
	ДопРеквизитНаФорме = ПолучитьПолеДополнительногоРеквизитаНаФорме(ЭтаФорма, "Номер заказа в SAP");
	
	Если МожноМенятьАкт Тогда
		Элементы.ДопРеквизитНаФорме.Доступность = Истина;
	Иначе 	
		Элементы.ДопРеквизитНаФорме.Доступность = Ложь;
	КонецЕсли;	
		
КонецПроцедуры

&НаСервере
Функция ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита) Экспорт 
	
	Список = Форма.Свойства_ОписаниеДополнительныхРеквизитов;
	
	Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Наименование", ИмяРеквизита);
	
	Если ЗначениеЗаполнено(Свойство) Тогда
	    НайденныеСтроки = Список.НайтиСтроки(Новый Структура("Свойство", Свойство));
		Если НайденныеСтроки.Количество() > 0 Тогда
			Возврат НайденныеСтроки[0];		
		КонецЕсли; 		
	КонецЕсли;
	
КонецФункции
Показать
18. manb 07.11.18 10:28 Сейчас в теме
Статья очень помогла. Спасибо))
19. user895773 21.11.18 13:09 Сейчас в теме
Вот как раз сижу разбираюсь.
УТ(11.3.4.47)
Мне надо, чтобы поле доп. реквизита имело вид "ПолеНадписи"
В расширении в процедуре формы
Процедура Расш1_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
Вызываю:
УправлениеСвойствами.ЗаполнитьДополнительныеРеквизитыВФорме(ЭтотОбъект,,Истина); \\Параметр ПоляНадписей = Истина
Но поле все равно имеет вид "ПолеВвода", да еще в список значений попадают лишние значения.

Что то делаю не так или это ошибка в конфигурации?
PS: Попытался в УправлениеСвойствами.ЗаполнитьДополнительныеРеквизитыВФорме
Исправить
Если ПоляНадписей Тогда
Элемент.Вид = ВидПоляФормы.ПолеВвода;
На
Если ПоляНадписей Тогда
Элемент.Вид = ВидПоляФормы.ПолеНадписи;

Заработало ....
21. Светлый ум 268 30.12.18 23:35 Сейчас в теме
22. mnb-next 7 29.04.19 16:06 Сейчас в теме
Спасибо! Статья сразу помогла решить мою сегодняшнюю проблему! Очень своевременно!
23. Sergafan10 20.06.19 10:22 Сейчас в теме
Спасибо за статью! Информативно.
24. mikleRo 03.07.19 08:49 Сейчас в теме
Спасибо,
помогло, только для нужной конфигурации (ЭДО вер. 2.1.12.2) пришлось изменить в функции
ПолучитьПолеДополнительногоРеквизитаНаФорме
строку
у Вас :
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоРеквизиту("Имя", ИмяРеквизита);

заработало

Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ИмяРеквизита);
25. awe007 13.08.19 10:41 Сейчас в теме
(24)
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ИмяРеквизита);

А не могли бы вы полностью привести пример работающей функции для 1С ДО ?
И как к ней обращаться, какие параметры в неё передать, чтобы получить значение интересующего доп. реквизита?
26. papche 419 13.08.19 16:37 Сейчас в теме
(25) На ДО не тестировал, вообще не в курсе, будет ли там работать или нет.
27. awe007 15.08.19 13:39 Сейчас в теме
(26) Отлично работает именно в том виде, как вы и предложили
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ИмяРеквизита);
28. papche 419 15.08.19 14:49 Сейчас в теме
(27) Ну и хорошо. Только это mikleRo про ДО предложил.
Посмотрел - в ДО у реквизита "Имя " ПВХ ДополнительныеРеквизитыИСведения не выставлен признак индексирования, в отличие от ЕРП образных. Для универсальности нужно запросом получать
29. kotov2000 5 10.09.19 09:57 Сейчас в теме
Воспользовался готовыми функциями в ERP 2.4.8.
ПолучитьЗначениеДополнительногоРеквизитаНаФорме
УстановитьЗначениеДополнительногоРеквизитаНаФорме

Все работает! разбираться с БСП гораздо дольше.
30. papche 419 12.09.19 14:58 Сейчас в теме
(29)
2.4.8
Алексей, появились готовые функции? Ооо, здорово! А в каком модуле?
31. kotov2000 5 13.09.19 10:46 Сейчас в теме
(30) в Этой статье появились, которые я перенес в свой модуль.
Автору респект!
32. SashinPapa 01.10.19 18:25 Сейчас в теме
Низкий поклон автору!
Очень-очень полезно тем, кто допиливает 1С:Документооборот v2.1
33. morgershtern 17.10.19 12:16 Сейчас в теме
Может оффтоп, но подскажите, а реально ли сделать множественный выбор "дополнительных значений" в "дополнительный реквизит"?
34. Xershi 1090 17.10.19 12:22 Сейчас в теме
(33) это реквизит и он содержит тип данных. Среди них нет списка значений. Поэтому нельзя. Можно только сделать несколько реквизитов и туда их пихать.
Вам нужна таблица, а тут реквизит. Логика вашей задачи другая.
35. PavelKolobkov 27.03.20 13:14 Сейчас в теме
(0) Спасибо! Очень выручил!
36. kpdozer 06.05.20 00:21 Сейчас в теме
Подскажите, а в принципе в каком порядке выводятся дополнительные реквизиты на форму? У меня при создании дополнительных реквизитов один порядок, а на форме другой ((
37. kpdozer 06.05.20 00:48 Сейчас в теме
(36)Вопрос снят. Вручную в через "Ещё-Изменить Форму" случайно переместил реквизит в другую Группу.
39. 79123890854 15.09.20 09:35 Сейчас в теме
ERP.
Необходимо добавить реквизит в справочник.
Используются доп реквизиты но нельзя добавить доп реквизит с нужным мне типом,
поэтому добавляю реквизит непосредственно в объект конфигурации.
Программно добавил реквизит на форму.
Нужно разместить новый реквизит между старыми доп реквизитами.
Делаю так:
40. 79123890854 15.09.20 09:36 Сейчас в теме
ИмяРеквизита = "Заявка";
Поле = ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита);

АктОтбораОбразцов = Форма.Элементы.Найти("АктОтбораОбразцов");
Группа = Форма.Элементы.Найти("ГруппаДополнительныеРеквизиты");
ПолеФормы = Форма.Элементы[Поле.ИмяРеквизитаЗначение];

Форма.Элементы.Переместить(АктОтбораОбразцов, Группа, ПолеФормы); //перемещаемый элемент, новый родитель, перед которым
41. 79123890854 15.09.20 09:36 Сейчас в теме
Функция ПолучитьПолеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита)

Список = Форма.Свойства_ОписаниеДополнительныхРеквизитов;
Свойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию(ИмяРеквизита);

Если ЗначениеЗаполнено(Свойство) Тогда
НайденныеСтроки = Список.НайтиСтроки(Новый Структура("Свойство", Свойство));
Если НайденныеСтроки.Количество() > 0 Тогда
Возврат НайденныеСтроки[0];
КонецЕсли;
КонецЕсли;

КонецФункции
42. 79123890854 15.09.20 09:37 Сейчас в теме
Но поле «Акт отбора образцов» упорно не хочет вставать перед полем «Заявка»,
а размещается в начале групппы, если не казывать что нужно поместить перед полем «Заявка», помещается в конце группы доп реквизитов(что правильно).

Ну вот оно либо вначале либо в конце, а в середину не перемещается.
Пробовал отследить дальше где оно может перемещается, но не нашел.
Ещё не понятно как в режиме отладки посмотреть порядок полей? Есть просто список Форма.Элементы, а где зраниться их порядок?
43. mp40 10 04.11.20 10:03 Сейчас в теме
Еще бы добавил в поиск допреквизита, выбор родителя. Вдруг есть совпадающие имена допреквизитов у разных справочников или документов.
44. mp40 10 04.11.20 10:06 Сейчас в теме
А как например отловить событие изменения значения допреквизита? Всегда перепроверять?
45. samvani 29 12.11.20 11:22 Сейчас в теме
В статье приведены серверные функция для определения и поиска дополнительных реквизитов. В случае событий, в которых нельзя использовать серверные вызовы, будет проблема. Как альтернатива - это создать реквизит формы с типом фиксированное соответствие, в котором будет храниться соответствие имен доп. реквизитов и соотвествующие ему имена реквизитов на форме. Пример: Ключ соответствия: "Контрагент", Значение: "ДополнительныйРеквизитЗначение_..."
Тогда обращение к ним будет проводить и на клиенте и на сервере. Пример: "ЭтаФорма[ЭтаФорма.ФиксированоеСоответствиеДопреквизитов["Контрагент"]].
46. kompas-dm 777 05.12.20 20:47 Сейчас в теме
(0) Отработало на BAS Комплексное управление предприятием (2.1.15.5) . Практически 1:1. Спасибо.
47. Darklight 27 26.01.21 17:34 Сейчас в теме
Хорошая статья. Не хватило только упоминания о событиях доп .реквизитов на форме, например по событии "ПриИзменении" - функция на форме "Подключаемый_ПриИзмененииДополнительногоРеквизита" - срабатывает при интерактивном изменении доп. реквизита
48. EddieTocha 28 29.01.21 17:55 Сейчас в теме
(47) Подскажите, как из этого обработчика изменить ДопРеквизит?
49. Darklight 27 01.02.21 11:20 Сейчас в теме
(48)Описанная в статье функция "УстановитьЗначениеДополнительногоРеквизитаНаФорме" Вам не помогает?
50. EddieTocha 28 01.02.21 14:55 Сейчас в теме
(49) Попытался вызвать ее из ПриИзмененииДополнительногоРеквизита получил ошибку.
51. Darklight 27 02.02.21 09:24 Сейчас в теме
(50)Если определение и реализация этой функции размещено внутри или доступно в контексте точки своего вызова, тогда приведите, пожалуйста текст ошибки, чтобы был предмет обсуждения Вашей проблемы
52. user816558 08.02.21 10:40 Сейчас в теме
Спасибо за публикацию. А каково назначение переменной: Перем ЗначениеРеквизита;
в функции: Функция ПолучитьЗначениеДополнительногоРеквизитаНаФорме(Форма, ИмяРеквизита) Экспорт

Может её убрать из функции?
53. papche 419 08.02.21 15:37 Сейчас в теме
(52) Точно, она не нужна!
Конечно, можно убрать
user816558; +1 Ответить
Оставьте свое сообщение

См. также

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions Промо

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

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    4287    comol    22