1С:Предприятие 8
781 subscribers
47 photos
160 videos
51 links
🔥 Разработка в 1С — просто и понятно! 🔥

Полезные фишки и лайфхаки для разработчиков
Объяснение сложных тем простыми словами
Готовые решения, сниппеты и примеры кода
Разбор ошибок и способов их устранения
Новости и тренды в мире 1С
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Курс программирования 1С 8.3: обучение с нуля

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


https://www.youtube.com/playlist?list=PL6Nx1KDcurkBdxssD1k56SDnwuTuX2bBr

👉@DevLab1C
👍2
Конференция для 1С специалистов "&На1С" в Краснодаре. Запись секции "Разработка"

00:00 Начало

00:04:51 Открытие конференции

00:17:44 Пётр Грибанов
"Обзор новинок платформы"

00:52:13 Антон Дорошкевич
"1С на Linux и Postgres" как это сейчас работает и что не работает?"

01:38:18 Перерыв на кофе брейк

02:03:14 Николай Толстошеев
"Расширения в жизни отдела разработки in-house и в команде проекта"

02:45:02 Валентина Петрова
"Как методология влияет на разработку в ЗУП"

03:17:00 Дмитрий Шевалдин
"EDT: опыт консерватора"

03:51:40 Перерыв на обед

05:32:13 Ольга Бурангулова
"Как мы подсистему сертификации в ERP внедряли"

05:50:45 Эльдар Мингалиев
"Использование платформы 1С для разработки сайтов"

06:29:57 Перерыв на кофе брейк

07:22:00 Павел Мельников
"Внутренние механизмы платформы, разбираем работу платформы на уровне СУБД"

07:48:56 Владимир Сатаров
"Как спроектировать структуру регистра сведений?"

https://www.youtube.com/watch?v=-jQtpOoz5oU

👉@DevLab1C
Определить это Linux или Windows

СистемнаяИнформация = Новый СистемнаяИнформация;
ЭтоLinux = СистемнаяИнформация.ТипПлатформы = ТипПлатформы.Linux_x86 ИЛИ СистемнаяИнформация.ТипПлатформы.Linux_x86_64;


👉@DevLab1C
👍3
Media is too big
VIEW IN TELEGRAM
Индикатор прогресса в 1С (Прогресс-бар)

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

источник

👉@DevLab1C
👍3
Фильтрация таблицы значений


С помощью построителя запросов

// ТаблицаОтборов - Таблица значений с колонками
// ИмяОтбора - Строка
// ВидСравнения - ВидСравнения
// Значение - Any
// Возвращает отфильтрованную таблицу значений

Функция ОтфильтроватьТаблицуЗначений(ТаблицаЗначенийДляФильтрации, ТаблицаОтборов)

Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаЗначенийДляФильтрации);

Для Каждого СтрокаКоллекции Из ТаблицаОтборов Цикл
Отбор = Построитель.Отбор.Добавить(СтрокаКоллекции.ИмяОтбора);
Отбор.ВидСравнения = СтрокаКоллекции.ВидСравнения;
Отбор.Использование = Истина;
Отбор.Значение = СтрокаКоллекции.Значение;
КонецЦикла;

Возврат Построитель.Результат.Выгрузить();

КонецФункции


👉@DevLab1C
👍3
В Конфигураторе, между редактором формы и текстом модуля, можно быстро переключаться без помощи мыши

Для управляемых форм Alt+1 (форма) и Alt+2 (модуль).
Для обычных форм Ctrl+PageDown и Ctrl+PageUp вперед и назад по вкладкам.

👉@DevLab1C
👍1
Восстановить положение окна программно

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
ЭтаФорма.ИмяСохраненияПоложенияОкна = Новый УникальныйИдентификатор();
КонецПроцедуры


👉@DevLab1C
Media is too big
VIEW IN TELEGRAM
Настройка работы 1С Предприятия 8.3 с использованием PostgreSQL в среде Linux

👉@DevLab1C
👍2
Быстрый поиск по фразе в коде (CTRL+F3)

Если в коде нужно быстро найти какую-то фразу, можно выделить её и нажать CTRL + F3, тогда она автоматически подставится в поле поиска сверху и нажатием F3 можно будет переходить по всем местам этой фразы в коде.

Таким образом мы экономим время на копирование фразы (кстати, фразу можно быстро выделить, зажав CTRL и щелкнув внутри фразы), а также на перемещение мышью и вставку этого текста в поле поиска.

👉@DevLab1C
👍1
Как разрешить выбирать в поле на форме номенклатуру только типа «Комплект» (или другое условие)

Рассмотрим на примере документа «Изменение состава комплекта» из сертификационного экзамена 1С: Специалист по платформе. У него есть реквизит «Комплект» с типом «Номенклатура». Нужно сделать так чтобы в этом поле пользователь мог выбирать номенклатуру только с видом номенклатуры «Комплект».

Для этого нужно у этого реквизита в свойствах указать Параметры выбора Отбор.ВидНоменклатуры(Комплект):

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


