MyTetra Share
Делитесь знаниями!
Повышение удобства разработки в среде 1С:Предприятие 8
Время создания: 08.09.2016 18:03
Автор: Артур Аюханов aka artbear
Текстовые метки: 1c.dev-process
Раздел: Программирование - 1с - develop process
Запись: xintrea/mytetra_anatolean/raw/master/base/1473347035i0s9e7kdsz/text.html на bitbucket.org

Статьи, публикации, блоги, обсуждения, линки, которые помогают в разработке для 1С 8

Разработка в среде 1С:Предприятие 8 состоит из нескольких частей (весьма упрощенная градация):

1. Разработка архитектуры решения в режиме Конфигуратор  - метаданные, связи и т.п.

2. Непосредственное кодирование в режиме Конфигуратор или Предприятие

3. Внесение исправлений в данные в режиме Предприятие

4. Тестирование и проверка

Я постараюсь в данной публикации собрать ссылки и описания на публикации и разработки, которыми сам пользуюсь в реальной работе и которые сам считаю очень удобными и полезными.

 


1. Разработка архитектуры решения в режиме Конфигуратор - метаданные, связи и т.п. 

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

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

Часть этих методик я описал в части 2, см.чуть ниже.

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

 


2. Непосредственное кодирование в режиме Конфигуратор или Предприятие

 

  1. Главный и мощнейшний помощник для работы в Конфигураторе - Снегопат
    Много писать о нем не буду. Это проект от автора проектов OpenConf + Telepat Александра Орефкова (orefkov).
    Фактически Снегопат также очень сильно "модернизирует" Конфигуратор, добавляя объектную модель и давая возможность добавлять сторонние скрипты для расширения возможностей Конфигуратора.
    Рекомендую начать знакомство с ним со страницы Возможности , где отлично описаны некоторые возможности Снегопата. На странице есть даже несколько простых видео-примеров, которые помогут лучше понять работу в Конфигураторе.

    Есть маленькое НО - проект стал платным (в районе 4 тыс.руб), но я считаю, что он полностью оправдывает свою цену. 
    Но у Снегопата есть вполне рабочая Демо-версия  для бесплатного ознакомления - ее ограничения: иногда недоступны подсказки + поддерживаются только 3 релиза (правда, ИМХО самые основные и более стабильные!)

    Все остальные примочки все-таки не так  полезны и расширяемы, как Снегопат!
  2. Маленькая хитрость при кодировании  поможет частично решить проблемы с контекстной подсказкой, той самой, что идет после нажатия точки.
    .
  3. Шаблоны для Конфигуратора от ndm  или от GROOVY  также очень хорошо помогают в разработке, т.к. упрощают ввод многих конструкций, как простых типа Если/Тогда/КонецЕсли, так и намного более сложных алгоритмов и целых блоков кода.
    .
  4. Отличный проект v8.1 + autohotkey = mini OpenConf  также помогает в навигации по коду.Рекомендую скрипт "Вызов списка процедур с фильтрацией наименований методов при наборе текста", мы его развиваем еще со времен 77. ИМХО Все, кто юзал Телепат и Svcsvc, без этого фильтра уже не могут обойтись. Также удобны переходы в стиле Опенконф - переход в процедуру (ctrl+enter), возврат на предыдущую позицию (как в OpenConf? - alt+{left})
    Внедрение проекта весьма несложно.
    .
  5. Довольно часто приходится создавать печатные формы к различным объектам конфигураций. Для этого очень удобно использовать специальную технику создания внешних печатных форм в типовых конфигурациях.
    Очень удобное описание данной методики есть у автора poppy в целом цикле статей
    Внешние печатные формы в восьмерке
    Внешние печатные формы в восьмерке II  
    и готовая обработка для тестирования собственных печатных форм без постоянного добавления обработки в справочник "Внешних отчетов/обработок"
    Обработка для тестирования внешних печатных форм в восьмерке

    Также довольно интересную методику с минимальной переделкой типового кода  для небольшого исправления типовых печатных форм выложил yku.
    А alexk-is на базе этой обработки и типовых печатных форм сделал свои шаблоны для создания внешних печатных форм
    .
  6. Также в своих типовых конфах 1С сделала довольно удобную работу с табличными частями объектов, использую внешние обработки заполнения табличных частей.
    У того же автора poppy существует еще статья 
    Заполнение табличных частей документов в восьмерке (внешние обработки)
    и готовая обработка Обработка для тестирования внешних обработок изменения табличных частей
    .
  7. Очень часто при написании кода, еще со времен 77, лично я использую так называемые TODO-списки. 
    В более удобных средах разработки давным-давно есть TODO-списки, формируемые этой средой автоматически, что позволяет легко ими управлять, искать и т.д.
    Суть TODO - в комментарий добавляется ключевое слово TODO, после чего следует сам комментарий. В подобный комментарий можно писать пометки для себя или других специалистов - например, о каких требованиях, ограничениях, не до конца сделанной работе или отложенной на какое-то время проблеме.
    В нужных случаях можно просто выполнить глобальный поиск по сочетанию "TODO" и легко найти необходимые комментарии.
    Очень часто я использую следущие варианты дополнительно к простому TODO : 
    TODO_МЕТАДАННОЕ - в комменте описываю изменения, который я вносил в метаданные типовой конфы, например, движения по доп.регистрам 
    TODO_ФОРМА 
    TODO_ИНТЕРФЕЙС 
    TODO_ПРАВА 
    и т.д. 
    это очень удобно при анализе изменений в типовых конфах.
    Или //TODO_УДАЛИТЬ код после разработки 
    .
  8. Удобный конструктор внешних отчетов для СКД  очень сильно помогает в быстром создании собственных отчетов на базе настройки СКД.
    Сначала в режиме 1С с помощью Универсальной консоли  создается нужная настройка СКД, а далее можно сгенерить уникальный (это важно для настроек) отчет на базе своей настройки и выбранного шаблона для СКД (можно юзать любой шаблон, их сделано уже немало).
    .
    продолжение следует...

3. Внесение исправлений непосредственно в данные в режиме Предприятие

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

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

  1.   Подсистема "Инструменты разработчика" v1.93

Автор tormozit

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

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

2. У ниверсальная консоль отчетов

Автор Evg-Lylyk

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

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

В разработке данной обработки я участвую :) - так что старался, чтобы было удобно.

Универсальная консоль отчетов  и Подсистема "ИР"  могут решать задачи по внесению изменений в данные как на базе данных запросов, так и в произвольной форме

Также можно использовать различные консоли кода

продолжение следует...


4. Тестирование и исправление 

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

ИМХО наиболее удобно все-таки автоматическое тестирование.

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

Для юнит-тестирования я, в основном, применяю общий модуль утверждений типа ( артТесты.ПроверитьРавенство(ЗначениеИзКода, НужноеТестовоеЗначение, СообщениеОбОшибкеДляУдобстваИзученияОшибки =- "")  ) и т.п.

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

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования