Быстрая отладка экранных форм документов и справочников

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

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

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

 Молочников Олег Spb. 2018.

Быстрая отладка и разработка экранных форм документов и справочников.

 

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

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

А теперь простой фокус, который позволит ускорить разработку:

Если у нас есть документ или справочник, для которого нужно отладить печатную форму, то

Из ветки метаданных конфигуратора “документы” или “справочники” копируем наш объект в ветку “обработки”. Не сохраняя конфигурации, сохраняем как внешнюю обработку.

Иначе просто создаем внешнюю обработку.

Открываем в конфигураторе,  добавляем служебные реквизиты, чтоб не было ошибок при отладке. Для документа это "Ссылка", "Номер", "Дата".  Для справочника "Код","Ссылка", "Родитель", "Владелец".


  Спокойно отлаживаем наши формы и вносим изменения в исходный объект.

 Если это новый документ, то вначале загружаем в конфигурацию обработку, потом копируем ее в ветку дерева "документы".

 Если это измененная версия старого, то есть два варианта: 1. Скопировать в документы с новым названием и удалить старый документ. 2. Вручную перенести изменения.

Удачи!

 P.S.: Надеюсь, вам понравится эта и другие мои статьи и разработки на //tf21.ru/profile/48714/.

 

Очень жду ваших комментариев  и пожеланий.

 Молочников Олег Spb. 2018.

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. the1 567 18.12.18 09:10 Сейчас в теме
Хорошо, да не очень-то)

Надо проще.

1. Создаем внешнюю обработку
2. Копируем в нее форму документа, справочника, чего угодно
3. Назначаем ее основной

Профит!
slepoi.s.kosoi; arsvlg; +2 Ответить
2. milkers 2407 18.12.18 09:25 Сейчас в теме
(1) Зачем что-то создавать, когда то же самое делается в два клика? Выделить документ,Ctl-c, Выделить дерево обработок,ctrl-V, сохранить как внешнюю. Самое главное сохраняется связь элементов формы с метаданными. В вашем случае она будет потеряна, на форме будет хаос.
8. AlX0id 18.12.18 11:11 Сейчас в теме
(2)
А как же создание реквизитов Ссылка, Номер, Дата, Проведен, ПометкаУдаления и тп?
А что более интересно - при чуть более сложном документе это все уже просто не работает.. Попробуйте сделать указанную процедуру с документом реализации из ЕРП:
Ошибка инициализации модуля: ВнешняяОбработка.РеализацияТоваровУслуг.МодульОбъекта
по причине:
{ВнешняяОбработка.РеализацияТоваровУслуг.МодульОбъекта(649,7)}: Переменная не определена (ОбменДанными)
Если <<?>>ОбменДанными.Загрузка Тогда
{ВнешняяОбработка.РеализацияТоваровУслуг.МодульОбъекта(1221,7)}: Переменная не определена (ОбменДанными)
Если <<?>>ОбменДанными.Загрузка Тогда
{ВнешняяОбработка.РеализацияТоваровУслуг.МодульОбъекта(661,2)}: Переменная не определена (ДополнительныеСвойства)
<<?>>ДополнительныеСвойства.Вставить("ЭтоНовый", ЭтоНовый());
{ВнешняяОбработка.РеализацияТоваровУслуг.МодульОбъекта(662,2)}: Переменная не определена (ДополнительныеСвойства)
<<?>>ДополнительныеСвойства.Вставить("РежимЗаписи", РежимЗаписи);

Очистить модуль объекта? Так его функции могут использоваться из формы..
Кроме того, в форме могут использоваться методы расширения типа Прочитать(), Записать()..
fancy; CyberCerber; the1; +3 Ответить
10. milkers 2407 18.12.18 11:40 Сейчас в теме
(8) В таком случае, можно закомментарить текст сбойных модулей. Для отладки этого должно хватить.
9. the1 567 18.12.18 11:20 Сейчас в теме
(2) Ты бы хоть проверил для проформы. Никакая связь не теряется, более того, не надо создавать стандартные реквизиты (Код, Наименование и т.д.). Плюс сохраняется связь с модулем объекта исходного документа/справочника (чуть ниже описаны ошибки из-за твоего метода)

И обратное копирование доработанной формы тоже происходит гораздо более безболезненно, чем описано в публикации - просто Ктрл+Ц/Ктрл+В
12. AlX0id 18.12.18 12:21 Сейчас в теме
(9)
Кстати, так тоже не очень работает для типовых..
Накидал свою обработку для открытия форм - типа, копируешь форму в обработку, а в ней своя форма со списком форм - выбираешь и она открывается.. А фигушки - выдает какие-то проблемы с идентификаторами метаданных..

В этом плане наверное лучше всего работает вариант с расширениями - делаешь расширение для формы, в ней отлаживаешь изменения, а потом переносишь изменения в основную форму.
13. the1 567 18.12.18 14:34 Сейчас в теме
(12) Есть такой нюанс. Это не ошибка, просто в БСП для внешних обработок нужно указывать въявную тип источника формы

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПараметрыРазмещения = ПодключаемыеКоманды.ПараметрыРазмещения();
	ПараметрыРазмещения.КоманднаяПанель = Элементы.КоманднаяПанельФормы;
	ПараметрыРазмещения.Источники = Новый ОписаниеТипов("СправочникСписок.ФизическиеЛица");      // Вот в этом месте указать тип объекта
	ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыРазмещения);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