👉@DevLab1C
Как быстро поменять название процедуры, назначенной на событие

Бывает так что имя процедуры слишком длинное или оно устарело. А чтобы его поменять – нужно изменить и название процедуры в коде и исправить её название в обработчике события.

Для быстрого изменения же следует делать это в поле с именем процедуры в событии. При изменении 1С предложит поменять имя процедуры:

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

👉@DevLab1C
👍1
Глюки платформы. Почему нельзя добавить команду «Перейти» к нужному регистру

Если на форме документа нельзя добавить команду "Перейти" - "Остатки номенклатуры" или любого другого регистра, то нужно открыть свойства нужного регистра и снять-поставить галку "Использовать стандартные команды". Это глюк платформы.

👉@DevLab1C
Отладка под определенным пользователем

Чтобы запускать 1С в режиме отладки из конфигуратора от имени другого пользователя, можно задать нужного пользователя в параметрах конфигуратора (меню Сервис – Параметры) на вкладке "Запуск 1С: Предприятия":

👉@DevLab1C
👍2
Архивирование файлов средствами 1C (ZIP)

Код 1C v 8.х

ИмяZIPФайла = ПолучитьИмяВременногоФайла(".zip");

ФайлАрхива = Новый ЗаписьZipФайла(ИмяZIPФайла, , ,
МетодСжатияZIP.Сжатие,
УровеньСжатияZIP.Оптимальный);
ФайлАрхива.Добавить(ИмяВременногоФайла,
РежимСохраненияПутейZIP.СохранятьОтносительныеПути,
РежимОбработкиПодкаталоговZIP.ОбрабатыватьРекурсивно);
ФайлАрхива.Записать();



👉@DevLab1C
Как быстро сохранить огромный отчет в EXCEL?

Иногда бывает так, что отчет очень большой (> 65535 строк), а работать с этим всем нужно через EXCEL - 1С такой отчет в xls не сохранит. Да и отчеты с меньшим количеством строк сохраняются в xls-файл очень долго.

Приведенная здесь небольшая хитрость поможет Вам сохранять для EXCEL таблицы с бОльшим количество строк и делать это быстрее.

Выведите отчет, идем в меню Файл-Сохранить копию и выбираем тип "Документ HTML4". Файл сохранится быстрее, чем в xls, и его корректно откроет EXCEL.
Потом можно в EXCEL пересохранить в xls или xlsx.

👉@DevLab1C
Media is too big
VIEW IN TELEGRAM
Универсальные коллекции значений 1С
Ильяс Низамутдинов

Урок №1. Массивы
Урок №2. Структура
Урок №3. Соответствие
Урок №4. Список значений
Урок №5. Таблица значений
Урок №6. Дерево значений
Урок №7.Бинарный поиск по таблице значений 1С

Все видео на youtube

👉@DevLab1C
👍2🔥1
Media is too big
VIEW IN TELEGRAM
Ускорение и оптимизация 1С. Базовый курс (2022)

5 примеров ошибок в коде, которые приводят к замедлению работы 1С
Почему документ с одной строкой проводится 7,5 секунд
Как исправить ошибку при запуске после внедрения подсистемы Оценка производительности из БСП
Как ускорить процесс реструктуризации и обновления 1С в разы
3 принципа работы блокировок, о которых стоит знать каждому программисту 1С
Как «поймать» медленные запросы

Все видео на youtube

👉@DevLab1C
👍1🔥1
Получить каталог Мои документы в 1С 8.3


&НаСервере
Функция ПолучитьКаталогМоиДокументы()

МояОбработка = ЭтотОбъект.Метаданные().ПолноеИмя();
КаталогMyDocuments = ХранилищеНастроекДанныхФорм.Загрузить(МояОбработка, "КаталогСохранения");

Если ПустаяСтрока(КаталогMyDocuments) Тогда // не заполнен
WScript = Новый COMОбъект("WScript.Shell");
КаталогMyDocuments = WScript.SpecialFolders().Item("MyDocuments");
WScript = Неопределено;
КонецЕсли;

Возврат КаталогMyDocuments;

КонецФункции


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

👉@DevLab1C
👍1
Создать, удалить пользователя, вывести список пользователей в 1С 8.3


Процедура СоздатьПользователя()

ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = "odin1Crus";
ПользовательИБ.Пароль = "4dSwer4";
ПользовательИБ.ПоказыватьВСпискеВыбора = Истина;
ПользовательИБ.Роли.Добавить(Метаданные.Роли.АдминистраторСистемы);
ПользовательИБ.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Основной;
ПользовательИБ.Записать();

КонецПроцедуры


Процедура УдалитьПользователя()

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("odin1Crus");
ПользовательИБ.Удалить();

//ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
//ПользовательИБ.Удалить();

КонецПроцедуры


Процедура ВывестиСписокПользователей()

СписокПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ПользовательИБ Из СписокПользователей Цикл
Сообщить(ПользовательИБ);
КонецЦикла;

КонецПроцедуры



👉@DevLab1C
🔥3👍1