Атаманов Юрий

132
Рейтинг

AtamanovYS
Юрий Атаманов



  •   Регистрация: 13.10.2019 (3 года назад)

  •   Был(а) на сайте: 08.12.2022

Подписчики 7

Группы

Профессиональный разработчик

Рейтинг 132

Программный интерфейс для доработки форм

Статья Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free) Нет файла Работа с интерфейсом

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

25.11.2021    6754    AtamanovYS    19       

122

Комментарии

ОбменОтзывы по "Базовому курсу по обмену данными в системе 1С:Предприятие"#32 20.04.22 21:58
Хороший обзорный курс по механизмам обменов.
DevОтзывы по курсу "1C:Предприятие для программистов: Запросы и отчеты"#18 12.03.22 13:49
Спасибо за изложенный материал. В целом с языком запросов и СКД знаком давно, но не все используемые механизмы знал и понимал. Получил более системное представление.
DevУстановить значки 1с8 для файлов dt, cf и erf#11 14.01.22 19:43
Решил проблему.
Если у кого-то раздел UserChoice в реестре будет каждый раз восстанавливаеться при смене сеанса (притом с восстановлением ассоциации), то нужно удалить записи внутри раздела. И запретить изменение раздела локальным пользователем. Так получилось.

Прикрепленные файлы:

222.png
DevКак перехватить сообщение, которое выводит ПроверитьЗаполнение()#6 13.01.22 11:31
(3) Это понятно (у меня вообще документ программно создается, формы нет). Я просто хотел сделать, чтобы ошибка при проверке заполнения выходила в окне вызова исключения. А не в виде сообщения снизу.
Вот как-то так получается. Метод ПолучитьСообщенияПользователю() закрывает этот вопрос.

Прикрепленные файлы:

Безымянный.png
DevКак перехватить сообщение, которое выводит ПроверитьЗаполнение()#5 13.01.22 11:22
(4) То, что надо. Там увидел метод ПолучитьСообщенияПользователю(Истина). Его достаточно. Он возвращает в том числе те сообщения, которые сформированы платформой.
DevКак перехватить сообщение, которое выводит ПроверитьЗаполнение()#1 12.01.22 23:50
Как в коде перехватить сообщение, которое возвращает метод объекта ПроверитьЗаполнение() ?
У меня сейчас есть такой код:

Код
ЗаполнениеВерно = Об.ПроверитьЗаполнение();
Если Не ЗаполнениеВерно Тогда
   ВызватьИсключение "Ошибка создания документа при проверке заполнения";
КонецЕсли;

Я бы хотел выводить текст сообщения, которое выводит ПроверитьЗаполнение(), в текст исключения, а не в строку сообщения после.

Код
ЗаполнениеВерно = Об.ПроверитьЗаполнение();
Если Не ЗаполнениеВерно Тогда
   ВызватьИсключение <Текст сообщения, который выводит метод ПроверитьЗаполнение()>;
КонецЕсли;

Хотя бы НаКлиенте можно как-то сообщение найти, которое выводит системный метод ? Может я хочу куда-то в журнал записать текст ошибки при проверке заполнения.
ПубликацииСоздание предопределенных элементов из существующих ссылок#2 12.01.22 14:26
(1) Спрятал в спойлер ту часть, которая не относится к обработке, раз смущает много текста.
ПубликацииСоздание предопределенных элементов из существующих ссылок#0 09.01.22 12:57
Обработка для создания предопределенного элемента из существующей ранее ссылки для удобного обращения к ней в коде.
ПубликацииГенерация простых чисел в запросе (SQL) и сравнение производительности#0 08.01.22 19:21
Пишем запрос по генерацию последовательности простых чисел на языке запросов 1С и SQL.
DevРабота с деревом значений (УФ)#20 28.12.21 13:42
1. Нужно ПоГруппировкам обходить, а не ПоГруппировкамСИерархией. Это другое. Для иерархических справочников. У вас в запросе нет иерархии
2. Не нужно ничего дообрабатывать в цикле. Всё в запросе делается. Через ISNULL в поле итогов можно назначить разное значение для итогового поля, в зависимости от уровня группировки. И вообще в итогах можно произвольные выражения делать любой сложности. Сделал в демоБазе пример. Думаю из него понятно, как это можно к другой любой задаче использовать, когда нужно дерево на форму вывести.
Примерно так:
Код
Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ
|   ЗаказКлиента.Ссылка КАК Заказ
|ПОМЕСТИТЬ ВтЗаказы
|ИЗ
|   Документ.ЗаказКлиента КАК ЗаказКлиента
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|   ВтЗаказы.Заказ КАК Заказ,
|   РеализацияТоваровУслугТовары.Ссылка КАК Реализация,
|   РеализацияТоваровУслугТовары.Цена КАК Цена,
|   РеализацияТоваровУслугТовары.Ссылка.Менеджер КАК Менеджер,
|   РеализацияТоваровУслугТовары.Количество КАК Количество,
|   РеализацияТоваровУслугТовары.Номенклатура КАК ДокументТовар,
|   РеализацияТоваровУслугТовары.Сумма КАК Сумма
|ИЗ
|   ВтЗаказы КАК ВтЗаказы
|      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
|      ПО ВтЗаказы.Заказ = РеализацияТоваровУслугТовары.ЗаказКлиента
|ИТОГИ
|   ВЫБОР
|      КОГДА Реализация ЕСТЬ NULL
|         ТОГДА ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
|      ИНАЧЕ МАКСИМУМ(Менеджер)
|   КОНЕЦ КАК Менеджер,
|   СУММА(Количество),
|   ЕСТЬNULL(Реализация, Заказ) КАК ДокументТовар,
|   СУММА(Сумма)
|ПО
|   Заказ,
|   Реализация";

ЗначениеВРеквизитФормы(Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам), "Дерево");

Прикрепленные файлы:

Настройка дерева.png
Результат в 1С Предприятие.png