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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

 

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

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

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

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

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

 

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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


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

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

 

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

 

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

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

 

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

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

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

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

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


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

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

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

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

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

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

Эта функция выводит накопленные (поле Сообщение.Сообщить()) и еще не выведенные сообщения.
Она характерна для регламентных или фоновых заданий. В обычном сеансе получить с помощью нее сообщения не получиться, на сколько я знаю. Так как они сразу будут выведены пользователям.
sikvel2012; +1 Ответить
28. sikvel2012 96 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 6375 16.09.19 13:52 Сейчас в теме
(29)Если до открытия формы, то сообщение будет выведено в текущей форме. Новая ведь еще не открыта. Привязать его можно к открываемой - второй вариант из статьи.
31. max_zhilin 16.09.19 14:03 Сейчас в теме
(30)
сообщение будет выведено в текущей форме. Новая ведь еще не открыта

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

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

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

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


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

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

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

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

Будет текст привязан к строке ТЧ или выведется внизу ? К слову сказать типовые сообщения при нехватке например товара в документе реализации тоже без привязки к строкам выводятся (УТ 11.4.10.62)
38. kassbar 142 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 6375 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 6375 12.03.20 15:17 Сейчас в теме
(42)Я не пробовал так делать, но проблем не вижу.
44. Stas-ch 34 13.03.20 11:10 Сейчас в теме
(43) Проблема в отсутствии Объекта
45. ids79 6375 14.03.20 07:52 Сейчас в теме
(44)Не вижу проблемы. Привязывайте к реквизиту формы.
46. Goleff74 179 28.03.20 15:48 Сейчас в теме
Добрый день.
Есть обработка. Есть ТЧ Формы (не объекта). На форму динамически выводятся ПоляВвода, привязанные к колонкам строк ТЧ. Извращение, но так надо. Никак в итоге не получается привязать сообщение пользователю к таким полям ввода. Как это можно реализовать?
Поле = "Таблица[0].Колонка" - не работает.
Поле = "<Имя элемента поля ввода>" и ПутькДанными = "Элементы" не работает.
Что еще попытаться сделать?
49. Светлый ум 269 18.09.20 11:32 Сейчас в теме
(46) Столкнулся с экзотическим случаем - две одинаковых таблицы на форме находились в разных группах элементов, в итоге:

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

Вывод: форматирование группы элементов может не дать отработать механизму
50. Sikh 08.10.20 00:21 Сейчас в теме
Хорошо когда все в одном месте.
51. lev6975 14.12.20 17:24 Сейчас в теме
Задублирую и сюда вопросец...

Можно ли как - то посмотреть буфер накопленных сообщений в процессе отладки, пока они еще не показаны пользователю? Чтобы узнать отправителя сообщения - имя и адрес отправившей функции пока все эти сообщения висят еще непоказанными... чтобы узнать какой модуль какая функция вызывает отказ?
Ну или смотреть в процессе отладки, было ли уже выведено где - то сообщение в буфер сообщений, чтобы потом показать все это при возврате на клиента. Нужно вычислить причину появления сообщения и понять по коду что не так...
А то по коду ЗУП можно шнырять годами...
52. pavlo 29.01.21 13:34 Сейчас в теме
Главная беда у меня вывести в не активной форме сообщение пользователю.
Есть 2 отчета, оба запускаются с котиками в фоне, когда оба заканчиваются в сообщения пишутся типа "отчет сформирован" текст не важен.
так вот как и что не делай все равно выводит 2 сообщения (когда оба отчета закончили) в активное окно одного из отчетов.
В итоге переключаясь на один отчет не понятно выводилось ли сообщение, а во втором 2 сообщения.
	Сообщение = Новый СообщениеПользователю;
	Сообщение.ИдентификаторНазначения = ЭтаФорма.УникальныйИдентификатор;
	Сообщение.Текст = "отчет сформирован";
	Сообщение.УстановитьДанные(Отчет);
	Сообщение.Сообщить();

