Прогресс бар 8.2 (УТ 11 без изменения конфигурации, для SQL)

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

Разработка - Работа с интерфейсом

129
Данный приём позволяет показать текущее состояние выполнения серверного кода пользователю (без внесения изменений в конфигурацию). Идея взята от сюда http://infostart.ru/public/157706/

1. Код модуля формы внешней обработки

//Устанавливаем количество обновлений индикатора на сервере.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   
Обновлений = 10;
КонецПроцедуры


//Обнуляем прогресс бар, запускаем фоновую процедуру на сервере, подключаем обработчик ожидания
&НаКлиенте
Процедура НачатьИндикацию(Команда)

   
Прогресс = 0;

   
ВыполнитьНаСервере(УникальныйИдентификатор, Обновлений);

   
ПодключитьОбработчикОжидания("ОбработчикОжидания", 1, Ложь);

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


//Получаем сообщения от фонового задания и прогресс операции. Если операция закончилась отключаем обработчик ожидания.
&НаКлиенте
Процедура ОбработчикОжидания()

   
ПолучитьПрогрессВыполнения(УникальныйИдентификатор, Прогресс);

   
Состояние(НСтр("ru = 'Тест прогресс бара'"), Прогресс, НСтр("ru = 'Пустой цикл для тестирования'"));

    Если
Прогресс = 100 Тогда
       
ОтключитьОбработчикОжидания("ОбработчикОжидания");
    КонецЕсли;

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


//Устанавливаем привилегированный режим, если у пользователя нет административных прав. Запускаем фоновое задания из внешней обработки с помощью метода который доступен в УТ 11.
&НаСервереБезКонтекста
Процедура ВыполнитьНаСервере(УникальныйИдентификатор, Обновлений)

   
УстановитьПривилегированныйРежим(Истина);

   
ЗаданиеПараметры = Новый Массив();
   
ЗаданиеПараметры.Добавить(Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Прогрес-бар [0.0.1]"));
   
ЗаданиеПараметры.Добавить(Новый Структура("Обновлений", Обновлений));
   
ЗаданиеПараметры.Добавить(Неопределено);
   
ЗаданиеПараметры.Добавить(Неопределено);

   
ФоновоеЗадание = ФоновыеЗадания.Выполнить("ДополнительныеОтчетыИОбработки.ВыполнитьОбработкуНепосредственно", ЗаданиеПараметры, УникальныйИдентификатор, "ИндикацияПроцеса");

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

 

&НаСервереБезКонтекста
Процедура ПолучитьПрогрессВыполнения(УникальныйИдентификатор, Прогресс)

   
НайденныеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(Новый Структура("Ключ", УникальныйИдентификатор));
    Если
НайденныеЗадания.Количество() = 0 Тогда Возврат; КонецЕсли;

   
Задание = НайденныеЗадания[0];
    Если
Задание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
       
МассивСообщений = Задание.ПолучитьСообщенияПользователю(Истина);
        Если
МассивСообщений = Неопределено Тогда Возврат; КонецЕсли;
        Для Каждого
Сообщение Из МассивСообщений Цикл
            Если
Строка(Сообщение.ИдентификаторНазначения) = "00000000-0000-0000-0000-000000000000" Тогда
               
Прогресс = Число(Сообщение.Текст);
            Иначе
               
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Сообщение.Текст, Сообщение.КлючДанных, Сообщение.Поле, Сообщение.ПутьКДанным);
            КонецЕсли;
        КонецЦикла;;
    Иначе
       
Прогресс = 100;
    КонецЕсли;

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



2. Код модуля объекта внешней обработки

Функция СведенияОВнешнейОбработке() Экспорт
   
Версия = "0.0.1";

   
// Объявим переменную, в которой мы сохраним и вернем "наружу" необходимые данные
   
ПараметрыРегистрации = Новый Структура;

   
// Объявим еще одну переменную, которая нам потребуется ниже
   
МассивНазначений = Новый Массив;

   
// Первый параметр, который мы должны указать - это какой вид обработки системе должна зарегистрировать.
    // Допустимые типы: ДополнительнаяОбработка, ДополнительныйОтчет, ЗаполнениеОбъекта, Отчет, ПечатнаяФорма, СозданиеСвязанныхОбъектов
   
ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка");

   
// Теперь нам необходимо передать в виде массива имен, к чему будет подключена наша ВПФ
    // Имейте ввиду, что можно задать имя в таком виде: Документ.* - в этом случае обработка будет подключена ко всем документам в системе,
    // которые поддерживают механизм ВПФ
    //СчитатьДокументыНазначений(МассивНазначений);
   
ПараметрыРегистрации.Вставить("Назначение", Новый Массив);

   
// Теперь зададим имя, под которым ВПФ будет зарегистрирована в справочнике внешних обработок
   
ПараметрыРегистрации.Вставить("Наименование", "Прогрес-бар [" + Версия + "]");

   
// Зададим право обработке на использование безопасного режима. Более подробно можно узнать в справке к платформе (метод УстановитьБезопасныйРежим)
   
ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);

   
// Следующие два параметра играют больше информационную роль, т.е. это то, что будет видеть пользователь в информации к обработке
   
ПараметрыРегистрации.Вставить("Версия", Версия);
   
ПараметрыРегистрации.Вставить("Информация", "Прогрес-бар [" + Версия + "]");

   
// Создадим таблицу команд (подробнее смотрим ниже)
   
ТаблицаКоманд = ПолучитьТаблицуКоманд();

   
// Добавим команду в таблицу
   
ДобавитьКоманду(ТаблицаКоманд, "Прогрес-бар [" + Версия + "]", "BP", "ОткрытиеФормы", Ложь, "BP");

   
// Сохраним таблицу команд в параметры регистрации обработки
   
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

   
// Теперь вернем системе наши параметры
   
Возврат ПараметрыРегистрации;

КонецФункции


Функция
ПолучитьТаблицуКоманд()

  
// Создадим пустую таблицу команд и колонки в ней
  
Команды = Новый ТаблицаЗначений;

  
// Как будет выглядеть описание печатной формы для пользователя
  
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));

  
// Имя нашего макета, что бы могли отличить вызванную команду в обработке печати
  
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));

  
// Тут задается, как должна вызваться команда обработки
   // Возможные варианты:
   // - ОткрытиеФормы - в этом случае в колонке идентификатор должно быть указано имя формы, которое должна будет открыть система
   // - ВызовКлиентскогоМетода - вызвать клиентскую экспортную процедуру из модуля формы обработки
   // - ВызовСерверногоМетода - вызвать серверную экспортную процедуру из модуля объекта обработки
  
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));

  
// Следующий параметр указывает, необходимо ли показывать оповещение при начале и завершению работы обработки. Не имеет смысла при открытии формы
  
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));

  
// Для печатной формы должен содержать строку ПечатьMXL
  
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));

   Возврат
Команды;

КонецФункции



Процедура
ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

 
// Добавляем команду в таблицу команд по переданному описанию.
  // Параметры и их значения можно посмотреть в функции ПолучитьТаблицуКоманд
 
НоваяКоманда = ТаблицаКоманд.Добавить();
 
НоваяКоманда.Представление = Представление;
 
НоваяКоманда.Идентификатор = Идентификатор;
 
НоваяКоманда.Использование = Использование;
 
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
 
НоваяКоманда.Модификатор = Модификатор;

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


// Пощитаем коэффициенты и сделаем соответствие чтобы знать когда обновлять прогресс. 
Процедура
ВыполнитьКоманду(Параметры) Экспорт

   
Обновлений  = Параметры.Обновлений;
   
Итераций = 10000000;
   
Коэф     = Цел(Итераций / Обновлений);
   
КоэфОбн  = 100 / Обновлений;

   
ТочкиОбновления = Новый Соответствие;
    Для
i = 1 По Обновлений Цикл ТочкиОбновления[i * Коэф] = Цел(i * КоэфОбн); КонецЦикла;

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

    Для
i = 1 По Итераций Цикл
        Если
ТочкиОбновления[i] <> Неопределено Тогда ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Строка(ТочкиОбновления[i])); КонецЕсли;

       
// Основной код.

   
КонецЦикла;

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




Плюсы:

    • Не нужно изменять основную конфигурацию;
    • все очень просто в реализации и использовании;
    • пользователь видит прогресс и одновременно делает что-то еще.



129

Скачать файлы

