Информирование пользователя. Работа с объектом «СообщениеПользователю»

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

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

вывод сообщения пользователю показать оповещение пользователя состояния предупреждение

Различные варианты и нюансы использования объекта СообщениеПользователю и другие способы информирования пользователя: без привязки к какой-либо форме и с выводом сообщения в отдельном окне.

Объект «СообщениеПользователю» пришел на замену команды «Сообщить», которая использовалась в обычном интерфейсе, и перешла в управляемый. Команда удобна своей простотой и тем, что она, в отличии от других вариантов оповещения пользователя, доступна как на клиенте так и на сервере. На данный момент команда является устаревшей и ее не рекомендуется применять для управляемого интерфейса.

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

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

Сообщение пользователю об ошибке

Рассмотрим различные варианты использования объекта «СообщениеПользователю».

 

Вариант 1. Вывод сообщения в текущую активную форму с привязкой к ее элементам

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Сообщение";
Сообщение.Поле = "Объект.Наименование";
Сообщение.Сообщить();

Поле – путь к реквизиту, к которому необходимо привязать сообщение. Путь к реквизитам объекта формы необходимо указывать задав ключевое слово «Объект». Путь к остальным реквизитам формы указывается просто, в виде наименования реквизита:

Сообщение.Поле = "РеквизитФормы";

Можно прикрепить сообщение к строке табличной части объекта:

Сообщение.Поле = "Объект.Товары[1].Номенклатура";

Следует иметь в виду, что сообщение всегда выводится в текущую активную форму. Даже в том случае, если сообщение формируется в другой форме, но она еще не открыта.

Например, при обработке события формы «ПриОткрытии» можно выполнить проверку некоторого условия и выводить сообщение об ошибке не открывая форму. Сообщение будет выведено в форму из которой выполнялось открытие новой формы.

 

Вариант 2. Вывод сообщения в текущую активную форму с привязкой к элементам дополнительной формы

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Сообщение";
Сообщение.Поле = "Наименование";
Сообщение.КлючДанных = Объект.Склад;
Сообщение.ПутьКДанным = "Объект";
Сообщение.Сообщить();

Поле – наименование реквизита без указания ключевого слова «Объект».

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

ПутьКДанным – имя основного реквизита формы, через который можно получить доступ к реквизитам объекта.

В данном варианте использования, сообщение можно привязать только к реквизитам объекта формы.

 

Вариант 3. Вывод сообщения в форму, которая не является активной

ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", Объект.ОсновнойДоговор);
Форма = ОткрытьФорму("Справочник.Договоры.ФормаОбъекта",
ПараметрыФормы, ЭтаФорма);

Сообщение = Новый СообщениеПользователю;
Сообщение.ИдентификаторНазначения = Форма.УникальныйИдентификатор;
Сообщение.Текст = "Сообщение";
Сообщение.Поле = "Объект.Наименование";
Сообщение.Сообщить();

УникальныйИдентификатор – уникальный идентификатор формы, в которой будет выведено сообщение.

Сообщение может быть привязано как к реквизитам объекта, так и к остальным реквизитам формы.

 

Вариант 4. Совмещение второго и третьего вариантов. Вывод сообщения не в текущую форму, с привязкой к реквизиту в третьей форме

ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Ключ", Объект.Контрагент);
Форма = ОткрытьФорму("Справочник.Контрагенты.ФормаОбъекта", ПараметрыФормы, ЭтаФорма);

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Текст сообщения";
Сообщение.ИдентификаторНазначения = Форма.УникальныйИдентификатор;
Сообщение.Поле = "Наименование";
Сообщение.КлючДанных = Объект.Договор;
Сообщение.ПутьКДанным = "Объект";
Сообщение.Сообщить();

В результате вызова сообщения из формы документа, оно будет выведено в форме контрагента. При нажатии на текст сообщения, будет открыта форма договора, и сообщение будет привязано к реквизиту договора.

 

Вариант 5. Вывод сообщения из модуля объекта

Для вывода сообщения из модуля объекта, можно использовать следующий синтаксис:

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Текст сообщения";
Сообщение.Поле = "Наименование";
Сообщение.КлючДанных = Ссылка;
Сообщение.ПутьКДанным = "Объект";
Сообщение.Сообщить();

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

Важно. Без указания параметров: «КлючДанных» и «ПутьКДанным» сообщение будет привязано к реквизитам формы только в том случае, если форма объекта открыта и является активной . Однако, код процедуры модуля объекта может быть выполнен и без открытия формы. В этом случае сообщение будет выведено в текущей активной форме. И, чтобы при нажатии на тексте сообщения, открывалась форма объекта с привязкой сообщения к реквизитам формы (например при проведении документа из формы списка), должны быть заполнены параметры: «КлючДанных» и «ПутьКДанным». Параметр «Поле» в этом случае, должен содержать наименование реквизита объекта.

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

Сообщение.КлючДанных = ОсновнойДоговор;

В этом случае, будет открыта новая форма, по указанному ключу (ссылке) и сообщение будет привязано к ее реквизитам.

Однако, в модуле объекта, более корректно использовать метод объекта «УстановитьДанные» с указанием объекта, к которому требуется привязать сообщение:

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Текст сообщения";
Сообщение.Поле = "Наименование";
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить();

По своей сути, данный метод устанавливает значения для параметров: «КлючДанных» и «ПутьКДанным». Ключу данных будет присвоена ссылка на объект, а вот установка параметра «ПутьКДанным» происходит несколько сложнее. Дело в том, что работа с объектом может производится из разных форм. Имя основного реквизита формы, в общем случае, может отличатся от стандартного «Объект». Метод «УстановитьДанные» определяет имя основного реквизита формы по установленному соответствию. Причем, при записи объекта это соответствие устанавливается автоматически. В тех случаях, когда автоматического сопоставления нет, его необходимо указать явно с помощью метода «УстановитьСоответствиеОбъектаИРеквизитаФормы». Например, необходимо выполнить какие-либо действия с объектом, привязанным к текущей форме, и вывести в процессе этих действий сообщение:

//Серверная процедура в модуле  формы
&НаСервере
Процедура ОбработкаОбъекта()
       КонтрагентОбъект = ДанныеФормыВЗначение(Объект, Тип("СправочникОбъект.Контрагенты"));
       УстановитьСоответствиеОбъектаИРеквизитаФормы (КонтрагентОбъект, "Объект");
       КонтрагентОбъект.ВыполнитьРаботуСОбъектом();
КонецПроцедуры
 
//Процедура в модуле объекта
Процедура ВыполнитьРаботуСОбъектом() Экспорт
      ……

      Сообщение = Новый СообщениеПользователю;
      Сообщение.Текст = "Текст сообщения";
      Сообщение.Поле = "Наименование";
      Сообщение.УстановитьДанные(ЭтотОбъект);
      Сообщение.Сообщить();
КонецПроцедуры

 

Оповещение пользователя без привязки к конкретной форме

Следует иметь в виду, что сообщения, выведенные командой «Сообщить» или через объект «СообщениеПользователю» всегда привязаны к какой-либо форме. Если после вывода сообщения форма закрывается, пользователь не сможет его прочитать. В данном случае удобнее использовать другие методы глобального контекста: «ПоказатьОповещениеПользователю» или «Состояние». Вызов методов возможен только на клиенте.

Метод «ПоказатьОповещениеПользователю» выводит всплывающее оповещение в нижний часть экрана, которое не привязано к какой-либо открытой форме:

Вывод оповещения пользователю

Синтаксис метода в справке:

ПоказатьОповещениеПользователя(<Текст>, 
                               <ДействиеПриНажатии>, 
                               <Пояснение>, 
                               <Картинка>, 
                               <СтатусОповещенияПользователя>, 
                               <КлючУникальности>)

Первый параметр «Текст» вводит в заблуждение, на самом деле – это заголовок окна оповещения.

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

Параметр «Пояснение» - это как раз текст оповещения.

Дополнительно, есть возможность вывести картинку, указать важность оповещения и задать ключ уникальности для поиска уже открытых оповещений. 

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

Команда «Состояние» выводит информацию в специальную панель состояния. Ее следует использовать для информирования пользователя о ходе выполнения кого либо действия. Дополнительно есть возможность показать прогресс выполнения:

Состояние(«Выполнение операции, 50, «Операция выполняется»);

Вывод состояния с прогресом

 

Вывод сообщения пользователю в отдельном окне

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

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

СтрокаСообщения = Новый ФорматированнаяСтрока(НовыйДоговор.Наименование,,,, 
                                              ПолучитьНавигационнуюСсылку(НовыйДоговор.Ссылка));
