INFOSTART EVENT 2018 EDUCATION

Второй тур голосования за доклады.
Окончание 5 сентября.

Круткина Оксана | Начальник бюро ОИТ | ПАО "Амурский судостроительный завод"

«Автоматизация закупочной и договорной деятельности предприятия в 1С: Бухгалтерия (223-ФЗ, 44-ФЗ)»

1. Закупочная деятельность. 1.1 Формирование годовой потребности центрами затрат. 1.2 Создание Плана закупок предприятия центрами финансовой ответственности (ЦФО) 1.3 Корректировка Плана закупок в течении года. 1.4 Проведение и контроль Закупочной процедуры на основе утвержденного Плана закупок. 1.5 Заключение договора по результату проведения закупочной процедуры. 2. Договорная деятельность 2.1 Электронное согласование и заключение договора. 2.1.1 Различия в процедуре согласования договора для конкурентного, не конкурентного и малого способов закупки. 2.2 Контроль лимитов БДР и БДДС. 2.3 Контроль исполнения договора.

Редактор встроенного языка на управляемой форме

Программирование - Инструментарий

60
Вариант решения проблемы редактирования текста (раскрашивание текста) на управляемой форме так же, как и во встроенном редакторе кода 1С.

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

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

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

Сразу хочу сказать о минусах и плюсах этого подхода:

Достоинства:

1. Не используются внешние компоненты и/или библиотеки;

2. Есть возможность редактирования текста

Недостатки:

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

2. Форматирование текста происходит не "на ходу", а после интерактивного нажатия "кнопочек" (в будущем планирую устранить, есть идеи)

В будущем планирую:

1. Доработать функционал для корректного форматирования текста запроса. Будет полезно в консоли запросов. Реализованно вот тут //infostart.ru/public/732711/

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

Обновления:

Версия 1.01:

- Исправлено отображение "многоэтажных" строк

- Исправлено отображение слова "Выполнить", если оно является методом или свойством

60

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

Наименование Файл Версия Размер
Редактор встроенного языка на управляемой форме:
.epf 10,79Kb
31.07.17
39
.epf 1.01 10,79Kb 39 Скачать
Редактор встроенного языка и языка запросов на управляемой форме:
.epf 12,72Kb
24.01.18
4
.epf 1.00 12,72Kb 4 Скачать

См. также

Комментарии
Сортировка: Древо
1. Brawler 388 31.07.17 22:11 Сейчас в теме
2. user806113 31.07.17 22:59 Сейчас в теме
3. pbazeliuk 1450 01.08.17 10:43 Сейчас в теме
Достойная обработка, перейдем к замечаниям:
Не стоить использовать вызовы БСП не все конфигурации используют БСП и не все конфигурации используют русскоязычную БСП.
СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку() лучше заменить на аналог или использовать StrTemplate(СтрШаблон)
СтроковыеФункцииКлиентСервер.ЭтоРазделительСлов() лучше заменить на аналог
СтроковыеФункцииКлиентСервер.СообщитьПользователю() лучше заменить на аналог
TreeDogNight; purgin; AGLux; Pistolierro; корум; darkmessiahan; Aleskey_K; Lancelot-2M; +8 Ответить
4. Pistolierro 73 01.08.17 13:06 Сейчас в теме
Обрабока писалась под ИБ на платформе 8.3.5, там еще нет СтрШаблон. А в целом замечание принимается, как и указал в описании в будущем планирую адаптировать механизмы для внедрения в любые конфигурации
6. Octopus 337 01.08.17 14:24 Сейчас в теме
(4) По мне так лучше бы проверку делать, есть БСП в конфе или нет. И только если нет, использовать аналог.
5. krasavcheg 01.08.17 14:19 Сейчас в теме
Очень интересный подход и идея, однозначно +
7. the1 322 01.08.17 20:14 Сейчас в теме
Вот опять же позор разработчикам платформы! Почему не реализовали этот механизм в управляемых формах?
jONES1979; zqzq; AGLux; KilloN; корум; DrAku1a; darkmessiahan; Spacer; +8 Ответить
8. Brawler 388 01.08.17 20:25 Сейчас в теме
(7) ну когда-то и конструктора запросов не было на управляемых формах, потом сделали, еще все в переди
14. Pistolierro 73 03.08.17 10:47 Сейчас в теме
(7) Я думаю 1С не будет это реализовывать, так как, раз уж сразу не сделали, то есть какие то проблемы (возможно связанные с работой в вэб-клиенте). Да и не сказать,что это фича "must have".
9. DrAku1a 1284 03.08.17 04:13 Сейчас в теме
Форматирование текста происходит не "на ходу"

А, ну тогда не интересно...
10. Yashazz 2264 03.08.17 09:31 Сейчас в теме
Хотел-хотел это сделать, руки не дошли. И не покидало ощущение, что стоит сделать это, как 1С допилит платформу) На чём реализовано? Форматируемый документ?
12. Pistolierro 73 03.08.17 10:28 Сейчас в теме
(10) Да, форматированный документ
11. Dzenn 237 03.08.17 09:35 Сейчас в теме
За основу, я так понял, взята обработка с ИТС, и переписано с позорного CSS на православное ФорматированиеТекста.

В обработке с ИТС, а значит, и здесь, замечена как минимум одна ошибка форматирования: попробуйте написать

Запрос.Выполнить();

Также, в этой обработке, некорректно отрабатывает табуляция. Например, не получается написать так:

Процедура А()
[Табуляция]Б = 4;
КонецПроцедуры;

Получается только так:

Процедура А()
Б = 4;
КонецПроцедуры;

То есть, её нужно немного доработать, но в общем и целом код очень полезный, спасибо.
jONES1979; Pistolierro; +2 Ответить
13. Pistolierro 73 03.08.17 10:40 Сейчас в теме
(11) Обработку с ИТС брал за основу, но в итоге от нее почти ничего не осталось (или совсем ничего). Логика разбора строк на составляющие полностью изменена.

Запрос.Выполнить() - да, Выполнить отображается красным шрифтом. Допилю

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

Все таки форматированный документ не для этого предназначен изначально. Я постараюсь максимально приблизить функциональность к привычной в конфигураторе (или обычном приложении), но отличия все равно останутся.
15. Dzenn 237 03.08.17 11:10 Сейчас в теме
(13) если не надоест заморачиваться этой темой — переделай всё на хтмл с редактированием в другом реквизите — надёжнее будет
19. Fatov_DI 02.07.18 15:36 Сейчас в теме
(11) Поддерживаю. Табуляций очень не хватает...
16. user774630 03.08.17 12:58 Сейчас в теме
https://partners.v8.1c.ru/forum/topic/1633631
У кого доступа нет, тема называется "Платформа 8.3 → Прошу реализовать возможность раскраски текста в поле текстового документа управляемой формы". Старых Сергей (AXELOT, Москва) 01.08.2017 12:05

Последнее сообщение в теме:
Копиенко Сергей (1С, Москва) вчера 11:47 1634020 Отвечает на
Предложение записано, спасибо.

P.S. т.е. до этого никто не просил, видимо :)
17. Ava1or 03.08.17 17:31 Сейчас в теме
В Конвертации 3.0 это было бы полезно
Irwin; MaxS; +2 Ответить
18. anatoliy.kichuk 79 11.09.17 17:01 Сейчас в теме
Вот, как раз мне такое надо для моей консоли...
Оставьте свое сообщение