Наименование Файл Версия Размер
Индикация.epf
.epf 8,97Kb
05.11.12
295
.epf 8,97Kb 295 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. Stamper 37 08.11.12 23:32 Сейчас в теме
2. pbazeliuk 09.11.12 00:47 Сейчас в теме
(1) Stamper, в файловой версии менеджер заданий не активен. И задания выполняются по очереди, а не асинхронно. Комментарий актуален к УТ 11, может в других конфигурациях есть выход.
3. Stamper 37 09.11.12 00:56 Сейчас в теме
(2)
И задания выполняются по очереди, а не асинхронно.

пожалуйста, немного поподробнее расскажи! или может быть, есть ссылочка?
4. pbazeliuk 09.11.12 01:22 Сейчас в теме
(3) Stamper, В файловом варианте задания всегда выполняются последовательно одно за другим, в отличие от клиент-серверного варианта, где несколько заданий могут выполняться параллельно в одном и том же рабочем процессе или в разных рабочих процессах и даже на разных компьютерах. Поэтому, выделенного клиента, занимающегося обработкой заданий, не рекомендуется использовать для других целей, т.к. это может негативно повлиять на производительность выполнения заданий.

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

www.bit.ly/TO6csq
dj_serega; elik1972; NAKIS; teflon; khaoos; Serj1C; +6 Ответить
5. ksuman 14.12.13 03:16 Сейчас в теме
(4) можно было не объяснять почему это не работает в файловом варианте, а просто ответить: нет необходимости таких заморочек с ПрогрессБаром, т.к. можно управлять формой Прогресса - Явно;)

Есть какая-дь более эффективная процедура управления Прогресс-баром из текущей формы внешней обработки при запуске длительной Глобальной процедуры на сервере, не меняя конфигурацию, притом что серверная процедура меняет значения элементов этой формы, но обновления реквизитов формы (ПрогрессБар + СтатуснаяСтрока) мы можем увидеть только по окончании выполнения на сервере и возврате в клиентский контекст?
7. pbazeliuk 20.12.13 01:16 Сейчас в теме
(5)В УФ такой процедуры нет. Можно реализовать это прыжками между контекстами "&НаКлиенте" на "&НаСервере", то есть порцию обработали в контексте сервера, вернулись на контекст клиента - показали прогресс, далее возвращаемся на контекст сервера для обработки следующей порции. Этот метод очень негативно влияет на время выполнения длительной операции.

но обновления реквизитов формы (ПрогрессБар + СтатуснаяСтрока) мы можем увидеть только по окончании выполнения на сервере и возврате в клиентский контекст
- Да, обновление интерфейса состоится только после возвращения в контекст клиента.

В обычных формах проблем нет, для их реализовано множество различных ПрогрессБаров.
6. NAKIS 5 18.12.13 14:32 Сейчас в теме
Спасибо, добавил плановому отделу в их обработочку) Теперь приятно радует глаз)
А то все время были возмущения, мол нихрена не понятно, работает или зависло, а текстовое представления работы обработки им не нравилось...
8. velber 18.04.15 15:24 Сейчас в теме
Бухгалтерия предприятия, редакция 3.0 (3.0.39.60)

При выполнении выдает ошибку:

{Форма.Форма.Форма(43)}: Ошибка при вызове метода контекста (Выполнить)
ФоновоеЗадание = ФоновыеЗадания.Выполнить("ДополнительныеОтчетыИОбработки.ВыполнитьОбработкуНепосредственно", ЗаданиеПараметры, УникальныйИдентификатор, "ИндикацияПроцеса");
по причине:
Метод задания не найден: ДополнительныеОтчетыИОбработки:ВыполнитьОбработкуНепосредственно
10. pbazeliuk 1700 18.04.15 16:59 Сейчас в теме
(8) velber, возможно, в БСП изменилось название метода или убрали ключевое слово "Экспорт" или изменились свойства общего модуля
9. velber 18.04.15 15:42 Сейчас в теме
Управление торговлей, редакция 11.1 (11.1.6.20)

При выполнении выдает ошибку:

Метод задания не найден: ДополнительныеОтчетыИОбработки:ВыполнитьОбработкуНепосредственно
11. fixin 3862 31.07.15 15:20 Сейчас в теме
В типовых есть функция ДополнительныеОтчетыИОбработки.ВыполнитьКоманду. Её можно использовать для обработчика фонового задания, чтобы выполнить свою обработку, помещенную в справочник внешних обработок.
12. yuha33 23.10.15 14:02 Сейчас в теме
При выполнении выдает ошибку:

Метод задания не найден: ДополнительныеОтчетыИОбработки:ВыполнитьОбработкуНепосредственно

Можно тыкнуть пальцем, где взять этот код. В УТ11 я его не обнаружил. Ни в старой, ни в новой.
13. pbazeliuk 1700 23.10.15 14:51 Сейчас в теме
(12) yuha33, посмотрите здесь как сделано http://infostart.ru/public/405368/. Работает под УТ 11
14. Andreyyy 11 04.12.15 20:17 Сейчас в теме
Подскажите, будут ли доступны в фоновом исполнении остальные процедуры/функции модуля объекта обработки из процедуры "ВыполнитьКоманду(Параметры)" ?
15. pbazeliuk 1700 07.12.15 13:39 Сейчас в теме
(14) Andreyyy, будут доступны в контексте фонового задания только те методы, которые есть в самой обработке фонового задания. Так же контекст обработки, что инициировала фоновое задание будет недоступен.
Оставьте свое сообщение

См. также

Альтернативный способ добавления элементов и реквизитов на формы 29

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 ERP2 УТ11 Россия Абонемент ($m) Работа с интерфейсом

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

1 стартмани

09.09.2019    2370    4    bmk74    0       

Удобный выбор из таблицы/дерева в УФ 61

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом Разработка

Выбор из таблицы значений или дерева значений в выпадающем списке рядом с полем ввода - УФ, быстро и просто!

1 стартмани

12.08.2019    2883    4    Yashazz    18       

[Механизм интерфейса] Свой флажок (чекбокс) 109

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

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

1 стартмани

09.08.2019    4102    4    rpgshnik    37       

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android 21

Инструменты и обработки Программист Пользователь Расширение (cfe) v8 v8::Mobile Розница УНФ ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика УУ Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Абонемент ($m) Внешние источники данных Сканер штрих-кода Терминал сбора данных Работа с интерфейсом Мобильная разработка

Простой мобильный терминал сбора данных для iOS и Android, не требующий сложных настроек и установки дополнительных программ. Для выгрузки базы штрихкодов и загрузки собранных штрихкодов в документы учетной системы используется Яндекс Диск или облачный сервис и расширение конфигурации. Работает с конфигурациями Розница 2, УНФ 1.6, УТ 11, ERP, КА2.

3 стартмани

22.04.2019    9705    51    suepifanov    61       

Коннектор: удобный HTTP-клиент для 1С:Предприятие 8 509

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Практика программирования Внешние источники данных WEB Универсальные функции Инструментарий разработчика Универсальные обработки

Коннектор - библиотека для работы с HTTP запросами. Библиотека берет на себя всю рутину работы с HTTP запросами. Буквально в одну строку можно получать данные, отправлять, не заботясь о необходимости конструирования URL, кодирования данных и т.п.

1 стартмани

31.01.2019    24917    242    bonv    102       

Использование подсистемы БСП "Заполнение объектов" 133

Статья Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Россия Абонемент ($m) Практика программирования Универсальные функции БСП (Библиотека стандартных подсистем)

Применение механизмов БСП для добавления новых команд заполнения к формам различных объектов. Использование расширений конфигурации для доработки. Шаблоны для реализации собственных команд заполнения.

1 стартмани

23.11.2018    12903    8    ids79    14       

Шпаргалка разработчика для работы с формами 23

Отчеты и формы Программист Архив с данными v8 Россия Абонемент ($m) Работа с интерфейсом

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

3 стартмани

31.10.2018    7824    68    ELAM    3       

Открывашка ячеек таблиц 85

Инструменты и обработки Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

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

1 стартмани

27.10.2018    9210    11    tormozit    28       

Отправка электронной почты с помощью локального почтового клиента из 1С, развернутой под удаленным рабочим столом 12

Инструменты и обработки Программист Пользователь Архив с данными v8 КА1 БП2.0 УТ10 УПП1 Windows Абонемент ($m) Печатные формы документов Универсальные функции Email