ТекстСообщения = Новый ФорматированнаяСтрока("Создан новый договор: """, СтрокаСообщения,"""");
ОписаниеОповещения = новый ОписаниеОповещения("ПредупрежедениеЗавершение",ЭтаФорма);
ПоказатьПредупреждение(ОписаниеОповещения, ТекстСообщения,, "Заголовок сообщения");


&НаКлиенте
Процедура ПредупрежедениеЗавершение(Параметры) Экспорт
       //Обработка закрытия предупреждения
КонецПроцедуры    

Вывод предупреждения      

 

Если информация оказалась для Вас полезной, ставьте звездочку J

 

Другие мои статьи про механизмы платформы 1С

  1. Создание отчетов с помощью СКД - основные понятия и элементы
  2. Функциональные опции 1С 8.3 – все возможные варианты использования
  3. Автоматические и управляемые блокировки. Разделение итогов

 

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. FesenkoA 50 15.02.19 11:04 Сейчас в теме
Вот такие статьи я люблю. Вроде какая то фигня о сообщениях, но раскрывается потенциал платформы!
Кстати у нас работает обработчик ожидания, который проверяет сообщения в рег.сведений. И новые выводит как "ПоказатьОповещениеПользователю". При том что сами записи в регистр создаются при создании нового тикета, новой заявки или вручную из любого документа другим пользователем или рег.заданием. Немного раздражает что приходится каждые 20 сек дергать сервер. Может у вас есть опыт работы с этим и подскажете более элегантное решение?
Mechanist; TreeDogNight; gradi; rpgshnik; +4 Ответить
3. Goleff74 172 15.02.19 12:23 Сейчас в теме
(1)
Сервер взаимодействия
24. MSK_Step 21 01.07.19 10:30 Сейчас в теме
(3)ага, к нему купить лицензии КОРП+сделать сервер отдельный,непонятно как это работать будет стабильно сейчас
А это проверенный способ, который работает.
6. pbabincev 123 17.02.19 01:32 Сейчас в теме
(1)
Сервер взаимодействия на раз решает это
9. Roin2512 30 20.02.19 11:52 Сейчас в теме
(1)Глянте в сторону подписок на события
13. FesenkoA 50 20.02.19 13:23 Сейчас в теме
(9)Подписка на событие, при записи - все едино. Есть пользователь ШЕФ, он сидит в отчетах,или вообще ничего не делает, и пользователи 1,2,3...н, которые создают заявки. Заявка создана - у шефа уведомление. То есть разные клиентские сеансы.
15. ids79 5917 20.02.19 16:58 Сейчас в теме
(13)Наверно только сервер взаимодействия
18. FesenkoA 50 20.02.19 17:39 Сейчас в теме
(15)Сейчас бы я ее так бы и решил ) Но когда ее проектировали СВ то ли не было, то ли в какой то глубокой бете был...
2. mifka186 8 15.02.19 11:20 Сейчас в теме
Команда удобна своей простатой

Наверное простотой?
Cmapnep; АлександрЯрославичъ; YPermitin; TreeDogNight; accounting_cons; kuzyara; Ibrogim; nbondarenko; mrmasson; catv; +10 Ответить
4. ids79 5917 15.02.19 12:44 Сейчас в теме
32. Madsos 27.09.19 14:16 Сейчас в теме
(4)Зачем исправил, было правильно?!
user591389_aska_rabota; +1 Ответить
5. NeviD 15.02.19 13:32 Сейчас в теме
В БСП есть функция ОбщегоНазначенияКлиентСервер.СообщитьПользователю() - интерфейс над объектом СообщениеПользователю.
Удобно использовать, к тому же рекомендуется в стандартах: https://its.1c.ru/db/v8std#content:2149184067:hdoc
wowik; АлександрЯрославичъ; TreeDogNight; Somebody1; yufan; MCV; sm.artem; WhiteOwl; jif; +9 Ответить
22. ids79 5917 23.02.19 12:58 Сейчас в теме
(5)Спасибо за дополнение.
Можно пользоваться и этой процедурой или "СообщитьПользователюВФорму".
Но ничего нового они не добавляют, и не упрощают ввод, на мой взгляд.
Да и результат будет зависеть от того, что разработчики решат сделать в конкретном релизе.
По мне, удобнее использовать сам объект.
7. the1 693 18.02.19 09:10 Сейчас в теме
Срочно внести в Синтакс-помощник!
user591389_aska_rabota; +1 Ответить
8. Inziya 20.02.19 06:46 Сейчас в теме
Спасибо! Все понятно и подробно описано.
14. ids79 5917 20.02.19 16:52 Сейчас в теме
10. Дмитрий74Чел 198 20.02.19 11:59 Сейчас в теме
Неточности:
Путь к реквизитам объекта формы необходимо указывать задав ключевое слово «Объект».
Сообщение.Поле = "Объект.Товары[1].Номенклатура";

"Объект" - обычно такое имя задано у ключевого реквизита формы документа или справочника. Но формы бывают и другие.И Имя реквизита может быть не "Объект", а например, "Список".
Лучше написать "Путь к реквизитам, подчиненным основному реквизиту формы, необходимо прописывать указывая "полный путь" с имением основного реквизита, например...".
16. ids79 5917 20.02.19 17:01 Сейчас в теме
(10)Согласен, может быть и другой основной реквизит формы.
11. Дмитрий74Чел 198 20.02.19 12:12 Сейчас в теме
Вообще, идентичны варианты
Сообщение.Поле = "Наименование";
Сообщение.ПутьКДанным = "Объект";

и
Сообщение.Поле = "Объект.Наименование";


А еще не слова не сказано про типовые процедуры. Я сторонник всегда использовать типовой функционал. Вот как обычно в типовых используют СообщениеПользователю:
//в модуле объекта [внимание: взводит флаг Отказ (если передан)]
	ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Текст ошибки",                
								ЭтотОбъект,//КлючДанных (ссылка на объект или ключ записи регистра), нужен при вызове не из формы
								"Договор", //Поле (наименование реквизита формы)
								,		   //ПутьКДанным (путь к реквизиту формы)
								Отказ);
//в форме объекта
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Дублирование пременной'"),
								,
								"Запросы["+ИдентификаторСтроки+"].ИмяПеременнойЗапроса",//таблица Запросы, строка ИдентификаторСтроки, колонка ИмяПеременнойЗапроса
								"Объект", //у какого реквизита формы искать поле, указанное выше
								 Отказ);
Показать
user591389_aska_rabota; Artorg; klaus38; MCV; +4 Ответить
17. ids79 5917 20.02.19 17:05 Сейчас в теме
(11)
Вообще, идентичны варианты

Не всегда.
Если сообщение необходимо привязать к реквизитам формы, которая закрыта, только первый вариант можно использовать.
Если выводить сообщение в текущую форму, разницы нет.
12. herfis 379 20.02.19 12:22 Сейчас в теме
Может автор подскажет, есть ли возможность вывести сообщение из модуля проведения документа в привязке к форме списка, из которой этот документ проводится? В свое время у меня это не получилось, хотя перепробовал вроде все варианты.
Да и вообще в принципе хоть как-то отобразить сообщения из модуля проведения документа при проведении документа из списка без открытия его формы.
19. ids79 5917 22.02.19 11:07 Сейчас в теме
(12)Просто вывести сообщение в форме списка очень просто, так как сообщение сформированное в модуле документа будет выведено в текущем активном окне.
А вот привязать его к реквизитам формы списка не получится, только к реквизитам формы документа.
20. herfis 379 22.02.19 12:16 Сейчас в теме
(19)
Просто вывести сообщение в форме списка очень просто, так как сообщение сформированное в модуле документа будет выведено в текущем активном окне.

Вы правы. Это я напутал уже за давностью.
Проблема возникает при нажатии дефолтной кнопки "Провести и закрыть" в открытой форме документа.
В этом случае сообщение из модуля проведения адресуется форме документа, которая сразу же закрывается и пользователь в результате сообщения не видит.
Не получалось переадресовать это сообщение из формы документа в форму списка, из которого она открывалась.
21. ids79 5917 23.02.19 12:51 Сейчас в теме
(20)Я в статье писал про этот момент с закрытием форм с сообщением.
Из модуля объекта вывести такое сообщение, я думаю, не получится.
Если из клиентской процедуры формы, например "При записи" можно попробовать, передав идентификатор формы списка.
23. АлександрЯрославичъ 04.06.19 12:02 Сейчас в теме
Народ, а кто-то сталкивался с проблемой привязки сообщения к полю в процедуре, которая указана в описании оповещения?
У меня не работает ((
25. pavel_pss 268 01.07.19 15:33 Сейчас в теме
Спасибо, за сбор все информации в одном месте.

Было бы не плохо, если бы еще добавил, как добавить в оповещения (значок колокольчика)
26. sikvel2012 94 10.09.19 13:00 Сейчас в теме
Почему - то забыли про ПолучитьСообщенияПользователю()

и почему-то она не работает

После Сообщение.Текст = ТекстСообщения но до Сообщение.Сообщить() пытаюсь получить ей массив накопленных сообщений, но он пустой, может что делаю не так, ткните носом.
27. ids79 5917 10.09.19 14:22 Сейчас в теме
(26)
ПолучитьСообщенияПользователю

Эта функция выводит накопленные (поле Сообщение.Сообщить()) и еще не выведенные сообщения.
Она характерна для регламентных или фоновых заданий. В обычном сеансе получить с помощью нее сообщения не получиться, на сколько я знаю. Так как они сразу будут выведены пользователям.
sikvel2012; +1 Ответить
28. sikvel2012 94 10.09.19 16:49 Сейчас в теме
(27) странная конечно реализация, под сообщить подразумевается что оно выводится, зачем его ещё накапливать?

Я из описания понял что она собирает сообщения которые ещё не выведены командой сообщить, то есть очередь сообщений, это было бы логично
user717534; +1 Ответить
47. FlyVodolaz 16.05.20 01:17 Сейчас в теме
(26)
После Сообщение.Текст = ТекстСообщения но до Сообщение.Сообщить() пытаюсь получить ей массив накопленных сообщений, но он пустой, может что делаю не так, ткните носом.


После Сообщение.Текст = ТекстСообщения но до Сообщение.Сообщить() не может быть никакого массива. Откуда он? Это единичный объект.
А функция ПолучитьСообщенияПользователю() как раз ловит все сообщения которые вызвали Сообщение.Сообщить(), но еще не показаны. Показываются сообщения только после завершения текущего вызова. Например следующий код перехватит все сообщения и они будут в массиве, а не выведены на экран.
	
Для Ин = 1 По 100 Цикл
	СообщениеПользователю = Новый СообщениеПользователю;
	СообщениеПользователю.Текст = Ин;
	СообщениеПользователю.Сообщить();
КонецЦикла;
А = ПолучитьСообщенияПользователю(Истина);


Зачем их перехватывать? Разные причины. Например вызываем проведение документа или выполнение какой обработки, которые ругаются сообщениями. И нас это устраивает. Но может потребоваться например пакетная обработка и кроме или вместо сообщений мы хотим получить файл с логом или записать в журнал регистрации. Соответственно после вызова мы просто получаем массив сообщений, оставляя или удаляя стандартный вывод, и делаем с этим массивом что хотим.
29. max_zhilin 16.09.19 13:40 Сейчас в теме
Как вывести сообщение при открытии формы существующего документа?
Например, сообщение о том, что редактировать документ не рекомендуется.
В привязке к открываемой форме, естественно.

UPD: выяснилась интересная особенность:
если документ открывать из списка, то всё ОК, сообщение цепляется к форме открываемого документа.
Но если документ открывать из истории, то сообщение цепляется к активной форме на экране.
А если открытых форм, нет, то к "Начальной странице".

Посему вопрос формулируется так: Как вывести сообщение при открытии формы существующего документа из меню истории (Ctrl+Shift+H)?
30. ids79 5917 16.09.19 13:52 Сейчас в теме
(29)Если до открытия формы, то сообщение будет выведено в текущей форме. Новая ведь еще не открыта. Привязать его можно к открываемой - второй вариант из статьи.
31. max_zhilin 16.09.19 14:03 Сейчас в теме
(30)
сообщение будет выведено в текущей форме. Новая ведь еще не открыта

В ПриЧтенииНаСервере вызываю
				Сообщение = Новый СообщениеПользователю;
				Сообщение.Текст = ТекстСообщения;
				//Сообщение.ИдентификаторНазначения = Форма.УникальныйИдентификатор;
				Сообщение.Сообщить();
Либо просто
				Сообщить(ТекстСообщения);
При этом привязка к открываемой форме происходит. То же самое из ПриОткрытии.
Но с вышеописанными особенностями: если из списка или из любой другой формы, то норм, но из истории ведет себя странно - привязывает к текущей активной форме. Может, баг платформы? 1С:Предприятие 8.3 (8.3.12.1714)

Сообщение.ИдентификаторНазначения = Форма.УникальныйИдентификатор; - так тоже пробовал, поведение не меняется.
33. DmitryKSL 154 15.10.19 10:00 Сейчас в теме
Сообщение выходит и в поле и внизу окна, как сделать чтобы только в поле выходило?
34. ids79 5917 15.10.19 10:52 Сейчас в теме
(33)На сколько я знаю, никак. Снизу всегда будет выводиться.
35. kassbar 134 13.11.19 20:18 Сейчас в теме
из обработки проведения не удалось вывести в форму сообщение с привязкой, перебрал возможно около 10 разных вариантов, например такой:
Сообщение = Новый СообщениеПользователю;
			Сообщение.Текст = "текст";
			Сообщение.УстановитьДанные(ЭтотОбъект);
			Сообщение.Поле = "Объект.Товары[1].Номенклатура";
			Сообщение.Сообщить(); 

или такой:
Сообщение = Новый СообщениеПользователю;
			Сообщение.Текст = "текст";
			Сообщение.УстановитьДанные(ЭтотОбъект);
			Сообщение.Поле = "Склад";
			Сообщение.Сообщить(); 

и много других..
платформа 8.3.15.1656
36. ids79 5917 14.11.19 07:23 Сейчас в теме
из обработки проведения не удалось вывести в форму сообщение с привязкой


Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Текст сообщения";
Сообщение.Поле = "Товары[0].Номенклатура";
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить();

Выводит все корректно. Платформа 8.3.15.1656, режим совместимости 8.3.12.
Если форма документа была открыта, привязывается к ней.
Если проведение выполнялось из формы списка, сообщение выводится в форме списка. При двойном щелчке, открывается форма документа и привязывается корректно.
37. kassbar 134 14.11.19 18:38 Сейчас в теме
(36) попробуйте в расширение (например в УТ 11 или КА 2.4) добавить нечто такое:
&Перед("ОбработкаПроведения")
Процедура Расш1_ОбработкаПроведения(Отказ, РежимПроведения)

Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "текст сообщения";
Сообщение.Поле = "Товары[0].Номенклатура";
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить();

КонецПроцедуры

Будет текст привязан к строке ТЧ или выведется внизу ? К слову сказать типовые сообщения при нехватке например товара в документе реализации тоже без привязки к строкам выводятся (УТ 11.4.10.62)
38. kassbar 134 15.11.19 22:30 Сейчас в теме
Единственное объяснение этому возможно кроется в окне предупреждения, которое генерирует платформа (или БСП), с текстом "Не удалось провести документ...".
Может быть это окно каким-то образом блокирует собой отображение окон с привязкой к строкам, и в результате сообщения выводятся только внизу экрана.
48. rusja 24.08.20 16:37 Сейчас в теме
(38) Тоже столкнулся с этой проблемой на 8.3.17. Если при попытке проведения документа из формы документа выскакивает системное сообщение про "непроведенный документ", то после его закрытия сообщение пользователю появляется лишь в панели сообщений, а возле привязанного реквизита не появляется. Тот же самый код отлично работает на 8.3.11 : после закрытия системного окошка сообщение пользователю появляется и в панели и всплывает возле реквизита. Видимо что-то поменяли в платформе между релизами 8.3.11 и 8.3.15.
39. MaCCapAkIII 19.01.20 16:41 Сейчас в теме
Подскажите пожалуйста как выводить форматированную строку в СообщениеПользователю()?
фСтрокаТовара = Новый ФорматированнаяСтрока(Строка(нТовары[0].Номенклатура), Новый Шрифт(,, Истина));
		
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Номенклатура " 
			+ фСтрокаТовара
			+ ?(нТовары[0].ХарактеристикаНоменклатуры = "Не используется", "", " со значением характеристики " + нТовары[0].ХарактеристикаНоменклатуры)
			+ " в исходном документе не найдена. Товар подобран в конец списка!";
		Сообщение.Сообщить();
Показать


Такая конструкция выводит неформатированное значение. Пробовал передавать составную строку, в составе которой есть форматированная, в БСП ОбщегоНазначенияКлиент.СообщитьПользователю() - аналогично без результатов.
40. ids79 5917 20.01.20 14:22 Сейчас в теме
(39) Тип реквизита "Текст" объекта СообщениеПользователю - только строка.
MaCCapAkIII; +1 Ответить
41. Barok 02.03.20 20:57 Сейчас в теме
А как узнать, если сообщения на форме и если возможно получить их содержание?
42. Stas-ch 34 11.03.20 17:28 Сейчас в теме
Внешняя обработка, на форме есть таблица, можно ли привязать сообщение:
- к строке таблицы?
- к конкретной колонке строки таблицы?
43. ids79 5917 12.03.20 15:17 Сейчас в теме
(42)Я не пробовал так делать, но проблем не вижу.
44. Stas-ch 34 13.03.20 11:10 Сейчас в теме
(43) Проблема в отсутствии Объекта
45. ids79 5917 14.03.20 07:52 Сейчас в теме
(44)Не вижу проблемы. Привязывайте к реквизиту формы.
46. Goleff74 172 28.03.20 15:48 Сейчас в теме
Добрый день.
Есть обработка. Есть ТЧ Формы (не объекта). На форму динамически выводятся ПоляВвода, привязанные к колонкам строк ТЧ. Извращение, но так надо. Никак в итоге не получается привязать сообщение пользователю к таким полям ввода. Как это можно реализовать?
Поле = "Таблица[0].Колонка" - не работает.
Поле = "<Имя элемента поля ввода>" и ПутькДанными = "Элементы" не работает.
Что еще попытаться сделать?
49. Светлый ум 261 18.09.20 11:32 Сейчас в теме
(46) Столкнулся с экзотическим случаем - две одинаковых таблицы на форме находились в разных группах элементов, в итоге:

- в одной таблице не выводилось облако сообщения в значении строки
- в другой выводилось

Вывод: форматирование группы элементов может не дать отработать механизму
50. Sikh 08.10.20 00:21 Сейчас в теме
Хорошо когда все в одном месте.
Оставьте свое сообщение

См. также

Как я начал администрировать сервер 1С: Предприятие 8.3 с телефона Промо

Администрирование данных 1С Мобильная разработка v8 Бесплатно (free)

Развитие инструментов управления кластером серверов 1С:Предприятие 8.3.

14.04.2017    62425    user700211_a.straltsou    29    

Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)

Практика программирования Универсальные функции Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

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

30.11.2020    945    SizovE    0    

Выгрузка HTML описаний с картинками (Base64) товаров на сайт/интернет-магазин/B2B, разберем регулярное выражение получения тега body, ПолучитьHTML, ФорматированныйДокумент

Практика программирования WEB Универсальные функции v8 v8::УФ 1cv8.cf Бесплатно (free)

Редактор HTML платформы 1С простой и очень удобный для небольших задач, однако ПолучитьHTML возвращает отдельно картинки и отдельно целиком HTML страницу со ссылкой на имена этих картинок, что неудобно для отправки в базу данных сайта/интернет-магазина/веб-приложения/B2B. Разберем на открытом коде, как решить эту проблему, напишем универсальную функцию получения значения любого тега HTML на регулярных выражениях. Бонусом - возможность редактировать теги HTML в текстовом режиме.

24.11.2020    366    SizovE    0    

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий "НачалоВыбора", "Автоподбор")

Практика программирования v8 v8::УФ Бесплатно (free)

Зачастую возникает необходимость ограничить вывод элементов какого-нибудь справочника или перечисления при редактировании поля ввода (отфильтровать доступные для выбора элементы) эта публикация показывает простой и эффективный способ реализации этого.

15.11.2020    2800    Eugen-S    9    

Копирование числовых ячеек из 1С в Excel Промо

Загрузка и выгрузка в Excel Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

Решение проблемы, когда значения скопированных ячеек из табличных документов 1С в Excel воспринимаются последним как текст, т.е. без дополнительного форматирования значений невозможно применить арифметические операции. Поводом для публикации послужило понимание того, что целое предприятие с более сотней активных пользователей уже на протяжении года мучилось с такой, казалось бы на первый взгляд, тривиальной проблемой. Варианты решения, предложенные специалистами helpdesk, обслуживающими данное предприятие, а так же многочисленные обсуждения на форумах, только подтвердили убеждение в необходимости описания способа, который позволил мне качественно и быстро справиться с ситуацией.

15.01.2019    26232    itriot11    27    

Установка нескольких фильтров/отбора СКД в табличной форме, хранение в табличной части для отправки push/email уведомлений (ОтборКомпоновкиДанных, КомпоновщикНастроек, ДинамическийСписок)

Работа с интерфейсом Практика программирования v8 v8::УФ v8::СКД Бесплатно (free)

Рассмотрим, как организовать установку фильтров/отбора СКД (динамического списка) на push/email уведомления в подсистеме EdiBot (WebApp) для 1С в табличной части "События уведомлений".

02.11.2020    677    SizovE    0    

Отпускной период (период основного отпуска) - как его узнать

Зарплата Универсальные функции v8 v8::СПР v8::УФ ЗУП3.x Россия БУ Бесплатно (free)

Пришла мне задача где нужно получить отпускной период, на просторах сети решения я не нашел. Решил поделиться с вами своим решением.

26.10.2020    410    Danila7Zz    2    

Процедура генерации отдельных элементов формы для даты и времени

Работа с интерфейсом v8::УФ 1cv8.cf Бесплатно (free)

Развиваю тему статьи "Раздельный вывод частей даты на форму без программирования" - на этот раз реализовал процедуру для общего модуля, которая из элемента формы реквизита с типом "Дата" генерирует отдельный элемент для времени и выполняет все шаги, указанные в исходной публикации

03.10.2020    589    drmaxart    0    

Обмен данными. Консистентность vs Многопоточность Промо

Интеграция v8 1cv8.cf Бесплатно (free)

Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?

03.09.2019    12850    m-rv    1    

Рендеринг элементов управляемого интерфейса

Работа с интерфейсом v8 v8::УФ Россия Бесплатно (free)

Реализация отображения всего состояния формы проще, чем работа по изменениям. Однако использование идеи разделения алгоритмов на программные слои MVC и построения реактивных систем позволяет получить не только простые и масштабируемые решения, но и производительные интерфейсы. Рассмотрим примеры таких реализаций на основе использования фреймворка «Управление состоянием»: Информационная надпись, Заголовок формы, Свертываемая группа, Отключаемые панели.

22.09.2020    2891    kalyaka    5    

Дружелюбный интерфейс пометки и отмены пометки в диалоге табличных полей, для управляемых форм.

Работа с интерфейсом v8::УФ Бесплатно (free)

Пример кода пометки и отмены пометки в диалоге табличный полей. Позволяет выставить флажки или какое либо другое значение в табличной части формы, у которой применен отбор.

14.08.2020    2849    DrZombi    14    

Использование флажков в динамических списках

Практика программирования Работа с интерфейсом v8::УФ Бесплатно (free)

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

04.08.2020    3728    nekit_rdx    24    

Использование программных перечислений, ч.1: строковые константы Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Часто ли у вас возникает необходимость в коде выполнять сравнение на строку?

10.12.2016    37865    unichkin    74    

Глобальное меню разработчика для управляемых форм

Инструментарий разработчика v8 v8::УФ 1cv8.cf Бесплатно (free)

Подсистема "Инструменты разработчика". Глобальное контекстное меню разработчика для управляемых форм в толстом клиенте.

03.08.2020    3622    tormozit    14    

Использование ПоказатьВопрос() в событии НачалоВыбора()

Практика программирования v8 v8::УФ Бесплатно (free)

На ИТС описано, как избегать использования модальности в событиях ПередЗаписью() и ПередЗакрытием() (можно ознакомиться по ссылке http://its.1c.ru/docs/v8nonmodal/). А что делать, если нужно задать вопрос пользователю в событии НачалоВыбора(). В данной статье приведу пример реализации с использованием асинхронного вызова ПоказатьВопрос(). Статья предназначена в основном для начинающих программистов, недавно столкнувшихся с управляемыми формами.

20.07.2020    1499    biimmap    2    

Открытие управляемой формы 1С 8.3 с измененным несохраненным объектом

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

Как загрузить в управляемую форму программно изменённый несохранённый документ (или элемент справочника).

13.07.2020    3190    plainer    11    

Вспомогательные инструкции в коде 1С Промо

Практика программирования v8 1cv8.cf Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    31089    tormozit    104    

Команда "Вывести список" для динамического списка. Программное выполнение (вариант)

Универсальные функции v8::УФ 1cv8.cf Бесплатно (free)

Делаем свою кнопку вместо "Вывести список" из пункта "ещё" динамического списка.

11.06.2020    3220    DanDy    61    

Обработка нажатия клавиши

Работа с интерфейсом v8::УФ Бесплатно (free)

Один из способов обработки события нажатия клавиши.

10.06.2020    2886    RotaninV    7    

Серверные вызовы, которые нельзя вызывать

Практика программирования v8 v8::УФ 1cv8.cf Бесплатно (free)

Не баян, а классика. Рассмотрим особенность платформы настолько же древнюю, как сами УФ.

12.05.2020    6632    SeiOkami    31    

Оформление и рефакторинг сложных логических выражений Промо

Практика программирования v8 Россия Бесплатно (free)

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

20.09.2012    78564    tormozit    131    

Форма выбора (подбор) в управляемых формах

Практика программирования v8 v8::УФ 1cv8.cf Россия Бесплатно (free)

Разбор небольших примеров того, как правильно открывать форму выбора (подбора) в управляемых формах, не прибегая к модальным окнам.

08.05.2020    26088    user5300    16    

Как ограничить поля отбора в динамическом списке и ничего не сломать

Практика программирования v8::УФ 1cv8.cf Бесплатно (free)

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

06.05.2020    5345    SeiOkami    3    

Управляемая консоль отчетов – новый функциональный инструмент для работы с запросами и СКД в управляемых формах

Прочие инструменты разработчика Консоль запросов v8::УФ v8::Запросы v8::СКД Бесплатно (free)

Консоль запросов и СКД – один из наиболее часто используемых программистом инструментов. Как с его помощью можно упростить разработку, в своем докладе на конференции Infostart Event 2019 Inception рассказал Евгений Люлюк, ведущий программист компании GLT.

06.04.2020    7863    Evg-Lylyk    0    

Запись значения в поле ввода/формы со срабатыванием события ПриИзменении Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Иногда возникает необходимость после записи значения в какое либо поле ввода/формы вызвать для него обработчик события ПриИзменении, а о вызове самого события приходится только мечтать. В этой статье приводится программный способ вызова этого события.

11.07.2007    49148    tormozit    48    

5 шагов по изменению резервирования товаров в УТ 11.4

Оптовая торговля Практика программирования v8::ОУ v8::УФ УТ11 Россия УУ Бесплатно (free)

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

19.03.2020    4723    Igorro82IT    16    

Об обновлениях

Практика программирования v8 v8::УФ Бесплатно (free)

Рассматриваются вопросы комментирования доработок стандартных конфигураций, необходимых для облегчения работы при обновлении конфигурации.

12.02.2020    2662    ipoloskov    27    

Детектор завершения согласования для 1С: Документооборот КОРП

Практика программирования Документооборот и делопроизводство v8::УФ ДО УУ Бесплатно (free)

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

04.02.2020    3140    shiaju    3    

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере Промо

Практика программирования v8 1cv8.cf Россия Бесплатно (free)

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

10.09.2017    45602    tormozit    74    

Как вывести итоговый вес и объем на форму документа Заказ клиента. УТ 11.4

Практика программирования v8::УФ УТ11 Россия УУ Бесплатно (free)

Всем привет, долго ломал голову, но с помощью тыка и подсказок более опытных программистов, вот что мне удалось достичь и как это я сделал. Открываем конфигуратор - заходим в Документы-Заказ-Клиенту-Формы-ФормаДокумента, все будем делать только здесь, снизу формы две вкладки, в общем сама форма и модуль (как открыть, смотри рисунок - открыть форму).

16.01.2020    4521    VID1234    6    

Как работают управляемые формы и тонкий клиент 1С – взгляд "из-под капота"

Практика программирования Инструментарий разработчика v8::УФ Бесплатно (free)

Переход на управляемые формы перевернул процесс разработки на 1С, заставив программистов менять привычные подходы к описанию логики работы интерфейса. Руководитель компании «Цифровой Кот» Юрий Лазаренко в своем докладе на конференции Infostart Event 2019 Inception рассказал о том, как устроены управляемые формы и как правильно работать с тонким клиентом платформы 1С:Предприятие.

23.12.2019    13378    TitanLuchs    23    

Выгрузка документа по условию Промо

Практика программирования Разработка v8 Бесплатно (free)

Что делать, если документы нужно выгружать не все подряд, а по какому-то фильтру: статусу, дате, набору условий... А что если он соответствовал этим условиям, а потом перестал? А если потом опять начал? Такие ситуации заставили попотеть не одного программиста.

25.04.2019    16221    m-rv    2    

Обработка расширением на клиенте

Расширения Универсальные функции v8::УФ 1cv8.cf Бесплатно (free)

Описываю нетривиальный прием работы с расширением, который позволит относительно быстро реализовывать некоторые обработки данных. Суть: обработка данных на клиенте с использованием методов, которые реализованы разработчиком конфигурации на форме объекта. Если эти методы есть вне модуля формы объекта (общий модуль, модуль менеджера, модуль объекта)- лучше сделать обработку более простым способом.

31.10.2019    7266    EvgenURNN    10    

Изменение макета в карточке номенклатуры(УТ 11, КА 2)

Практика программирования Работа с интерфейсом v8::УФ ERP2 УТ11 КА2 Бесплатно (free)

Краткая памятка по выведению добавленного реквизита в справочнике Номенклатура в стандартную карточку номенклатуры в УТ 11, КА 2, ERP 2.

24.10.2019    4615    darkultro37    4    

Формы. Трудности программной работы

Работа с интерфейсом v8 v8::УФ 1cv8.cf Бесплатно (free)

Рассматриваем основные подводные камни, с которыми приходится сталкиваться при программной работе с формами, а также способы обхода самых частых проблем.

06.10.2019    12021    YPermitin    31    

Как настроить правильную техподдержку (helpdesk, service desk на коленке) Промо

Управление услугами и сервисом Управление взаимоотношениями с клиентами (СRM) Документооборот и делопроизводство Монитор заказов Учет рабочего времени Управление взаимоотношениями с клиентами (СRM) Документооборот и делопроизводство Монитор заказов Учет рабочего времени v8 УУ Бесплатно (free)

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

24.04.2019    19479    siddy    0    

Передача данных с сервера на клиент через WebSocket NativeAPI и Centrifugo

Интеграция v8::УФ 1cv8.cf Россия Бесплатно (free)

В статье описываю реализацию обмена для замены передачи сообщений через 1С Сервер взаимодействия.

23.09.2019    7809    malikov_pro    11    

"Вы всё сломали!". Разбираемся, кто прав, кто виноват

Практика программирования v8::УФ ИТ-компания Россия Бесплатно (free)

О том, как "всё испортил" программист, а на самом деле виноват заказчик.

20.09.2019    6046    RomanCrow13    27    

Оповещения боту из 1С за 31 минуту

Практика программирования Интеграция v8::УФ 1cv8.cf Бесплатно (free)

Поделюсь опытом, как быстро сделать бота с оповещениями в Телеграмм из 1С без лишних затрат.

18.09.2019    17535    feva    42    

Excel vs 1С: битва с неожиданным исходом Промо

Анализ учета Универсальные обработки Загрузка и выгрузка в Excel Финансовые Управленческие v8 1cv8.cf Россия Бесплатно (free)

Что лучше 1С или Excel? Разберемся, в казалось бы, очевидном, чтобы получить невероятное!

11.04.2019    37176    bolefirenko    119    

Работа из 1С с API PayPal

WEB v8::УФ 1cv8.cf Бесплатно (free)

PayPal - международная платежная система является очень популярной за пределами СНГ для онлайн торговли и не только. API PayPal достаточно хорошо документирован. При попытке связать 1C с PayPal пришлось столкнуться с несколькими нюансами, которыми и хотелось бы поделиться в этой статье с примерами программного кода.

08.09.2019    5888    da_1c    2    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    15579    ids79    8    

Кодовое создание документа на 8.3, управляемые формы (на примере)

Практика программирования Разработка v8::УФ 1cv8.cf Бесплатно (free)

В своё время мне нужен был код создания документа через обработку, пол дня потерял пока нашёл гайд по решению данной задачи. Поэтому просто решил поделиться данным решением. Подойдёт только новичкам, опытные программисты могут даже не читать =)

07.08.2019    6206    Nefilimus    16    

Как прикрутить ГУИД к регистру сведений Промо

Практика программирования Перенос данных из 1C8 в 1C8 Разработка v8 Бесплатно (free)

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

16.04.2019    20629    m-rv    17    

Автоматическая SMS рассылка

SMS рассылки v8 v8::УФ Розница УТ11 Бесплатно (free)

Как сделать автоматическую рассылку SMS именинникам на примере Розница 2.2.

29.07.2019    4798    Elvisnya    8    

Создание отчетов с помощью СКД - основные понятия и элементы

Практика программирования Математика и алгоритмы v8 v8::СКД Бесплатно (free)

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    55917    ids79    26    

Вставка гиперссылки в форматированный документ

Практика программирования Разработка v8::УФ Бесплатно (free)

Да, форматированный документ это умеет и сам, но возможности можно расширить!

03.06.2019    6546    Yashazz    0    

Как сделать запрос на изменение данных Промо

Практика программирования v8 v8::Запросы 1cv8.cf Бесплатно (free)

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

01.06.2018    31393    m-rv    21    

Добавление внешних отчетов / обработок в собственные подсистемы

Практика программирования Разработка v8::УФ Россия Бесплатно (free)

Краткая инструкция по добавлению функционала доп обработок/отчетов в собственную подсистему.

24.05.2019    11815    login1020    7    

Подсистема БСП «Управление доступом», основные объекты и регистры

БСП (Библиотека стандартных подсистем) Роли и права v8 v8::УФ v8::Права 1cv8.cf Бесплатно (free)

Основные принципы работы подсистемы «Управление доступом» из состава БСП. Виды доступа, ограничение доступа на уровне записей. Описание основных объектов и регистров, используемых подсистемой.

23.05.2019    23481    ids79    9    

Расшифровка отчета на СКД с детализацией по выбранному полю на основе БСП

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ v8::СКД 1cv8.cf Россия Бесплатно (free)

В данной статье рассмотрим механизм работы с расшифровкой отчета, созданного при помощи системы компоновки данных, в управляемом приложении. Показывать буду на примере реальной задачи. Условие: использовать имеющиеся в конфигурации механизмы БСП, с минимальными и "правильными" изменениями. Расшифровка должны быть двух видов на каждом поле: 1. Открывать ссылочный объект 2. Открывать новую форму с детализацией табличной части документа. Собственно ради второго пункта и писалась статья, в основном для себя, чтобы не забыть.

14.05.2019    20797    Viktor_Ermakov    8