🔥 Горящие вакансии
Все статьи

Еще 7 хитростей 1С

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

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

Кнопка перехода к движениям документа из формы списка

Чтобы на форму списка добавить кнопку перехода к движениям документа это можно сделать без единой строки кода — добавляем подменю «Перейти» и перетаскиваем на него глобальную команду перехода к движениям нужного регистра:

Еще 7 хитростей 1С

Как открыть обработку на обычных формах в режиме управляемого приложения

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

Чтобы иметь возможность запустить её, нужно сначала настроить конфигурацию: Сервис — Параметры — ставим галку «Управляемое приложение и обычное приложение». Затем ставим галку в свойствах корня конфигурации «Использовать обычные формы в управляемом приложении»:

Еще 7 хитростей 1С

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

Также скорее всего потребуется в свойствах корня конфигурации установить Режим использования модальности на «Использовать с предупреждением», т.к. очень много обработок на обычных формах работают именно в режиме модальности.

Как при нажатии F5 (запуск отладки) открывать по умолчанию толстый клиент

В Конфигураторе в меню «Сервис» выбираем пункт «Параметры» и в открывшейся форме на закладке Запуск 1С: Предприятия выбираем вариант «Толстый клиент (управляемое приложение)» или другой удобный вариант запуска:

Еще 7 хитростей 1С

Полезные клавиши и их сочетания

CTRL+T — находясь в модуле какого-то объекта найти его в дереве метаданных

CTRL+Shift+T – открыть окно шаблонов текста

F12 – открыть выделенную процедуру/функцию

CTRL+ – (минус) – вернуться на предыдущий шаг (когда мы проходимся отладчиком переходя всё глубже и глубже в процедуры, эта команда позволяет возвращаться назад)

CTRL+Alt+M – открыть строку поиска в дереве метаданных конфигурации

CTRL+Enter – открыть окно свойств объекта

CTRL+Alt+I – открыть строку поиска в окне свойств

CTRL+F3 – находясь в коде эта команда помещает текущее слово в строку поиска

Почему письма, формируемые из 1С отображаются красиво в Mail.ru почте, но в Яндекс и Google почте нет

Дело в том, что Яндекс и Google почтовые клиенты вырезают все объявленные пользователем CSS стили ввиду возможности размещения в них вредоносного кода.

При обычной вёрстке объявляется блок CSS в котором описываются классы и стили, затем в дальнейшем коде HTML мы используем эти классы.

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

Пример обычной верстки:

<style type="text/css">
   h1 {font-size:24px}
   em {color:red}
</style>

Пример inline верстки:

<p style=""color: #606163; font-weight: bold; font-size: 150%;"">ТЕКСТ</p>

Также желательно объявлять в письме корректные начало и конец HTML:

<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">
<html http://www.w3.org/1999/xhtml"">
<head>
            <meta http-equiv=""Content-Type"" content=""text/html; charset=UTF-8"" />
            <title>Заголовок письма</title>
            <meta name=""viewport"" content=""width=device-width, initial-scale=1.0""/>
</head>
<body>
            Вашкод
</body>
</html>

Как облегчить обновление нетиповой конфигурации с управляемыми формами

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	СоздатьПоляНаСервере();
//… (остальной код процедуры)
КонецПроцедуры

А в самой процедуре добавляем новые поля:

&НаСервере
Процедура СоздатьПоляНаСервере()
 // Изменим оформление типовой группы чтобы ничего не плыло на форме	
 Элементы.ГруппаШапка.Группировка = ГруппировкаПодчиненныхЭлементовФормы.ГоризонтальнаяВсегда;
	 Элементы.ГруппаШапкаЛевая.Объединенная = Истина;
	 Элементы.ГруппаШапкаПравая.Объединенная = Истина;
// Добавляем поле "Способ доставки" на форму
	элСпособДоставки = Элементы.Добавить("СпособДоставки", Тип("ПолеФормы"), Элементы.ГруппаШапкаЛевая);
	элСпособДоставки.Вид = ВидПоляФормы.ПолеВвода;
	элСпособДоставки.ПутьКДанным = "Объект.СпособДоставки";
// Добавляем колонку "Срок поставки" в существующую таблицу "Товары" перед колонкой «Процент скидки»
	КолонкаСрокПоставки = Элементы.Добавить("ТоварыСрокПоставки", Тип("ПолеФормы"), Элементы.Товары);
	КолонкаСрокПоставки.Вид = ВидПоляФормы.ПолеВвода;
	КолонкаСрокПоставки.ПутьКДанным = "Объект.Товары.СрокПоставки";
	КолонкаСрокПоставки.Заголовок = "Срок поставки";
	Элементы.Переместить(КолонкаСрокПоставки, Элементы.Товары, Элементы.ТоварыПроцентСкидки);
 
 // Добавляем группу для новой таблицы "Покупатели"
	 ГруппаШапкаПокупатели = Элементы.Добавить("ГруппаШапкаПокупатели", Тип("ГруппаФормы"), Элементы.ГруппаШапка);
	 ГруппаШапкаПокупатели.Заголовок = "Покупатели";
	 ГруппаШапкаПокупатели.Вид = ВидГруппыФормы.ОбычнаяГруппа;
	 ГруппаШапкаПокупатели.ОтображатьЗаголовок = Истина;
	 ГруппаШапкаПокупатели.Объединенная = Истина;
	 
 // Добавляем новую таблицу "Покупатели"
	 ТабПокупатели = Элементы.Добавить("Покупатели", Тип("ТаблицаФормы"), ГруппаШапкаПокупатели);
	 ТабПокупатели.ПутьКДанным = "Объект.Покупатели";
	 
 // Добавляем в новую таблицу "Покупатели" колонку «Номенклатура» и назначаем ей обработчики событий
	 КолонкаНоменклатура = Элементы.Добавить("ПокупателиНоменклатура", Тип("ПолеФормы"), ТабПокупатели);
	 КолонкаНоменклатура.Вид = ВидПоляФормы.ПолеВвода;
	 КолонкаНоменклатура.ПутьКДанным = "Объект.Покупатели.Номенклатура";
	 КолонкаНоменклатура.УстановитьДействие("НачалоВыбора", "ПокупателиНоменклатураНачалоВыбора");
	 КолонкаНоменклатура.УстановитьДействие("ОбработкаВыбора", "ПокупателиНоменклатураОбработкаВыбора");
	 