Решение для интерактивной (нажал-отредактировал) отправки электронных писем и печатных форм через почтовый клиент (Thunderbird, Outlook) находящийся на локальном компьютере, из конфигурации 1С, развернутой под удаленным рабочим столом (RDP, remote-app). Подходит также для локального развертывания 1С. Представлен пример быстрой интеграции с конфигурациями "Управление торговлей 10.3", "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1", "Бухгалтерия предприятия 2.0".

1 стартмани

21.09.2018    11001    10    stvorl    0       

Визуализация событий на временной шкале средствами "Поле HTML документа" 165

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    13841    127    Plotks2017    24       

Продвинутое рисование в табличном документе (стрелок и не только) 73

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 Абонемент ($m) Практика программирования Работа с интерфейсом

Вспоминаем геометрию и основы компьютерной графики. Матрицы и аффинные преобразования на плоскости.

1 стартмани

24.07.2018    8051    16    WalterMort    27       

Работа с данными выбора 38

Инструменты и обработки Программист Архив с данными v8 Россия Абонемент ($m) Практика программирования Работа с интерфейсом

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

1 стартмани

17.07.2018    19602    13    kalyaka    15       

Управление состоянием формы через конечный автомат 81

Статья Программист Конфигурация (md, cf) v8 Россия Абонемент ($m) Практика программирования Работа с интерфейсом

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

1 стартмани

19.06.2018    9911    11    kalyaka    35       

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX 105

Инструменты и обработки Системный администратор Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Работа с интерфейсом

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    19559    2    kraynev-navi    40       

Расширение возможностей печати: Вывод произвольного нижнего и верхнего колонтитула 8

Отчеты и формы Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Печатные формы документов Практика программирования Универсальные функции

Расширяем функционал вывода нижнего / верхнего колонтитула. Стандартно 1С имеет достаточно ограничений по выводу и наполнению колонтитулов содержимым, взять хотя бы такие, как вывод только текста и отсутствие ограничения на номер конечной страницы. А при разработке кода сталкиваешься с тем, что свой блок с нижним колонтитулом нужно прижимать к низу страницы. Казалось бы быстро решаемый вопрос, но и в нем есть нюансы. Сейчас я расскажу о том, как решалась эта задача. UPD 15.02.2018. Добавлен вывод верхнего колонтитула; Вывод колонтитулов на первой и последней странице управляется параметрами; Научился считать страницы: Добавлено заполнение переменных аналогичных стандартным из колонтитулов; Задаются форматы даты и времени. Ограничения прежние: 1. Повторно сформировать табличный документ после смены параметров страницы интерактивно.; 2. Передавать данные для более плотной печати как можно более мелко нарезанными кусками.

1 стартмани

29.12.2017    21344    21    agent00mouse    0       

Программное формирование форматированной строки в стиле html+inline CSS 52

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом Инструментарий разработчика

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    19176    24    bonv    5       

Размеры управляемой формы 100

Статья Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом Универсальные функции

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

1 стартмани

08.10.2017    17573    46    json    8       

Программное создание элементов графической схемы (через XSLT) 57

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом

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

1 стартмани

20.07.2017    13862    49    lazarenko    16       

Расширенная настройка динамического списка УФ 115

Инструменты и обработки Программист Расширение (cfe) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом

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

1 стартмани

31.05.2017    24132    143    tormozit    20       

Шаблон внешней обработки регламентного задания с формой настройки параметров выполнения 86

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Инструментарий разработчика Универсальные функции

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

1 стартмани

28.05.2017    17356    140    Bassgood    10       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 175

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    38288    166    DarkAn    86       

Простой редактор плана помещения JavaScript 100

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Практика программирования Работа с интерфейсом

На ресурсе сейчас очень много решений, которые позволяют редактировать карты, используя географические схемы. Так же много решений, которые позволяют редактировать объекты онлайн веб-карт. Мне же нужно было простое решение, для того чтобы расставить квадратные объекты на плане, показать их пользователю. Ну и распечатать, опять же. Я решил написать простенький редактор на JavaScript с использованием библиотеки Raphael.

1 стартмани

23.11.2016    14836    91    igel9780    16       

Отладка/доработка модуля менеджера "на лету" 89

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Инструментарий разработчика Практика программирования Универсальные функции

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

1 стартмани

23.10.2016    22680    19    json    22       

HTTP-сервис: отчеты [Расширение] 122

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом

Это HTTP-сервис, который возвращает почти любой отчет в HTML, XLSX или в JSON. Сохраните вариант отчета, получите на него ссылку и можно получить данные без захода в 1С. Работает в конфигурациях на основе БСП 2.3.3+, для отчетов на СКД и в 1С 8.3.8+

2 стартмани

30.08.2016    18875    125    Stepa86    15       

БСП 2.3 и БСП 3.0: Просто про выполнение внешней обработки в фоне (c индикацией прогресса выполнения) 185

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика Практика программирования БСП (Библиотека стандартных подсистем)

Простое пояснение о том, как сделать внешнюю обработку с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП 2.3.2. UPDATE 20/09/19: добавлен вариант обработки с индикацией процента выполнения и статусом выполнения для БСП 3.0.

1 стартмани

18.05.2016    45558    136    rozer    52       

Простые радости жизни программиста 1С: выбор типа значения 51

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Работа с интерфейсом

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

1 стартмани

17.02.2016    38478    45    yuraos    17       

Генерация QR-кода (управляемая форма, обычное и управляемое приложение) 59

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Windows Абонемент ($m) Универсальные функции Универсальные обработки

Обработку можно быстро и легко интегрировать в любую конфигурацию с и без БСП (Библиотека Стандартных Подсистем).

3 стартмани

04.02.2016    35561    151    tunesoft    24       

Автоматическая подстановка уничтожений временных таблиц в текст запроса 7

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

Функция, которая сама подставляет в текст запроса "УНИЧТОЖИТЬ" в местах последнего использования ВТ.

1 стартмани

14.11.2015    15021    SeiOkami    3       

Передача реквизитов объекта из основной формы в дополнительную и обратно на управляемых формах 91

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Работа с интерфейсом

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

1 стартмани

02.11.2015    22207    8    Wolex    29       

Инструмент для создания веб приложений на основе 1С REST сервиса 67

Инструменты и обработки Программист Пользователь Приложение (exe) v8 1cv8.cf Windows Абонемент ($m) Инструментарий разработчика WEB Работа с интерфейсом

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

1 стартмани

13.10.2015    21323    82    dmzubr    23       

Асинхронная загрузка данных на Управляемую Форму. Прогресс бар (УФ 8.3). Индикация состояния процесса 78

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Работа с интерфейсом Универсальные функции Внешние источники данных

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

1 стартмани

09.10.2015    28725    133    pbazeliuk    6       

Визуальный html редактор на управляемых формах 64

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) WEB Работа с интерфейсом

Мы рассмотрим некоторые особенности и возможности подключения сторонних визуальных html редакторов на javascript - TinyMCE, CK Editor. С помощью приложенной обработки Вы сможете попробовать в действии полноценный и удобный визуальный html редактор, а при желании перенести подобный функционал к себе.

1 стартмани

30.09.2015    20679    183    ivanov660    26       

[Расширение] Контроль отрицательных остатков по регистру бухгалтерии при проведении 58

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Россия БУ Windows Учет ТМЦ Абонемент ($m) Инструментарий разработчика Универсальные функции

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

1 стартмани

17.08.2015    38179    167    ekaruk    31       

NativeDraw: Компонента рисования для 1С [V2.6.2] 106

Инструменты и обработки Программист Компонента, плагин (dll, vbs,..) v8 1cv8.cf Windows Абонемент ($m) Разработка внешних компонент Работа с интерфейсом

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

1 стартмани

13.07.2015    39508    421    ПерваяСистема    140       

Методы для группировки данных по полю,полям в Таблице Значений на примере универсального метода списания по партиям, а также отбора строк в ТЗ по произвольному условию. Для 8.x и 7.7 4

Инструменты и обработки Программист Внешняя обработка (ert,epf) v7.7 v8 1cv8.cf 1cv7.md Windows Абонемент ($m) Практика программирования Универсальные функции

Я очень часто использую группировку данных по полю и полям, как в восьмерке, так и в семерке. Это аналог запроса Итоги, но там строится дерево, а в большинстве случаев нужны "плоские данные". Да и делать запрос в большинстве случаев более накладный процесс, чем работа с ТЗ. Все достоинства такого подхода приведены на примере метода универсального списания по париям, а так же отбора строк в ТЗ по произвольному условию. Для 7.7 еще отчеты сравнения двух ТЗ. Работая с различными базами для упрощения сравнения номенклатуры, или как аналог джойнов(join), сделал сравнение двух таблиц значений по нескольким полям. Пока группировки полей должны быть уникальны. Часто приходится искать дубли, для универсального поиска есть ДублиВТзПоПолю и пример в Тест.ert.