Единственное чего не стоит Поле, но сообщение не нужно выводить с привязкой к полю.
53. ids79 6375 29.01.21 17:18 Сейчас в теме
(52)ЭтаФорма - указывает на текущую форму. Вам нужно передать в отчеты ту форму, в которой Вы хотите вывести сообщения и использовать ее.
54. pavlo 30.01.21 10:58 Сейчас в теме
(53)
В том и дело, что сообщения вызываются из модуля формы и ЭтаФорма там и является конкретной.
У каждого отчета на &НаКлиенте после формирования отчета вызывается показ сообщения выше, а в итоге показывается внизу активного окна.
Тоесть открыты 2 отчета и в фоне оба работают (котики) когда они завершают все возвращается в модуль формы конкретного отчета и там вызывается показать сообщение пользователю.
Нов итоге оно показывается не при переключении на конкретный отчет, а в активном окне сразу все ото всех открытых отчетов.
55. ids79 6375 30.01.21 12:21 Сейчас в теме
(54)Теперь понял. Да, странное поведение. А может быть попробовать после окончания формирования отчета делать форму активной и уже тогда выводить сообщение?
56. pavlo 01.02.21 09:06 Сейчас в теме
(55) Ну так они переключаются на ходу, если пользователь что то делал его перекидывает на активную форму, но с другой стороны вроде как показывает, что вот этот отчет отработал и сообщение тогда верно в нужном окне.
Если без активизации формы ни как то этот вариант, очень даже не плох.
Спасибо за идею.
57. EVKash 11 08.02.21 15:34 Сейчас в теме
(55) Может знаете... Есть ли возможность выводить сообщение с привязкой к строке дерева значений.
Обращение к строке по индексу для ДанныеФормыДерево не поддерживается.
Гугл не помог.
59. EVKash 11 12.02.21 07:52 Сейчас в теме
(58) Это уже скачал, но не встраивал пока...
60. asg128 11.03.21 11:09 Сейчас в теме
А можно отобразить всплывающее сообщение, указывающее на кнопку?
61. Stepka1206 13.04.21 13:28 Сейчас в теме
У документа есть скрытая табличная часть, программно рисую реквизиты на форме из данных табличной части.
Все добавленные элементы имеют путь к данным табличной части с множеством строк.
при использовании конструкции
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Текст сообщения";
Сообщение.Поле = "ТаблицаДанных[12].ДатаСрока";
Сообщение.УстановитьДанные(ЭтотОбъект);
Сообщение.Сообщить(); 


Собщение вылезает внизу формы, можно ли его как то к элементу формы привязать?
Оставьте свое сообщение

См. также

Использование классов .Net в 1С для новичков Промо

Практика программирования Разработка внешних компонент Универсальные функции v7.7 v8 Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    79554    Serginio    113    

Неочевидные нюансы записи управляемой формы

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

Разберем несколько нюансов записи управляемой формы.

02.04.2021    5336    SeiOkami    49    

Полезные примеры СКД, ч.1

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

Подборка видео по решению различных задач в отчетах на СКД.

30.03.2021    6128    Neti    18    

Обзор полезных методов БСП 3.1.4

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

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

25.03.2021    16647    rayastar    47    

Звуковое управление в 1С 8.3 Промо

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

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021    3184    velemir    31    

Расширенный автоподбор при вводе по строке в поле ввода в управляемых формах

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

Началось все с того, что штатный автоподбор при вводе по строке в поле ввода для некоторых больших справочников устраивать перестал. Вообще, для способа поиска строки "Любая часть" он работает на первый взгляд очень хорошо: работает как полнотекстовый (т.е. по нескольким словам) даже без активации полнотекстового поиска, красиво подсвечивает слова поиска в результатах. Казалось бы, все отлично. Но есть неприятное ограничение - всего лишь 10 значений в результирующем списке (у вас может быть несколько больше, так как платформа неявно добавляет результаты поиска по истории ввода). Для небольших справочников или справочников с разнородным ассортиментом все хорошо. Но не в моей ситуации. А простых путей увеличить количество выдаваемых строк на момент написания статьи мне обнаружить не удалось. Пришлось полностью переопределять автоподбор. Ниже речь пойдет именно об этом. И, к слову, в типовых конфигурациях для некоторых справочников используются похожие приемы для увеличения количества строк результата автоподбора.