// Добавляем в таблицу "Покупатели" колонку «Количество»
	 КолонкаКоличество = Элементы.Добавить("ПокупателиКоличество", Тип("ПолеФормы"), ТабПокупатели);
	 КолонкаКоличество.Вид = ВидПоляФормы.ПолеВвода;
	 КолонкаКоличество.Заголовок = "Кол-во";
	 КолонкаКоличество.Ширина = 5;
	 КолонкаКоличество.ПутьКДанным = "Объект.Покупатели.Количество";
	 
// Добавляем в таблицу "Покупатели" колонку «Контрагент»
	 КолонкаКонтрагент = Элементы.Добавить("ПокупателиКонтрагент", Тип("ПолеФормы"), ТабПокупатели);
	 КолонкаКонтрагент.Вид = ВидПоляФормы.ПолеВвода;
	 КолонкаКонтрагент.ПутьКДанным = "Объект.Покупатели.Контрагент";
КонецПроцедуры

Также полезным будет изменение запроса динамического списка программно:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ИзменитьЗапросСписка();
//… (остальной код процедуры)
КонецПроцедуры
&НаСервере
Процедура ИзменитьЗапросСписка()
	Список.ТекстЗапроса = "ВЫБРАТЬ …";
КонецПроцедуры

Как понять типовая конфигурация или нет и что именно в ней было изменено?

Начнём с того что, во-первых, нужно проверить включена ли возможность изменения конфигурации – переходим в меню «Конфигурация» — «Поддержка» — «Настройка поддержки» и смотрим активна ли кнопка «Включить возможность изменения»:

Еще 7 хитростей 1С

Если кнопка активна, вероятнее всего это полностью типовая конфигурация.

Теперь проверим были ли изменены какие-либо объекты по сравнению с типовой конфигурацией. Для этого в 1С есть чудесное средство как сравнение конфигурации с конфигурацией поставщика.

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

Еще 7 хитростей 1С

После нажатия «ОК» и немного подождав, результаты сравнения выйдут на экран:

Еще 7 хитростей 1С

Затем если нажать правой кнопкой по корню конфигурации и выбрать «Отчет о сравнении объектов…», можно сформировать подробный отчёт. Проставим все галки, выберем вариант «Подробно» и «Показывать различия графически», затем нажмём «Ок»:

Еще 7 хитростей 1С

После чего увидим сформированный табличный документ со всеми изменениями конфигурации:

Еще 7 хитростей 1С

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

Оставить коментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Отправить резюме

    Я согласен на обработку персональных данных в соответствии
    со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

    Отправить резюме

      Я согласен на обработку персональных данных в соответствии
      со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

      Pекомендовать друга

        Отправьте контактные данные вашего друга и предупредите его, что мы с ним свяжемся. Когда друг успешно отработает 3 месяца, вы получите 20 000 ₽.


        Выбрать вакансию
        • Bitrix-разработчик
        • Программист 1С
        • Консультант-аналитик 1С
        • Проекты для команды специалистов 1С
        • Проекты для специалистов 1С
        • Стажёр-программист 1С
        • Ведущий консультант Microsoft Dynamics 365 Sales
        • Руководитель проектов Microsoft Dynamics 365 FO и AX 2012
        • Консультант Microsoft Dynamics AX на зарубежные проекты
        • Ведущий консультант Microsoft Dynamics 365 Finance and Operation
        • Ведущий разработчик Microsoft Dynamics AX на зарубежные проекты
        Я согласен на обработку персональных данных в соответствии
        со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

        Pекомендовать друга

          Отправьте контактные данные вашего друга и предупредите его, что мы с ним свяжемся. Когда друг успешно отработает 3 месяца, вы получите 20 000 ₽.


          Выбрать вакансию
          • Bitrix-разработчик
          • Программист 1С
          • Консультант-аналитик 1С
          • Проекты для команды специалистов 1С
          • Проекты для специалистов 1С
          • Стажёр-программист 1С
          • Ведущий консультант Microsoft Dynamics 365 Sales
          • Руководитель проектов Microsoft Dynamics 365 FO и AX 2012
          • Консультант Microsoft Dynamics AX на зарубежные проекты
          • Ведущий консультант Microsoft Dynamics 365 Finance and Operation
          • Ведущий разработчик Microsoft Dynamics AX на зарубежные проекты
          Я согласен на обработку персональных данных в соответствии
          со ст. 9 ФЗ № 152-ФЗ «О персональных данных»

          Спасибо!

          Мы получили ваше резюме. Менеджер свяжется с вами в течение трех дней

          Горящие вакансии