КонецПроцедуры
Показать
14. AlX0id 18.12.18 15:56 Сейчас в теме
(13)
у меня оно вот тут начинает свое падение:
	
// Обработчик механизма "ВерсионированиеОбъектов"
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтаФорма);
15. the1 567 18.12.18 16:21 Сейчас в теме
(14) Тут еще проще, закомментируйте эту строку, да и все (если она не влияет на логику отладки)
16. AlX0id 18.12.18 16:41 Сейчас в теме
(15)
А смысл? хотелось замутить обработку, которая бы открыла любую перенесенную в не форму объекта.. А так - скопируй, проанализируй, исправь, удали.. Большая часть профита теряется.. Быстрее все же сделать расширение..
17. the1 567 18.12.18 17:15 Сейчас в теме
(16) Хз, если на скорую руку что-то проверить в работе формы - так очень удобно. Не сталкивался с сильными сложностями? Что за конфа-то хоть?
18. AlX0id 18.12.18 18:29 Сейчас в теме
(17)
Ерп в основном.
Для Ут и Унф в принципе тоже пробовал - больших проблем вроде нет. единственное что неудобно затягивать объекты в расширение, если есть необходимость.
Ну и изменения переносить придется не в один клик, разумеется.. Но это для любой схемы проблема, мне кажется.
11. milkers 2407 18.12.18 11:41 Сейчас в теме
(2) Обязательно проверю. Если ваш метод лучше, буду пользоваться им.
the1; ASMIR.ru; +2 Ответить
19. hobi 560 04.02.19 16:16 Сейчас в теме
(2) модуля менеджера нет во внешних обработках, а большинство документов содержит код в модуле менеджера. Поэтому только Ctrl-C / Ctrl-V не обойдешься.
3. lukashov_as 12 18.12.18 09:27 Сейчас в теме
а че так можно было?!:O Спасибо!
4. user705698_bursev 18.12.18 10:36 Сейчас в теме
Если это измененная версия старого, то есть два варианта: 1. Скопировать в документы с новым названием и удалить старый документ. 2. Вручную перенести изменения.

Я бы все же перенес вручную. т.к. при замене документа у него изменится идентификатор
CyberCerber; +1 Ответить
5. milkers 2407 18.12.18 10:39 Сейчас в теме
(4) Если это тестовая база и это документ, который создан тобой недавно, то без разницы.
6. user705698_bursev 18.12.18 10:44 Сейчас в теме
(5) Вот это "если" и имеет значительную разницу) Было на практике, что заменил так уже существующий документ, в тестовой базе разумеется. Все ссылки на него сразу тютюкнулись, потом пришлось восстанавливать.
CyberCerber; +1 Ответить
7. milkers 2407 18.12.18 10:51 Сейчас в теме
(6) Согласен, нужно быть осторожнее в этом моменте. Правда можно еще поиграться с режимами объединения конфигураций при переносе документа в боевую.
Оставьте свое сообщение

См. также

3 онлайн-курса по 1С-программированию: обмен данными, расчетные задачи и бухгалтерские задачи с 12 мая по 8 июля 2020 г. Промо

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

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

22.04.2020    4383    23    Infostart    2    

Не спеша, эффективно и правильно – путь разработки. Часть 3. Практика

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

29.06.2020    2896    0    WildHare    20    

Не спеша, эффективно и правильно – путь разработки. Часть 2. Теория

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

22.06.2020    5483    0    WildHare    22    

Не спеша, эффективно и правильно – путь разработки. Часть 1. Парадигма

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

Черновой вариант книги Никиты Зайцева, a.k.a.WildHare. Разработкой на платформе 1С автор занимается с 1996-го года, специализация — большие и по-хорошему страшные системы. Квалификация “Эксперт”, несколько успешных проектов класса “сверхтяжелая”. Успешные проекты ЦКТП. Четыре года работал в самой “1С”, из них два с половиной архитектором и ведущим разработчиком облачной Технологии 1cFresh. Ну — и так далее. Не хвастовства ради, а понимания для. Текст написан не фантазером-теоретиком, а экспертом, у которого за плечами почти двадцать три года инженерной практики на больших проектах.

15.06.2020    8708    0    WildHare    34    

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

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

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

10.12.2016    35278    0    unichkin    45    

JSON в запросах DaJet QL

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

Практические примеры работы с JSON непосредственно в языке запросов. Перенос курсов валют между УТ и БП. Требуется SQL Server 2016 и выше.

24.04.2020    3259    0    zhichkin    6    

Визионное программирование

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

Новый способ программирования и его практическая демонстрация.

22.04.2020    3965    0    mkalimulin    111    

Использование машинного обучения для решения инцидентов. Практическое применение

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

Продолжаю (и заканчиваю) тему с автоматическим решением инцидентов. Перейдем от теории к практике.

