Конвертация

08.12.08

Разработка - Универсальные функции

Использование собственных функций в конвертации

При создании правил конвертации намного более удобно
использовать собственные функции вместо предлагаемых 'Алгоритмов'.

Для чего в конец модуля обработки 'V8Exchan81.epf' вносим
фрагмент кода с нашими функциями.
Для подключения текстов отладки также вносим этот фрагмент кода
в макет 'Общие процедуры и функции' перед областью '#Область Конструктор_ТелоПроцедуры'
добавим нашу область '#Область нОбщиеФункции' и затем текст наших функций.


Для того чтобы сработала процедура генерации текста обработчиков
в модуль обработки 'V8Exchan81.epf' после строки:

ДобавитьВПотокСлужебныйКод(Результат, "ПеременныеОбработки");



добавим:

// вывод собственных ф-ций
ДобавитьВПотокСлужебныйКод(Результат, "нОбщиеФункции");




Готово !

Теперь в любом месте где нам нужно можем спокойно вызвать наши функции не
мучаясь с передачей параметров в 'Алгоритмы'.

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Загрузка и выгрузка в Excel Универсальные функции Программист 1С:Предприятие 8 Россия Бесплатно (free)

Описанный ниже подход позволяет в три шага заполнять формулы в Excel файлы, вне зависимости от ОС сервера (MS Windows Server или Linux). Подход подразумевает отказ от работы с COM-объектом в пользу работы через "объектную модель документа" (DOM).

30.10.2025    3395    Abysswalker    8    

45

Универсальные функции Работа с интерфейсом Программист 1С:Предприятие 8 Бесплатно (free)

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

14.05.2025    6312    DeerCven    15    

57

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

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

21.05.2024    48635    dimanich70    83    

169

Универсальные функции Программист 1С:Предприятие 8 1C:Бухгалтерия Абонемент ($m)

Задача: вставить картинку из буфера обмена на форму средствами платформы 1С.

1 стартмани

18.03.2024    7285    6    John_d    13    

59

Универсальные функции Программист Стажер 1С:Предприятие 8 1C:Бухгалтерия Бесплатно (free)

Пришлось помучиться с GUID-ами немного, решил поделиться опытом, мало ли кому пригодится.

12.02.2024    60795    atdonya    31    

69

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

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

30.11.2023    9077    ke.92@mail.ru    17    

68
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. WiseSnake 1521 09.12.08 06:58 Сейчас в теме
Что значит >>намного более удобно???
Только ради отладки? так этот плюс не очевиден! В 95 % отладчик не нужен. Какой смысл лезть в конфигуратор и там что то писать? Я думаю что этот метод только замедлит написание правил.
3. Ufimtsev 56 10.12.08 17:31 Сейчас в теме
(1) " ... В 95 % отладчик не нужен ..."?
- Хотя бы простая проверка синтаксических ошибок, может только ускорить написание правил.
2. AVARY 176 09.12.08 09:25 Сейчас в теме
Сама идея универсальной выгрузки-загрузки XML состоит в том, что обработка выгрузки-загрузки у всех одинаковая и она способна прочитать любые (корректные для конфигурации с которой производится работа) правила обмена и произвести выгрузку данных по этим правилам, а также загрузить любой (корректный для конфигурации с которой производится работа) файл обмена.
Если меняется обработка. то ее нужно высылать вдогонку с правилами и файлом обмена.

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

Для удобства отладки в промышленных масштабах в случае восьмерки, лучше дописать КД, чтобы она формировала текст модуля обработки, как она это делает для семерки.
Bukaska; teflon; +2 Ответить
4. Ufimtsev 56 10.12.08 17:40 Сейчас в теме
(2) " ...вызывается методом "Выполнить(Алгоритмы.<Ваш любимый алгоритм>)" в теле обработчика, поэтому никакие параметры в него передавать не нужно... "
- Мы можем написать 'Функции', которые возвращают 'Результат'.
5. WiseSnake 1521 10.12.08 19:26 Сейчас в теме
Полностью согласен с AVARY (2). Теряется универсальность. Так я, например, пользователю отправил один XML и он все сам разрулил. А так придеться еще ему долго объяснять что куда сохранить и откуда запустить...
(3) Отчасти согласен, но лучше прикрутить синтаксический контроль к "Конвертации данных" ;) я бы Вам огромнейшее спасибо сказал...))))
(4) А конструкцией Выполнить(Алгоритмы.<Ваш любимый алгоритм>) мы можем прочитать необходимые данные и если необходимо их изменить, а большего и не надо

К тому же обработка может вообще не открыться в случае если вы сначала писали для одной конфигурации правила, а затем стали писать для другой с другими метаданными... как быть иметь копии V8Exchan81.epf для каждой базы или как?

Есть конечно плюс в обработке, это возможность отладки! Но....Каждый выбирает путь сам ;)
6. Ufimtsev 56 10.12.08 21:27 Сейчас в теме
(2)(5) Универсальность... Замечательные слова. На практике перед пользователем стоит задача перенести данные из одной конкретной базы в другую конкретную базу, поэтому пишем правила именно для этой ситуации. Далеко не каждый пользователь, даже если он отслеживает последние версии конвертации (не встречал таких) может и захочет искать нужный файл V8Exchan81.epf, так что выслать его ему его все равно придется.
7. colmbo 10.07.09 11:16 Сейчас в теме
(2)"... Для удобства отладки в промышленных масштабах в случае восьмерки, лучше дописать КД, чтобы она формировала текст модуля обработки, как она это делает для семерки"

- уже написали разработчики, если не изменяет память, с 21 релиза конвертации
8. RustIG 1934 28.10.11 01:34 Сейчас в теме
Иногда эффективнее добавить свои функции, чем использовать Алгоритмы. Пример описывать не буду. Скажу только, что для отдельных проектов это может быть актуально.
9. user660878_to101kv 12.10.18 04:56 Сейчас в теме
Вижу публикация уже мертва, но все же оставлю это здесь, для пользования возможностями и гибкостью функций, достаточно в конфигурациях приемника (или источника) создать общий модуль с набором необходимых вам функций, и вызывать их уже из процедур конвертации
Для отправки сообщения требуется регистрация/авторизация