Всем привет! Меня зовут Даниил, я разработчик со стажем 15+. Начинал во франче. Последние годы специализируюсь на нетиповых самописных конфигурациях.
К спецу по платформе готовился в спокойном режиме совмещая с работой примерно 2 года. Основную базу знаний получил на стримах Ильи Леонтьева. Последние три месяца перед сдачей решал задачи в интенсивном темпе сверяясь с купленными решениями Михаила Проходцева, которые и помогли в итоге сдать экзамен.
Первоначальная настройка конфигурации очень облегчает последующий многочасовой кодинг.
Рассмотрим как обязательные моменты, так и лайфхаки.
Дисклеймер: несмотря на кажущийся большой объем информации в публикации, данные настройки выполнялись мной перед экзаменом за 5 минут. Стоит только руку во время подготовки набить.
Итак, получили билет, зашли в первый раз в конфигуратор.
1. Настройка приложения.
Открываем Сервис - Параметры.
1.1. Вкладка "Общие". Устанавливаем переключатель на "Управляемое приложение и обычное приложение", это необходимо для работы консоли запросов.
1.2. Вкладка "Тексты". Здесь меняем шрифт на Verdana 11 (признан самым безопасным шрифтом) и устанавливаем автозамену в режим "Включить с подсказкой".
1.3. Вкладка "Модули - Редактирование". Для текущего и выбранного идентификатора устанавливаем светло-серый цвет (по желанию, у Ильи Леонтьева, например, желтый). Это очень помогает при контроле написания повторяющегося текста и подсвечивает все вхождения выделенного идентификатора/синтаксической конструкции. Также меняем шрифт на Verdana 11 и устанавливаем автозамену в режим "Включить с подсказкой".
На этом настройка приложения закончена. Переходим к свойствам конфигурации.
2. Свойства конфигурации.
2.1. Включаем использование обычных форм (для консоли запросов).
2.2. Включаем управляемые блокировки.
3. Создание подсистем копипастом названий картинок.
3.1. Шаблон действий по созданию подсистемы (один и тот же для всех подсистем).
1. Добавляем подсистему в дереве конфигурации.
2. Выбираем картинку.
3. Копируем название картинки и ОК.
4. Вставляем название картинки в поле Имя и нажимаем Tab или Enter. Бинго! У нас готовая подсистема с картинкой без того, чтобы набирать её имя на клавиатуре.
3.2. Добавление объектов в подсистемы.
НЕ НУЖНО распределять все имеющиеся объекты по подсистемам. Достаточно добавить консоль запросов в подсистему Сервис. Нужные объекты добавлять в подсистемы конце решения подзадачи.
С подсистемами разобрались.
4. Создание групп команд копипастом из дерева конфигурации.
4.1. Шаблон создания групп команд с коротким именем (Справочник, Документы и т.д.)
1. Выделяем в дереве конфигурации Справочники, нажимаем Ctrl-C.
2. Создаем новую группу команд.
3. Вставляем название в поле имя через Ctrl-V
4. Нажимаем Tab, чтобы заполнился синоним. Готово!
4.2. Шаблон создания групп команд с длинным именем (Планы видов характеристик и т.д.)
1. Выделяем в дереве конфигурации, например, Планы видов характеристик и Ctrl-C.
2. Создаем новую группу команд.
3. В поле Имя набираем сокращение (например, ПВХ).
4. Нажимаем Tab, чтобы заполнился синоним, вставляем скопированное имя через Ctrl-V. Готово!
Группы команд создали.
5. Упорядочивание подсистем.
Есть такой баг (не всегда бывает), если войти в командный интерфейс конфигурации сразу после создания подсистем, то список подсистем может быть неполный или кривой.
Поэтому на всякий случай делаем это попозже. Теперь можно) Если создавали подсистемы последовательно по списку картинок, то упорядочивание делается в 4 клика. Оперативный учет два клика вверх, Бизнес-процессы два клика вниз. Это чтобы не задумываться ни разу. Подсистемы упорядочены!
6. Настройка интерфейса клиентского приложения
Здесь как кому нравится. Я делал вверху и подсистемы, и открытые окна. Так легче, например, просматривать списки проводок по бух.учету.
7. Подготовка консоли запросов.
Убираем модальные окна из кода. Явных модальных окна всего три, это Предупреждение (попадается 3 раза), ОткрытьЗначение (1 раз) и Вопрос (1 раз).
1. Заменяем "Предупреждение(" на "ПоказатьПредупреждение(,". Именно так, текст предупреждения будет после запятой.
Если ПустаяСтрока(ОбъектЗапрос.Текст) Тогда
ПоказатьПредупреждение(,"Не заполнен текст запроса!", 30);
Возврат;
КонецЕсли;
Для быстрой замены можно выделить текст "Предупреждение(", нажать Ctrl-H, в поле замены ввести "ПоказатьПредупреждение(," и нажать Заменить.
2. Заменяем "ОткрытьЗначение(" на "ПоказатьЗначение(,". Тоже содержимое ячейки теперь будет после запятой. Это чтобы можно было по двойному клику посмотреть значение ячейки в окне результата запроса. Мне правда ни разу не понадобилось, но вдруг.
Если ТипЗнч(СодержимоеЯчейки) = Тип("ТаблицаЗначений") Тогда
ФормаВложеннойТаблицы = Обработка.ПолучитьФорму("ФормаВложеннойТаблицы", ЭтаФорма);
ФормаВложеннойТаблицы.ВложеннаяТаблица = СодержимоеЯчейки;
ФормаВложеннойТаблицы.ЭлементыФормы.ВложеннаяТаблица.СоздатьКолонки();
ФормаВложеннойТаблицы.Открыть();
Иначе
ПоказатьЗначение(, СодержимоеЯчейки); //ПОМЕНЯЛИ ЗДЕСЬ
КонецЕсли;
3. Код где "Вопрос" комментируем. Все равно сохранять файл с запросами на рабочем столе запрещено.
//Ответ = Вопрос("Сохранить текущие запросы?", РежимДиалогаВопрос.ДаНетОтмена);
//Если Ответ = КодВозвратаДиалога.Отмена Тогда
// Возврат Ложь;
//ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
Возврат Истина;
//КонецЕсли;
7. И вишенка на торте, ставим у регистра накопления "Остатки номенклатуры" флаг "Разрешить разделение итогов". Будете вы этот регистр использовать, не будете, неважно, главное, что можно об этом больше не помнить.
Конфигурация готова к работе! Спасибо за внимание и успешных сдач!
P.S. По просьбам трудящихся выкладываю скрин получившегося пользовательского интерфейса после выполнения билета №1 из сборника актуальных билетов.
.
Вступайте в нашу телеграмм-группу Инфостарт