25.02.2020    3676    0    Repich    9    

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

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

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

15.10.2018    27671    0    tormozit    100    

Использование машинного обучения для решения инцидентов

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

История о том, как я с помощью машинного обучения сокращал затраты на техподдержку.

18.02.2020    6058    0    Repich    17    

Часовой на страже логов

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

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    5608    0    Scorpion4eg    6    

Приватный блокчейн и 1С популярно

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

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

02.09.2019    5500    0    mkalimulin    140    

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

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

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

20.09.2012    75185    0    tormozit    129    

Кодогенерация и метагенерация в 1С

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

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    8298    0    kirovsbis    28    

Интеграция сценарного тестирования в процесс разработки

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

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    8619    0    grumagargler    7    

Управляй качеством кода 1С с помощью SonarQube

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

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

07.07.2019    35206    0    olegtymko    230    

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

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

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

11.07.2007    46073    0    tormozit    38    

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

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

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

25.04.2019    15255    0    m-rv    2    

Как прикрутить ГУИД к регистру сведений

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

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

16.04.2019    18925    0    m-rv    17    

О времени и 1С

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

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

01.04.2019    30888    0    YPermitin    60    

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

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

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

10.09.2017    42065    0    tormozit    74    

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф")

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

Пример создания bridge (http api - tcp) для ККТ "Касса №1" ("К1-Ф"). Данная статья будет полезна интеграторам, программистам, тем кто работает (интегрирует, разрабатывает) различное ТО либо железки. Версия и релиз технологической платформы не имеет значения.

17.03.2019    6131    0    dmarenin    1    

Быстрее чем INSERT! BULK-операции и примеры использования

Производительность и оптимизация (HighLoad) Практика программирования Внешние источники данных Перенос данных из 1C8 в 1C8 Разработка Бесплатно (free)

Microsoft SQL Server поддерживает так называемые BULK-операции, используемые для быстрого изменения больших объемов данных в базе. В статье пойдет речь о практических примерах их использования. Все примеры сделаны в контексте платформы 1С (а как иначе).

09.03.2019    21459    0    YPermitin    40    

Развитие 1С программиста Промо

Практика программирования Личная эффективность Бесплатно (free)

Делюсь своим опытом и видением развития 1С программиста.

17.10.2018    18876    0    pashamak    62    

Как писать понятные коммиты

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

Как писать сообщения коммитов так, чтобы потом не было мучительно больно.

06.03.2019    11958    0    Scorpion4eg    35    

Подготовка ребёнка к ЕГЭ по информатике. Часть шестнадцатая

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

Поиск выигрышной стратегии, завершающая статья.

22.02.2019    5328    0    vasilev2015    0    

Как сделать запрос на изменение данных Промо

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

В статье приведены особенности внутренней архитектуры и примеры работы с расширением языка запросов 1С.

01.06.2018    28612    0    m-rv    21    

Подготовка ребёнка к ЕГЭ по информатике. Часть тринадцатая

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

Исправление ошибок в программе, часть вторая.

20.02.2019    5364    0    vasilev2015    3    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

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

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

05.12.2017    26661    0    itriot11    34    

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

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

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

27.01.2016    73089    0    Serginio    108    

Подготовка ребёнка к ЕГЭ по информатике. Часть восьмая

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

Шифрование и дешифрование информации. Закон Фано

05.02.2019    5328    0    vasilev2015    1    

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С Промо

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

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    32075    0    ids79    40    

Расширяем свой багаж

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

Алгоритм решения возможной нетиповой задачи на собеседовании.

29.01.2019    6069    0    scientes    15    

Подготовка ребёнка* к ЕГЭ по информатике. Часть пятая

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

Маршрутизация. Протокол IPv4 для ЕГЭ.

27.01.2019    5563    0    vasilev2015    5    

Подготовка ребёнка* к ЕГЭ по информатике. Часть четвертая

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

Решение систем логических уравнений повышенного уровня сложности.

25.01.2019    5783    0    vasilev2015    0    

Подготовка ребенка* к ЕГЭ по информатике. Часть третья

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

Алгоритмы рекурсии, логические задачи. Подготовка к ЕГЭ.

22.01.2019    7220    0    vasilev2015    0    

Разработка и сценарное тестирование с Vanessa-ADD. Установка инструментов. Запись действий пользователя и выполнение сценариев

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

Вторая часть цикла публикаций, посвященных Vanessa-ADD и автоматизации тестирования.

21.01.2019    30085    0    Vladimir Litvinenko    96    

Подготовка ребенка* к ЕГЭ по информатике. Часть вторая

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

Примеры на Паскале. Если сам родитель* - поддержи ! Если сам водила - посигналь !

19.01.2019    5607    0    vasilev2015    0    

Подготовка к ЕГЭ сына - школьника (по информатике)

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

Примеры на Паскале. Если сам отец - поддержи ! Если сам водила - посигналь !

17.01.2019    6309    0    vasilev2015    50    

1С + asterisk (автоматический обзвон) часть 1

WEB Практика программирования Телефония, SIP Россия Бесплатно (free)

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

29.11.2018    11192    0    dmarenin    9