📌 Добро пожаловать в чат 1C программист!
Коллеги, создали чат для общения и обсуждения текщих вопросов, которые возникают в процессе нашей любимой работы.
Вступайте, общайтесь, решайте вопросы, помогайте другим.
https://max.ru/join/w5Xw4TXPvK2IE6irN3idsGgHoIzdId2s9d2yS89Q6_E
12:58 18-02-2026
Отладчик 1С за 10 минут
Для чего нужен отладчик 1С и как с ним работать. За 10 минут рассмотрим основные возможности отладки кода в 1С.
Для отладки в 1С используется отладчик. В видео мы разберем как пользоваться отладчиком 1С:
- что такое точка останова 1С
- безусловная точка останова 1С и точка останова с условием
- команды при работе в режиме отладки 1С
- как вычислить значение переменной при отладке 1с
- для чего используется инструмент "Табло"
- для чего используется инструмент "Стек вызовов"
- для чего используется инструмент "Замер производительности"
источник
✍️ @odin1C_rus
11:09 16-02-2026
1С Конвертация данных: пошаговая инструкция по настройке первого обмена
источник
✍️ @odin1C_rus
11:34 15-02-2026
Разложить строку в массив подстрок
1С 8.3 БСП РазложитьСтрокуВМассивПодстрок: разбивает строку на несколько строк по указанному разделителю. Разделитель может иметь любую длину. Если разделителем является строка из одного символа, и не используется параметр СокращатьНепечатаемыеСимволы, рекомендуется использовать функцию платформы СтрРазделить.
Официальная документация ИТС по функционалу
// возвратит массив из двух элементов: "один", "два";
СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок("один,два");
// возвратит массив из двух элементов: "один", "два";
СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок("один, два",,,Истина);
// возвратит массив из двух элементов: "один", "два";
СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок("один два", " ");
// возвратит массив из 5 элементов, три из которых // пустые: "", "один", "", "два", "";
СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(";один;;два;", ";")
Если Разделитель = ","
И ПропускатьПустыеСтроки = Неопределено
И СокращатьНепечатаемыеСимволы Тогда
Результат = СтрРазделить(Значение, ",", Ложь);
Для Индекс = 0 По Результат.ВГраница() Цикл
Результат[Индекс] = СокрЛП(Результат[Индекс])
КонецЦикла;
Возврат Результат;
КонецЕсли;
Результат = Новый Массив;
// Для обеспечения обратной совместимости.
Если ПропускатьПустыеСтроки = Неопределено Тогда
ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь);
Если ПустаяСтрока(Значение) Тогда
Если Разделитель = " " Тогда
Результат.Добавить("");
КонецЕсли;
Возврат Результат;
КонецЕсли;
КонецЕсли;
//
Позиция = СтрНайти(Значение, Разделитель);
Пока Позиция > 0 Цикл
Подстрока = Лев(Значение, Позиция - 1);
Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда
Если СокращатьНепечатаемыеСимволы Тогда
Результат.Добавить(СокрЛП(Подстрока));
Иначе
Результат.Добавить(Подстрока);
КонецЕсли;
КонецЕсли;
Значение = Сред(Значение, Позиция + СтрДлина(Разделитель));
Позиция = СтрНайти(Значение, Разделитель);
КонецЦикла;
Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Значение) Тогда
Если СокращатьНепечатаемыеСимволы Тогда
Результат.Добавить(СокрЛП(Значение));
Иначе
Результат.Добавить(Значение);
КонецЕсли;
КонецЕсли;
Возврат Результат;
КонецФункции
✍️ @odin1C_rus
11:49 14-02-2026
🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Пример разбора самых распространенных ошибок кода:
- Обращение к ссылке через точку;
- Представление ссылочных типов.
источник
✍️ @odin1C_rus
08:37 06-02-2026
Основы использования таблиц значений
В ролике рассматриваются темы:
Создание ТЗ с помощью кода
Создание ТЗ запросом
ТЗ как параметр запроса. Что можно и что нельзя в запросе, где ТЗ является параметром.
ТЗ и построитель запросов
ТЗ и построитель отчетов
ТЗ и СКД - использование в отчетах и обработках, управляемых и обычных формах.
00:00 Вступление
00:33 Создание ТЗ с помощью кода.
01:52 Создание ТЗ запросом
04:21 ТЗ как параметр запроса. Что можно и что нельзя в запросе, где ТЗ является параметром.
05:32 ТЗ и построитель запросов
07:34 ТЗ и построитель отчетов
07:58 ТЗ и СКД
13:49 Заключение
// любое сериализуемое (то есть превращаемое
// в строку и обратно) значение можно сохранять
// в файл, например, массивы, списки значений, строки
// структуры и т.д.
Числа = Новый Массив;
Числа.Добавить(35);
Числа.Добавить(67);
ЗначениеВФайл("c:\числа.txt", Числа);
// эта функция работает только на сервере
🔹Как восстановить произвольное значение из файла в 1с 8.3
// работает как на сервере, так и на клиенте
Текст = Новый ЗаписьТекста(
"c:\привет.txt", // имя
КодировкаТекста.ANSI, // кодировка
Символы.ПС, // разделитель строк (необ.)
Ложь // перезаписывать файл, а не дописывать в конец (необ.)
);
Текст.ЗаписатьСтроку("Добро пожаловать!");
Текст.ЗаписатьСтроку("Посторонним вход воспрещен.");
Текст.Закрыть();
🔹Как прочитать текстовый файл в 1с 8.3
1C
// работает как на сервере, так и на клиенте
Текст = Новый ЧтениеТекста(
"c:\привет.txt", // имя
КодировкаТекста.ANSI, // кодировка
Символы.ПС, // разделитель строк (необ.)
,
Истина // монопольный режим (необ.)
);
// читаем пока есть что читать
Пока Истина Цикл
Строка = Текст.ПрочитатьСтроку();
Если Строка = Неопределено Тогда
Прервать;
Иначе
Сообщить(Строка);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ОперацииНадФайлами(Команда)
// для тестов создадим пустой файл
Текст = Новый ЗаписьТекста("c:\file_src.txt");
Текст.Закрыть();
✍️ @odin1C_rus
10:44 04-02-2026
Консоль кода для 1С 8.3 (Управляемые и обычные формы)
Для работы внутри 1С требуется версия платформы не ниже 8.3.14.1565
Основные возможности
- Подсветка синтаксиса языка 1С
- Подсветка языка запросов
- Автокомплит для глобальных перечислений и функций
- Автокомплит для метаданных (Справочники, Документы и т.п.)
- Автокомплит для объектов метаданных (СправочникСсылка, ДокументОбъект и т.п.)
- Подсказка параметров конструкторов и методов
- Подсказка для типов
- Вставка готовых блоков кода (сниппеты)
- Вызов конструктора запроса и конструктора форматной строки
- Загрузка пользовательских функций и сниппетов
- Выделение строки, при выполнении которой произошла ошибка
- Сворачивание циклов, условий и текстов запросов
- Всплывающие подсказки для глобальных функций, перечислений и классов
- Подсказки через точку для реквизитов типа справочники/документы
- Подсказки через точку для объектов типа ТаблицаЗначений/Массив/
- РезультатЗапроса/ДвоичныеДанные и др., в том числе для объектов, полученных через методы других объектов.
- Подсказки для источников и полей в режиме запроса
https://github.com/salexdv/bsl_console
✍️ @odin1C_rus
13:56 02-02-2026
Универсальные коллекции значений 1С
Ильяс Низамутдинов
Урок №1. Массивы
Урок №2. Структура
Урок №3. Соответствие
Урок №4. Список значений
Урок №5. Таблица значений
Урок №6. Дерево значений
Урок №7.Бинарный поиск по таблице значений 1С
источник
✍️ @odin1C_rus
09:28 30-01-2026
Шпаргалки 1с
Тип строка. Работа со строками
Тип число. Работа с числами
Тип дата. Работа с датами
Тип массив. Работа с коллекцией значений - использование массивов
Тип таблица значений. Работа с коллекцией значений - использование таблиц значений
Тип список значений. Работа с коллекцией значений - использование списков значений
Тип структура. Работа с коллекцией значений - использование структуры
Работа с реквизитами в 1с
Работа с кнопками в 1с
Логические и арифметические операции
источник
✍️ @odin1C_rus
08:00 29-01-2026
Свернуть таблицу значений в 1С: два способа
В этом видео я покажу вам два способа сворачивания таблицы значений на управляемой форме в 1С.
📌 Первый способ: сворачивание таблицы значений при контекстном вызове сервера – данные формы передаются на сервер, что позволяет получать доступ к данным формы в серверном контексте, но в тоже время утяжеляет вызов сервера.
📌 Второй способ: сворачивание таблицы на форме при бесконтекстном вызове сервера – данные формы не передаются на сервер, что облегчит вызов сервера, но в тоже время, информация на форме не будет доступна.
Каждый из этих подходов имеет свои преимущества и применяется в зависимости от задачи. В видео я покажу пошаговую разработку кода для обоих способов.
0:00:00 - Введение;
0:01:15 - Создаем таблицу значений на форме и команды для свёртки;
0:03:35 - Почему надо сворачивать таблицу значений на сервере;
0:06:14 - Первый способ - контекстный вызов сервера;
0:10:43 - Второй способ - безконтекстный вызов сервера.
источник
✍️ @odin1C_rus
09:41 26-01-2026
🤯 Решаем тестовую задачу из собеседования на должность 1С программиста.
Рассмотрим способ решения интересной тестовой задачи на вакансию 1С программиста. Задача одновременно проверяет знание запросов, СКД и в целом понимания что и откуда растет.
источник
✍️ @odin1C_rus
09:19 23-01-2026
5 примеров ошибок в коде, которые приводят к замедлению работы 1С
00:10 — Ошибка № 1. Блокировки и транзакции
03:22 — Ошибка № 2. Правила записи регистров
06:00 — Ошибка № 3. Что здесь не так?
08:33 — Ошибки при записи большого объема данных
12:59 — Ошибки при записи наборов.
источник
✍️ @odin1C_rus
09:34 22-01-2026
Индикатор прогресса в 1С (Прогресс-бар)
В этом видео мы покажем, как легко и быстро реализовать индикатор прогресса (прогресс-бар) в 1С. Вы узнаете, как сделать интерфейс 1С более дружелюбным для пользователей, визуализировать выполнение длительных операций и избежать ощущения «зависшей» программы.
источник
✍️ @odin1C_rus
08:09 22-01-2026
Пост удален
13:09 20-01-2026
⚡ PostgreSQL + 1С: как находить «тихих убийц» производительности (без DBA и магии)
Иногда всё выглядит идеально:
✅ CPU норм
✅ мониторинг ровный
✅ жалоб нет
✅ slow query log пустой
…а потом наступает закрытие месяца и база начинает “умирать”.
Причина часто не в одном супер-медленном запросе, а в тысячах “почти нормальных” (2–30 секунд), которые суммарно жгут сервер сутками. Это и есть те самые тихие убийцы.
🧰 Что я использовал
- PostgreSQL 14 (сборка от 1С) на Linux
- 1С:Предприятие 8.3
- pgBadger - генератор отчётов по логам Postgres: красиво, наглядно, быстро
✅ Ключевой трюк: логирование “бережно”, но полезно
Чтобы не утонуть в логах, порог ставят не 200 мс, а 3 секунды, и уже потом постепенно снижают.
Оказалось: после обновления БСП случайно активировали «Разделение данных» → платформа добавила реквизит ОбластьДанныхОсновныеДанные почти во все таблицы → таблицы раздулись, запросы замедлились.
И самый эффективный фикс оказался…
👉 отключить ненужный функционал, а не героически индексировать последствия.
📌 Ссылка на статью: https://habr.com/ru/articles/986306/
✍️ @odin1C_rus
09:55 19-01-2026
Асинхронные функции в 1С
Привет, друзья! Наверняка при решении задач по программированию в 1С вы сталкивались с ошибкой "Использование синхронных методов на клиенте запрещено". Сегодня мы покажем как избежать этой ошибки и писать код правильно, используя асинхронные методы.
автор: ironskills-1c
✍️ @odin1C_rus
22:36 15-01-2026
🚀 Как ускорить “тупой” запрос 1С в миллион раз без правок кода
Иногда в 1С прилетает “невинный” SQL, который внезапно начинает жечь прод: запрос выполняется 45 секунд, и таких - сотни раз в день 😬
Кейс из практики на Postgres (Tantor XData): нашли в топе долгих запросов вот такую красоту:
SELECT min(_period)
FROM _accumrg93090
WHERE _fld3457 = 0
AND _recordertref = ...
AND _recorderrref = ...
HAVING NOT min(_period) IS NULL;
🧠 Что происходило в 1С
Регламентное задание удаляло помеченные объекты, а БСП перед удалением делала стандартную проверку “Даты запрета изменений” - ищет минимальную дату движения документа по регистру накопления.
📉 Почему так медленно
Планировщик выбирал не тот индекс и делал огромный Index Only Scan, потому что статистика по полю _recorderrref была очень неточной (распределение “длинный хвост”: большинство регистраторов мелкие, но есть «тяжеловесы» на сотни тысяч строк).
В таблице:
• 761 млн строк
• _recorderrref ≈ 2.35 млн уникальных
• но планировщик “видел” всего 123 тыс 🤡
✅ Фикс без правки кода 1С - улучшили статистику точечно
В Tantor Postgres есть параметр STATMULTIPLIER, который увеличивает объём выборки для ANALYZE по конкретной колонке:
alter table _accumrg93090
alter column _RecorderRRef SET STATMULTIPLIER 15;
После пересчёта статистики план поменялся на правильный индекс (_accumrg93090_2), и время выполнения запроса стало… 0.017 ms 😳
🔥 Итог: ускорение примерно в 1 000 000 раз.
💡 Вывод для 1С-админов/DBA
Если на Postgres 1С внезапно “втыкает” на seemingly простых запросах, проверь:
• выбор индекса,
• актуальность статистики,
• перекос распределения по ссылочным полям (_recorderrref, _recordertref).
И да, иногда можно спасти производительность настройкой статистики, не трогая ни модуль 1С, ни БСП.
📌 Ссылка на статью: https://habr.com/ru/companies/tantor/articles/985130/
Как перевести 40 распределенных баз 1С из MSSQL в PostgreSQL
Продолжаем публиковать некоторые детали проектов по миграции больших баз данных 1С с MS SQL Server на PostgreSQL. В прошлый раз речь шла о миграции только одной 10+ Тб базы данных 1С с MS SQL на PostgreSQL. Сегодня речь пойдет о проекте миграции на PostgreSQL сразу сорока с лишним распределенных информационных систем 1C с базами размером от 50 Гб до 2 Тб каждая.
Соединяет две разные таблицы значений с одинаковыми колонками в одну целую таблицу значений.
Способ интересен тем, что он вставляет одну таблицу в начало другой таблицы, а не добавляет строки из одной таблицы в конец другой.
Такой способ работает намного быстрее чем стандартный.
// Добавляет в начало первой ТЗ, значения из второй ТЗ, колонки обоих ТЗ должны совпадать
// Данный способ работает быстрее чем стандартный с добавлением в конец строк из другой ТЗ
// Подробности см. http://www.gilev.ru/простой-трюк-для-быстрого-объединени/
//
// Параметры:
// Таблица1 - ТаблицаЗначений - в эту таблицу, в начало (а не в конец) будут добавлены строки из Таблица2
// Таблица2 - ТаблицаЗначений - таблица, строками которой требуется дополнить значение из параметра Таблица1
//
Процедура ДополнитьТаблицуЗначениямиИзВторой(Таблица1, Таблица2) Экспорт
Для Индекс = 1 По Таблица2.Количество() Цикл
Таблица1.Вставить(0);
КонецЦикла;
Для Индекс = 0 По Таблица2.Колонки.Количество() - 1 Цикл
Таблица1.ЗагрузитьКолонку(Таблица2.ВыгрузитьКолонку(Индекс), Индекс);
КонецЦикла;
КонецПроцедуры
✍️ @odin1C_rus
09:32 05-01-2026
Печать своей печатной формы (без использования команды)
//////////////////////////////////////////////////// Кнопка вызова печати
МассивОбъектов = Новый Массив;
МассивОбъектов.Добавить(СсылкаНаДокументИлиСправочник);
ПараметрыПечать = Новый Структура;
ПараметрыПечать.Вставить("ЗаголовокФормы", СсылкаНаДокументИлиСправочник);
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ИМЯ_МАКЕТА") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
КоллекцияПечатныхФорм,
"ИМЯ_МАКЕТА",
"СИНОНИМ_МАКЕТА",
ПечатнаяФорма(МассивОбъектов));
КонецЕсли;
КонецПроцедуры
Функция ПечатнаяФорма(МассивОбъектов)
ТабличныйДокумент = Новый ТабличныйДокумент;
ТабличныйДокумент.АвтоМасштаб = Истина;
ТабличныйДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ИМЯ";
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии 📌
https://max.ru/progjob Вакансии в IT
21:58 25-12-2025
Жизненный цикл объекта в 1С.
В 1С мы постоянно работаем с объектами - справочниками, документами, регистрами и т. д. Но многие разработчики не задумываются о том, как живёт объект в памяти, когда он загружается, сохраняется и уничтожается.
🔍 Как это работает?
1. Создание объекта
Когда мы пишем Справочники.Клиенты.НайтиПоКоду("123"), в памяти создаётся ссылка на объект, но сам объект ещё не загружен.
2. Загрузка в память
Если мы обратимся к свойству объекта (Справочники.Клиенты.НайтиПоКоду("123").Наименование), 1С загрузит объект в память и присвоит значение его свойствам.
3. Изменение и сохранение
Если объект загружен, мы можем менять его свойства и сохранять в базу методом Записать().
4. Удаление объекта из памяти
Если объект больше не используется, он удаляется сборщиком мусора (особенно если переменная, в которой он хранился, вышла из области видимости).
❗ Что важно учитывать?
- Чем больше объектов в памяти, тем медленнее работает система. Особенно актуально при загрузке больших массивов данных.
- Используйте обходные механизмы - например, итератор Выбрать(), а не НайтиПоКоду(), если нужно перебрать много элементов.
- Будьте осторожны с глобальными переменными - объект, сохранённый в глобальной области, останется в памяти на весь сеанс.
✍️ @odin1C_rus
21:01 23-12-2025
Где скачать 1С:БСП бесплатно
Хотите скачать 1С:БСП, но нет доступа к ИТС?
В этом видео покажу, где скачать 1С:БСП, не имея доступа к ИТС, без смс и регистрации :)
источник
✍️ @odin1C_rus
11:19 22-12-2025
Сегодня я покажу вам, как ускорить разработку в 1С с помощью горячих клавиш. Многие недооценивают их силу, а зря! Они способны сэкономить часы работы в течение недели.
Топ полезных горячих клавиш в 1С:
🔹 Ctrl + Shift + Q — быстрое переключение между конфигурацией и режимом предприятия. Это спасение, когда нужно часто тестировать изменения.
🔹 Ctrl + Space — автодополнение кода в модуле. Работает как в Visual Studio, только для 1С.
🔹 Ctrl + Shift + E — поиск метода, процедуры или функции в текущем модуле. Не нужно скроллить!
🔹 Alt + F5 — быстрое выполнение выделенного участка кода в отладчике.
🔹 Ctrl + / (на цифровой клавиатуре) — комментирование строк кода. Можно выделить несколько строк и закомментировать одним нажатием.
🔹 Ctrl + Shift + F — поиск во всех модулях конфигурации. Незаменимо, если ищете, где вызывается определенный метод.
Попробуйте внедрить эти сочетания в работу, и уже через неделю заметите, как стали работать быстрее! Какие горячие клавиши используете чаще всего? Пишите в комментариях! 🔥
✍️ @odin1C_rus
12:39 16-12-2025
Миникурс Разработка в 1С
источник
✍️ @odin1C_rus
10:01 14-12-2025
Асинх/Ждать в 1С для показа вопросов, сообщений и диалогов | Асинхронные методы в платформе 1C
00:00 - Вступление
05:11 - Почему лучше не использовать модальные окна в 1С
11:35 - Как переписать модальные окна 1С на ОписаниеОповещения
22:06 - Почему ОписаниеОповещения усложняет код 1С
31:50 - Как загружать файлы без расширения по работе с файлами (НачатьПомещениеФайлаНаСервер)
44:05 - Асинх и ждать в 1С (Платформа 1С 8.3.18)
53:44 - Как вывести прогресс загрузки файла в 1С
59:15 - Когда типовые 1С конфигурации перейдут на Асинх?
01:00:45 - В чем отличие от ДлительныеОперацииКлиент.ОжидатьЗавершение?
01:02:00 - Почему надо знать все 3 метода взаимодействия с пользователем
01:04:00 - Пример рефакторинга кода
01:06:45 - Книги для программистов, кто был вынужден стать менеджером
01:08:44 - Какие дополнительные компетенции нужно развивать
01:09:50 - Как Матвей попал в 1С разработку
01:12:00 - Планы на будущее
01:14:08 - Зачем преподавать
01:15:40 - Про дефицит кадров в 1С
01:17:00 - Какие качества нужны начинающему 1С разработчику
01:19:10 - Зарплата 1С программистов в регионах, что нужно знать джуну
01:26:56 - Как студенту стать 1С программистом и надо ли
01:37:58 - Как грузчику в 40 лет стать 1С программистом
01:43:33 - Что такое когнитивная и цикломатическая сложность?
01:46:00 - Выбор первого работодателя в 1С сфере
01:49:25 - Предвзятое отношение к 1С программистам
01:52:45 - Про 1С франчайзи
01:56:45 - Про 1С фреш и SQL
01:59:00 - Про 1С запросы, всякое и заключение
источник
✍️ @odin1C_rus
23:31 09-12-2025
Лайфхаки 1С
Основная таблица динамического списка задана неверно. Не задан ни текст запроса, ни основная таблица динамического списка.
источник
✍️ @odin1C_rus
07:07 07-12-2025
1С Групповое изменение реквизитов с помощью ИИ
Думаю, почти все специалисты 1С знают типовую обработку "Групповое изменение реквизитов". Она всем хороша, но уж очень много кликов. С помощью ИИ сведем весь пользовательский интерфейс к одному полю ввода.
На этом простом учебном примере я хочу показать вам что скрывается "под капотом" внедрения искусственного интеллекта в существующие бизнес-системы. Для работы нам понадобится бесплатная библиотека искусственного интеллекта для 1С
Итак, как я и обещал у нас с вами одно поле ввода, куда мы вводим в произвольной форме, на естественном языке где и что на что мы хотим поменять. На прочие поля (например, модель) не обращайте внимание, они нужны нам здесь для экспериментов. Если бы мы делали что-то подобное для реального использования, мы бы все лишнее убрали. Достаточно одного поля ввода и одной кнопки. Еще было бы прекрасно, если бы этой кнопкой был микрофончик. Ждем, когда в платформе появится аудиозапись, давно пора.
https://habr.com/ru/articles/877794/
✍️ @odin1C_rus
10:06 04-12-2025
1С использует КАЖДЫЙ ВТОРОЙ бизнес в России. Почему на рынке нет альтернатив?
Что такое 1С?
Почему 90% предприятий малого и 50% крупного и среднего бизнеса используют 1С?
Почему до сих пор НЕТ АЛЬТЕРНАТИВ и не будет?
Давайте разбираться
Доработка распределения косвенных расходов в 1С: Бухгалтерии предприятия
Рассказали в статье - как доработать распределение косвенных расходов в 1С:Бухгалтерии предприятия для использования динамичной базы без изменения учетной политики
В 1С:Бухгалтерии базой для распределения косвенных расходов могут быть:
- Объем выпуска
- Плановая себестоимость выпуска
- Оплата труда
- Материальные затраты
- Выручка от реализации услуг
- Прямые затраты
- Отдельные статьи прямых затрат
Собственная база распределения (произвольные показатели, описывающие деятельность предприятия)
https://habr.com/ru/articles/971812/
✍️ @odin1C_rus
07:25 28-11-2025
Условие в виртуальной таблице 1C
Волею судеб мне по работе пришлось посмотреть несколько занятий по подготовка к сертификации 1С:Специалист.
И от одного лектора вдруг услышал, что использование в условиях виртуальной таблицы массивов, когда можно применить таблицу, - это плохо и медленно. А на сомнения слушателя он ответил: «Я гарантирую это». Думаю, ошибается человек, чего не бывает. И тут в другом занятии другой лектор говорит то же самое.
Тут уже волей-неволей задумаешься: а вдруг я чего не помню уже? Но ведь не раз ускорял запросы, меняя таблицы на массивы.
Многие пользуются кнопками и мало кто использует весь функционал, который есть у них. В данном видео ролике, я расскажу вам про свойство "Пометка" и покажу как его применять
автор: PelageyaPrime
✍️ @odin1C_rus
07:20 24-11-2025
Ошибка в 1С 8.3: Файл базы данных поврежден
Ошибка 1С «файл базы данных поврежден» встречается время от времени у многих пользователей 1С 8.3. Причин может быть множество: отключение света, некорректное выключение компьютера, с базой данных по локальной сети работает более одного пользователя, большой размер файловой базы данных и т.д. Как правило ошибка 1С 8.3 такого рода встречается в файловых базах данных. Первым делом нужно внимательно посмотреть, какой именно файл поврежден – тут возможны варианты.
1. Файл 1CD
Чаще всего бывает поврежден файл 1CD. Это файл базы данных непосредственно. Эта ошибка базы 1С говорит о том, что повреждена какая-то часть базы или таблицы, или сами данные. Поэтому любая попытка починить базу, скорее всего, будет сопровождаться частичной потерей данных. Самый лучший вариант – восстановить базу из резервной копии, если она есть. Если копии нет, тогда база чинится только утилитой chdbfl. Утилита эта входит в поставку программы и находится в папке bin вашей платформы 1С 8.3. Вот примерный путь:
Запускаете утилиту, указываете путь к базе данных. Путь к базе данных можно найти в окне запуска снизу или по кнопке Изменить в поле «Каталог информационной базы» 1С.
Обязательно ставите галку «Исправлять обнаруженные ошибки». Затем нажимаете кнопку «Выполнить».
При работе этой утилиты никто не должен работать в базе. Всех пользователей нужно попросить выйти.
Далее после проведения тестирования утилитой chdbfl имеет смысл провести Тестирование и исправление. Для этого нужно запустить базу в режиме конфигуратора и пройти Администрирование-Тестирование и исправление. Расставляем галки и точки как на картинке.
Чуть более подробно про тестирование и исправление. Много споров о том, как правильно заполнять 2 последних пункта – «При наличии ссылок на несуществующие объекты» и «При частичной потере данных объектов». Я ставлю «Очищать ссылки» и «Удалять объекты», потому что при выборе пункта «Создавать объекты» база попытается создать объект, данных для которого у нее нет. То есть это будет пустой объект с кодом вида F000000001, в котором не будут заполнены даже стандартные реквизиты.
В теории его можно потом заполнить. Но на практике часто вручную пользователь не может заполнить объект как раз из-за отсутствия стандартных реквизитов, и приходится писать программы, чтобы заполнить объекты, или пользоваться какими-то обработками. Создавать объект на мой взгляд имеет смысл только при наличии копии базы с целью найти все объекты с кодом F0, найти в копии их аналоги и перенести. В ином случае это может быть чревато сложностями в работе конфигурации, обменов и в прохождении тестирования, не говоря уже о работе пользователей.
2. Повреждение файлов кеша
Второй случай ошибки «Файл базы данных поврежден» встречается реже, но решается проще. Когда ошибка указывает на поврежденный файл 1С в папке AppData с непроизносимым цифро-буквенным названием, это говорит о повреждении файлов кеша. Как правило ошибка вылетает только у одного пользователя. Чтобы исправить ошибку нужно пройти по указанному пути и удалить папку с цифро-буквенным названием. Вот пример расположения файла.
✍️ @odin1C_rus
20:19 21-11-2025
Передача данных между формами в 1С
источник
✍️ @odin1C_rus
11:07 20-11-2025
👩💻 Пример скрипта, который проверяет наличие зарегистрированных COM-объектов в системе для платформы 8.2 и 8.3.
Проверяются только компоненты, зарегистрированные по стандартному имени.
try {
$v83COMConnector = New-Object -COMObject "V83.COMConnector"
Write-Host "Компонента "V83.COMConnector" зарегистрирована и готова к использованию." -ForegroundColor Green;
}
catch {
Write-Host "Компонента "V83.COMConnector" не зарегистрирована." -ForegroundColor Red;
}
try {
$v82COMConnector = New-Object -COMObject "V82.COMConnector"
Write-Host "Компонента "V82.COMConnector" зарегистрирована и готова к использованию." -ForegroundColor Green;
}
catch {
Write-Host "Компонента "V82.COMConnector" не зарегистрирована." -ForegroundColor Red;
}
✍️ @odin1C_rus
10:08 16-11-2025
Настройка работы 1С Предприятия 8.3 с использованием PostgreSQL в среде Linux
✍️ @odin1C_rus
08:36 14-11-2025
Новое в платформе 8.3.27 от Ингвара
1С:Предприятие 8.3
Новое в версии 8.3.27
Специально для 1С программистов
0:23 Введение
4:31 Общее
5:31 Базовая версия
5:53 Клиентское приложение
9:17 Конфигуратор
11:15 Кластер
17:41 Внешние компоненты
19:26 Средства администрирования
21:24 Прикладные объекты
25:08 Регистр сведений
31:59 СУБД
32:57 Полнотекстовый поиск
34:16 СКД и Табличный документ
36:46 WebSocket
1:09:42 Работа с криптографией
1:13:41 Распознавание речи
1:14:01 Система взаимодействия
1:15:50 Дата акселератор
1:16:34 Копии базы данных
1:17:23 Хранилище двоичных данных
1:22:23 Заключение
источник
✍️ @odin1C_rus
10:12 12-11-2025
Консоль кода для 1С 8.3 (Управляемые и обычные формы)
Основные возможности
Подсветка синтаксиса языка 1С
Подсветка языка запросов
Автокомплит для глобальных перечислений и функций
Автокомплит для метаданных (Справочники, Документы и т.п.)
Автокомплит для объектов метаданных (СправочникСсылка, ДокументОбъект и т.п.)
Подсказка параметров конструкторов и методов
Подсказка для типов
Вставка готовых блоков кода (сниппеты)
Вызов конструктора запроса и конструктора форматной строки
Загрузка пользовательских функций и сниппетов
Выделение строки, при выполнении которой произошла ошибка
Сворачивание циклов, условий и текстов запросов
Всплывающие подсказки для глобальных функций, перечислений и классов
Подсказки через точку для реквизитов типа справочники/документы
Подсказки через точку для объектов типа ТаблицаЗначений/Массив/РезультатЗапроса/ДвоичныеДанные и др., в том числе для объектов, полученных через методы других объектов.
Подсказки для источников и полей в режиме запроса
https://github.com/salexdv/bsl_console
✍️ @odin1C_rus
09:49 10-11-2025
Чтение файла в формате XML по порядку (способ №2) в 1С 8.3
//Подходит для файлов более 100Mb
&НаСервере
Процедура ПрочитатьФайлXMLПоПорядкуСпособ2(ПутьКФайлу)
XML = Новый ЧтениеXML;
XML.ОткрытьФайл(ПутьКФайлу);
СписокИмен = Новый СписокЗначений;
Пока XML.Прочитать() Цикл
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Если ПутьXML = "/Рестораны/Ресторан" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("Название ресторана: " + Название);//"Китайская грамота"
КонецЕсли;
Категория = XML.ЗначениеАтрибута("Категория");
Если Категория <> Неопределено Тогда
Сообщить("...наценочная категория ресторана: " + Категория);// Высшая
КонецЕсли;
Счет = XML.ЗначениеАтрибута("Счет");
Если Счет <> Неопределено Тогда
Сообщить("...средний счет ресторана: " + Счет);// 3500
КонецЕсли;
Кухня = XML.ЗначениеАтрибута("Кухня");
Если Кухня <> Неопределено Тогда
Сообщить("...кухня ресторана: " + Кухня);// Азиатская
КонецЕсли;
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Меню" Тогда
Сообщить("Меню:");
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Меню/Блюдо" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("...название блюда: " + Название);
КонецЕсли;
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Описание" Тогда
XML.Прочитать();
Если XML.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить("Описание: " + XML.Значение);
КонецЕсли;
КонецЕсли;
ИначеЕсли XML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
СписокИмен.Удалить(СписокИмен.Количество() - 1);
КонецЕсли;
КонецЦикла;
XML.Закрыть();
КонецПроцедуры
&НаСервере
Функция СобратьПуть(СписокИмен)
НашПуть = "";
Для Каждого Имя Из СписокИмен Цикл
НашПуть = НашПуть + "/" + Имя;
КонецЦикла;
Возврат НашПуть;
КонецФункции
✍️ @odin1C_rus
09:31 06-11-2025
Ускорение и оптимизация 1С. Базовый курс
5 примеров ошибок в коде, которые приводят к замедлению работы 1С
Почему документ с одной строкой проводится 7,5 секунд
Как исправить ошибку при запуске после внедрения подсистемы Оценка производительности из БСП
Как ускорить процесс реструктуризации и обновления 1С в разы
3 принципа работы блокировок, о которых стоит знать каждому программисту 1С
Как «поймать» медленные запросы
Все видео на youtube https://www.youtube.com/playlist?list=PLBzoXhN_kiSymyjw54twUGtsR6HP28FZ0
✍️ @odin1C_rus
08:23 05-11-2025
Немного юмора )
✍️ @odin1C_rus
07:49 29-10-2025
Консоль кода для 1С 8.3 (Управляемые и обычные формы)
Основные возможности
Подсветка синтаксиса языка 1С
Подсветка языка запросов
Автокомплит для глобальных перечислений и функций
Автокомплит для метаданных (Справочники, Документы и т.п.)
Автокомплит для объектов метаданных (СправочникСсылка, ДокументОбъект и т.п.)
Подсказка параметров конструкторов и методов
Подсказка для типов
Вставка готовых блоков кода (сниппеты)
Вызов конструктора запроса и конструктора форматной строки
Загрузка пользовательских функций и сниппетов
Выделение строки, при выполнении которой произошла ошибка
Сворачивание циклов, условий и текстов запросов
Всплывающие подсказки для глобальных функций, перечислений и классов
Подсказки через точку для реквизитов типа справочники/документы
Подсказки через точку для объектов типа ТаблицаЗначений/Массив/РезультатЗапроса/ДвоичныеДанные и др., в том числе для объектов, полученных через методы других объектов.
Подсказки для источников и полей в режиме запроса
https://github.com/salexdv/bsl_console
✍️ @odin1C_rus
08:16 27-10-2025
Чтение файла в формате XML по порядку (способ №2) в 1С 8.3
//Подходит для файлов более 100Mb
&НаСервере
Процедура ПрочитатьФайлXMLПоПорядкуСпособ2(ПутьКФайлу)
XML = Новый ЧтениеXML;
XML.ОткрытьФайл(ПутьКФайлу);
СписокИмен = Новый СписокЗначений;
Пока XML.Прочитать() Цикл
Если XML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Если ПутьXML = "/Рестораны/Ресторан" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("Название ресторана: " + Название);//"Китайская грамота"
КонецЕсли;
Категория = XML.ЗначениеАтрибута("Категория");
Если Категория <> Неопределено Тогда
Сообщить("...наценочная категория ресторана: " + Категория);// Высшая
КонецЕсли;
Счет = XML.ЗначениеАтрибута("Счет");
Если Счет <> Неопределено Тогда
Сообщить("...средний счет ресторана: " + Счет);// 3500
КонецЕсли;
Кухня = XML.ЗначениеАтрибута("Кухня");
Если Кухня <> Неопределено Тогда
Сообщить("...кухня ресторана: " + Кухня);// Азиатская
КонецЕсли;
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Меню" Тогда
Сообщить("Меню:");
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Меню/Блюдо" Тогда
Название = XML.ЗначениеАтрибута("Название");
Если Название <> Неопределено Тогда
Сообщить("...название блюда: " + Название);
КонецЕсли;
ИначеЕсли ПутьXML = "/Рестораны/Ресторан/Описание" Тогда
XML.Прочитать();
Если XML.ТипУзла = ТипУзлаXML.Текст Тогда
Сообщить("Описание: " + XML.Значение);
КонецЕсли;
КонецЕсли;
ИначеЕсли XML.ТипУзла = ТипУзлаXML.КонецЭлемента Тогда
СписокИмен.Удалить(СписокИмен.Количество() - 1);
КонецЕсли;
КонецЦикла;
XML.Закрыть();
КонецПроцедуры
&НаСервере
Функция СобратьПуть(СписокИмен)
НашПуть = "";
Для Каждого Имя Из СписокИмен Цикл
НашПуть = НашПуть + "/" + Имя;
КонецЦикла;
Возврат НашПуть;
КонецФункции
✍️ @odin1C_rus
12:30 25-10-2025
Как «поймать» медленные запросы
00:00 — Введение
00:57 — Обзор инструментов поиска медленных запросов
03:02 — Схема установки базы Монитор
05:33 — Создание отдельного кластера и базы для загрузки Монитора
06:45 — Подключение созданной базы и загрузка конфигурации Монитор
07:38 — Настройка мониторинга запросов
19:29 — Пример анализа запроса из медленного отчета
23:01 — Настройка отображения запросов в терминах метаданных
25:03 — Анализ параметров и просмотр плана запроса
26:00 — Пример запроса без контекста
26:45 — Подведение итогов первого занятия
источник
✍️ @odin1C_rus
07:13 23-10-2025
Ускорение и оптимизация 1С. Базовый курс
5 примеров ошибок в коде, которые приводят к замедлению работы 1С
Почему документ с одной строкой проводится 7,5 секунд
Как исправить ошибку при запуске после внедрения подсистемы Оценка производительности из БСП
Как ускорить процесс реструктуризации и обновления 1С в разы
3 принципа работы блокировок, о которых стоит знать каждому программисту 1С
Как «поймать» медленные запросы
Все видео на youtube
✍️ @odin1C_rus
23:01 21-10-2025
1С: Администрирование
Установка и публикация базы 1С на IIS под ОС Windows 10/11
Присоединение базы 1C без лога к MS SQL 2019
Восстановление нестандартного бэкапа 1С из PostgreSQL. *.sql *.psql