1 стартмани

25.06.2015    21010    4    Serginio    1       

Кнопки управления группировками табличного документа для управляемых форм 23

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

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

1 стартмани

02.06.2015    21628    31    unichkin    9       

Управляемая форма 1С 8.2 (8.3) – работа с деревом значений и таблицей значений. Часть I (Основы) 64

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Windows Абонемент ($m) Практика программирования Работа с интерфейсом

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

2 стартмани

14.05.2015    69618    25    ll13    13       

Использование общих модулей "Длительные операции" из состава БСП или асинхронное выполнение серверных процедур без блокировки пользовательского интерфейса 124

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Производительность и оптимизация (HighLoad) Универсальные функции БСП (Библиотека стандартных подсистем)

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

1 стартмани

17.03.2015    55001    163    Bassgood    15       

Подсистема "Планировщик" (версия 1.1) 138

Отчеты и формы no Конфигурация (md, cf) v8 1cv8.cf Россия Абонемент ($m) Практика программирования WEB Работа с интерфейсом

Конфигурация с подсистемой "Планировщик" (календарь). Бесплатная открытая версия для свободного использования не включает двустороннюю интеграцию с сервисом Google и Outlook.com.

5 стартмани

02.03.2015    55682    463    vandalsvq    62       

Анимация фона элементов на форме в стиле JQuery 75

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Работа с интерфейсом

К сожалению, у платформы 1С не так много красивостей, которыми обычно сдабривают формы обычных web-страниц. Нам недоступны эффекты JQuery и других javascript-библиотек. А иногда хочется сделать необычно, красиво и удобно.

1 стартмани

18.02.2015    13873    27    kraynev-navi    9       

daСклонение: склонение ФИО, должностей, чисел, прилагательных, существительных на языке 1С + ТестЦентр 207

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Универсальные функции

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

1 стартмани

14.02.2015    89224    104    daMaster    87       

Регулярные выражения без COM объектов и внешних компонент 27

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Универсальные функции

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

1 стартмани

09.02.2015    20506    18    boogie    35       

Лучшие методы сравнения таблиц значений 324

Инструменты и обработки Программист Внешний отчет (ert,erf) v8 1cv8.cf Абонемент ($m) Универсальные функции

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

1 стартмани

02.02.2015    88890    51    ildarovich    54       

Полезные функции БСП 235

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

Список часто востребованных, по моему мнению, функций из состава Библиотеки стандартных подсистем 2.2.

1 стартмани

01.02.2015    45912    47    spec8s    30       

Библиотека математических функций 1.1 114

Инструменты и обработки Программист Конфигурация (md, cf) v8 1cv8.cf Абонемент ($m) Универсальные функции

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

1 стартмани

18.12.2014    21953    40    alex271    67       

Библиотека универсальных функций и процедур (v 1.3) 85

Инструменты и обработки Программист Подсистема v8 1cv8.cf Windows Абонемент ($m) Универсальные функции

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

1 стартмани

17.12.2014    13750    46    alex271    27       

[ТАКСИ] Шаблон внешней обработки...и не только 207

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ 1cv8.cf Абонемент ($m) Универсальные обработки Работа с интерфейсом Универсальные функции

Обработка предназначена для лентяев, к каковым, в первую очередь, отношу себя. Это в некотором роде шпаргалка в виде шаблона внешней обработки. Для создания новой копируем эту, удаляем ненужное, вставляем нужное - получаем результат. Чем ваять с нуля, каждый раз прописывая одно и то же, проще использовать заготовку, подобную этой... 24.11.2018 - Версия 1.21 - что-то добавил, что-то поправил.... 16.04.2019 - По просьбам трудящихся (немногочисленным, правда) оставил последнюю версию 1.21, дабы не было путаницы... 17.04.2019 - Версия 1.22 Вернул пример сохранения табличного документа в разных форматах и чтения DBF из версии 1.16 (как потерялось - сам не понял)

2 стартмани

22.09.2014    46014    687    Alex_E    27