21.01.2021    1917    herfis    7    

Программное копирование узла/строки дерева значений на управляемой форме (УФ, ДанныеФормыДерево, ДанныеФормыЭлементДерева) в вариантах на клиенте и на сервере

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

1С при интерактивном копировании строки дерева значений в управляемой форме копирует только саму строку, без его всех вложенных узлов/строк, жаль - решим! А также найдем способ передачи ДанныеФормыЭлементДерева с клиента на сервер при вставке дерева из другого элемента справочника.

11.01.2021    763    SizovE    0    

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

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

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020    2275    SizovE    23    

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

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

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

28.12.2020    5428    comol    31    

Ускоряем медленный/долгий и тормозной стандартный поиск по динамическому списку, настраиваем его под себя

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

Пользователи привыкли искать на форме списка, но, вбивая в поиск некорректные данные, могут завесить всю систему, а если еще искать нужно по НЕ полям списка, то решение только в своём поиске - все это решим в публикации с открытым кодом.

14.12.2020    10694    SizovE    2    

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

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

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

30.11.2020    3478    SizovE    3    

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

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

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

24.11.2020    850    SizovE    4    

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

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

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

14.04.2017    64596    user700211_a.straltsou    29    

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

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

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

15.11.2020    4218    Eugen-S    9    

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

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

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

02.11.2020    1148    SizovE    0    

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

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

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

26.10.2020    636    Danila7Zz    2    

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

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

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

15.01.2019    30527    itriot11    27    

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

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

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

03.10.2020    738    drmaxart    0    

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

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

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

22.09.2020    3485    kalyaka    5    

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

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

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

14.08.2020    3641    DrZombi    15    

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

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

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

03.09.2019    14003    m-rv    1    

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

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

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

04.08.2020    6970    nekit_rdx    28    

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

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

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

03.08.2020    4641    tormozit    26    

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

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

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

20.07.2020    1838    biimmap    2    

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

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

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

10.12.2016    39067    unichkin    74    

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

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

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

13.07.2020    3555    plainer    11    

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

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

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

11.06.2020    3865    DanDy    61    

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

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

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

10.06.2020    4141    RotaninV    7    

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

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

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

15.10.2018    32914    tormozit    105    

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

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

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

12.05.2020    8054    SeiOkami    34    

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

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

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

08.05.2020    45599    user5300    17    

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

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

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

06.05.2020    6912    SeiOkami    3    

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

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

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

20.09.2012    79973    tormozit    131    

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

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

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

06.04.2020    9564    Evg-Lylyk    0    

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

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

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

19.03.2020    5219    Igorro82IT    16    

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

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

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

12.02.2020    2757    ipoloskov    27    

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

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

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

11.07.2007    50972    tormozit    49    

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

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

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

04.02.2020    3473    shiaju    3    

Программная работа с настройками СКД

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

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    45703    ids79    26    

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

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

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

10.09.2017    47880    tormozit    74    

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

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

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

16.01.2020    5867    VID1234    6    

[СКД] Программное создание схемы компоновки данных

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

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    33675    John_d    22    

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

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

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

23.12.2019    15484    TitanLuchs    23    

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

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

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

25.04.2019    16734    m-rv    3    

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

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

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

31.10.2019    7583    EvgenURNN    10    

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

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

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

24.10.2019    5135    darkultro37    4    

Полезные процедуры и функции для программиста

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

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

07.10.2019    34670    HostHost    41    

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

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

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

24.04.2019    24823    siddy    0    

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

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

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

06.10.2019    12610    YPermitin    31    

Таблица значений. Нюансы

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

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    43759    Yashazz    50