1С:Предприятие 8
Kanalga Telegram’da o‘tish
🔥 Разработка в 1С — просто и понятно! 🔥 ✅ Полезные фишки и лайфхаки для разработчиков ✅ Объяснение сложных тем простыми словами ✅ Готовые решения, сниппеты и примеры кода ✅ Разбор ошибок и способов их устранения ✅ Новости и тренды в мире 1С
Ko'proq ko'rsatish879
Obunachilar
Ma'lumot yo'q24 soatlar
+17 kunlar
-230 kunlar
Postlar arxiv
1С Программирование. Часть 1
1С Программирование. Как запросом получить последовательность чисел и дат.
1С Программирование . Получение остатков на каждый день запросом
1С: СКД. Получение остатков на каждый день и выведение результата в отчет.
1С: БСП. Версионирование объектов. Сравниваем версии
Уроки по 1С. Печать макета Ворд (Word) при помощи БСП.
1С: Базовые приемы оптимизации кода
1С: Лайвкодинг. Дорабатываем печатную формы Счета на оплату. + Шаблон ВПФ
Уроки по 1С. Программно дорабатываем / модифицируем управляемые формы
1С: Лайвкодинг. Выполняем задачу на доработку формы установки цен в УТ 11.3
Уроки по 1С. Дорабатываем динамические списки программно
источник
👉@DevLab1C
1С: Приемы разработки
Основы использования таблиц значений
Первое внедрение БСП 3.1
Регулярные выражения на каждый день
Шаблоны регулярных выражений для начинающих
Использование рекурсии на деревьях значений
Рекурсия без рекурсии Сложная рекурсия
Восходящая и нисходящая рекурсии
Особенности построения рекурсии
Использование двоичных деревьев для поиска
Балансировка и практика применения деревьев
источник
👉@DevLab1C
Ускорение обработки данных в 1С
В этой статье расскажу о том, как можно распараллеливать выполнение длительной обработки данных. Рассмотрим на примере процедуры, в которой получаем массив объектов и обрабатываем по очереди.
&НаСервере
Процедура ДлительнаяОперация()
МассивОбъектов = ПолучитьМассивОбъектов();
Для Каждого Ссылка Из МассивОбъектов Цикл
ОбработатьОбъект(Ссылка);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ЗапуститьДлительнуюОперацию(Команда)
ДлительнаяОперация();
КонецПроцедуры
У меня операция занимает 15 сек.
Создаем процедуру ЗапуститьДлительнуюОперациюНаСервере(), в которой получим массив объектов и разделим его на несколько частей, на каждую часть массива создадим фоновое задание.
&НаКлиенте
Процедура ЗапуститьДлительнуюОперацию(Команда)
ЗапуститьДлительнуюОперациюНаСервере();
КонецПроцедуры
&НаСервере
Процедура ЗапуститьДлительнуюОперациюНаСервере()
МассивОбъектов = ПолучитьМассивОбъектов();
МассивЧастейОбъектов = Новый Массив;
КолЭлементов = Цел(МассивОбъектов.Количество() / 3);
ЧастьОбъектов = Новый Массив;
Для Индекс = 0 По МассивОбъектов.ВГраница() Цикл
Если ЧастьОбъектов.Количество() >= КолЭлементов Тогда
МассивЧастейОбъектов.Добавить(ЧастьОбъектов);
ЧастьОбъектов = Новый Массив;
КонецЕсли;
ЧастьОбъектов.Добавить(МассивОбъектов.Получить(Индекс));
КонецЦикла;
Если ЧастьОбъектов.Количество() > 0 Тогда
МассивЧастейОбъектов.Добавить(ЧастьОбъектов);
КонецЕсли;
Для Каждого ЧастьОбъектов Из МассивЧастейОбъектов Цикл
ПараметрыВыполнения = Новый Массив;
ПараметрыВыполнения.Добавить(ЧастьОбъектов);
ФоновыеЗадания.Выполнить("СвойОбщийМодуль.ДлительнаяОперация", ПараметрыВыполнения, Новый УникальныйИдентификатор);
КонецЦикла;
КонецПроцедуры
В серверном общем модуле создаем экспортную процедуру, в которой будем обрабатывать эти части массива по очереди. В итоге будут запущены 3 фоновых задания, которые будут обрабатывать только свою часть объектов.
Процедура ДлительнаяОперация(ЧастьОбъектов) Экспорт
Для Каждого Объект Из ЧастьОбъектов Цикл
ОбработатьОбъект(Объект);
КонецЦикла;
КонецПроцедуры
В результате время на операцию занимает меньше секунды.
Но это не значит, что весь массив за это время обработан. Мы лишь запустили задания, которые начали обрабатывать данные в фоне. Если необходима дальнейшая обработка результатов, то можно отловить результаты выполнения фоновых заданий.
👉@DevLab1C1С: БСП. Версионирование объектов. Сравниваем версии
На днях прилетела интересная задачка от клиента. Как то так произошло (намеренно или случайно), что некоторые документы стали распроведенными. И теперь для того, чтобы их вычислить нужно сравнить 2 версии документа. Последнюю и предпоследнюю. Текущую и предыдущую. Кому как нравиться
источник
👉@DevLab1C
Как «поймать» медленные запросы
В этом видео мы за полчаса разберём, как диагностировать проблемные места – первый шаг к быстрым запросам ; )
00:00 — Введение
00:57 — Обзор инструментов поиска медленных запросов
03:02 — Схема установки базы Монитор
05:33 — Создание отдельного кластера и базы для загрузки Монитора
06:45 — Подключение созданной базы и загрузка конфигурации Монитор
07:38 — Настройка мониторинга запросов
19:29 — Пример анализа запроса из медленного отчета
23:01 — Настройка отображения запросов в терминах метаданных
25:03 — Анализ параметров и просмотр плана запроса
26:00 — Пример запроса без контекста
26:45 — Подведение итогов первого занятия
источник
👉@DevLab1C
Помогаторы разработчика 1С
Данная статья написана по моему выступлению на Infostart Event 2022, на котором я рассказал об инструментах и «лайфхаках», которые использую в своей работе и которые, как мне кажется, помогают сделать работу разработчика 1С проще, удобнее, а главное, эффективней. Многие вещи, возможно, покажутся вам очевидными или совсем простыми. Но часто я вижу, что разработчики пренебрегают ими, а ведь именно такие «мелочи» и делают нашу жизнь проще.
https://habr.com/ru/articles/780588/
👉@DevLab1C
Интервью с разработчиком 1С - оценка технических компетенций.
В этом выпуске независимый HR IT Capital Анна Степанян совместно с Павлом Чистовым, преподавателем-методистом Фирмы "1С", провели живое интервью с разработчиком 1С, действующим сотрудником Фирмы "1С" Прокуровским Алексеем.
источник
👉@DevLab1C
Доработка 1С. Запрет редактирования проведенных документов
Иногда нужно установить запрет на редактирование уже проведенных документов в открытом периоде. Сегодня мы покажем как, реализовать такой функционал в типовой конфигурации 1С, не снимая конфигурацию с поддержки, используя механизм расширений в 1С.
источник
👉@DevLab1C
Шаблоны кода Формат Суммы (Числа) в 1С 8.3
&НаКлиенте
Процедура ФорматированиеСуммы(Команда)
// Отображение общего числа цифр
Сообщить(Формат(138, "ЧЦ=3")); // 138
Сообщить(Формат(138, "ЧЦ=2")); // 99
Сообщить(Формат(138, "ЧЦ=1")); // 9
// Отображение общего числа цифр после запятой
Сообщить(Формат(138.214, "ЧДЦ=2")); // 138.21
Сообщить(Формат(138.214, "ЧДЦ=1")); // 138.2
Сообщить(Формат(138.214, "ЧДЦ=0")); // 138
// Сдвиг разрядов числа
Сообщить(Формат(7, "ЧС=5")); // 0,00007
Сообщить(Формат(7, "ЧС=1")); // 0,7
Сообщить(Формат(7, "ЧС=-3")); // 7000
// Установка разделителя целой и дробной части
Сообщить(Формат(138.21, "ЧРД=-")); // 138-21
// Установка разделителя групп
Сообщить(Формат(500000000, "ЧРГ=*")); // 500*000*000
// Вывод нулевого представления числа
Сообщить(Формат(0, "ЧН=ноль")); // ноль
// Вывод лидирующих нулей
Сообщить(Формат(138, "ЧЦ=10; ЧВН=")); // 0 000 000 138
Сообщить(Формат(7, "ЧЦ=2; ЧВН=")); // 07
// Отключение группировки разрядов при выводе числа
Сообщить(Формат(3000000, "ЧГ=0")); // 3000000
Сообщить(Формат(3000000, "ЧГ=3,0")); // 3 000 000
Сообщить(Формат(3000000, "ЧГ=3,2,0")); // 30 00 000
// Представление числа прописью
Сообщить(ЧислоПрописью(138.21)); // Сто тридцать восемь 21
// Рубли-копейки (Сто тридцать восемь рублей 21 копейка)
ФСтр="Л=ru_RU;ДП=Истина";ПарПИ="рубль,рубля,рублей,м,копейка,копейки,копеек,ж,2";//по-русски
ФСтр="Л=en_US;ДП=Истина";ПарПИ="rouble,roubles,kopeck,kopecks,2";//по-английски
ФСтр="Л=uk_UA;ДП=Истина";ПарПИ="карбованець,карбованцi,карбованцiв,м,копiйка,копiйки,копiйок,м,2";//по-украински
ФСтр="Л=lv_LV;ДП=Истина";ПарПИ="rublis,rubli,rublu,v,kapeika,kapeiki,kapeiku,s,2";//по-латышски
ФСтр="Л=ro_RO;ДП=Истина";ПарПИ="rubla,ruble,f,copeica,copeici,f,2";//по-румынски
ФСтр="Л=bg_BG;ДП=Истина";ПарПИ="рубла,рубли,ж,копейка,копейки,ж,2";//по-болгарски
// Доллары-центы (Сто тридцать восемь долларов США 21 цент)
ФСтр="Л=ru_RU;ДП=Истина";ПарПИ="доллар,доллара,долларов,м,цент,цента,центов,м,2";//по-русски
ФСтр="Л=en_US;ДП=Истина";ПарПИ="dollar,dollars,cent,cents,2";//по-английски
ФСтр="Л=uk_UA;ДП=Истина";ПарПИ="долар,долара,доларiв,м,цент,цента,центiв,м,2";//по-украински
ФСтр="Л=lv_LV;ДП=Истина";ПарПИ="dolars,dolari,dolaru,v,cent,centi,centu,v,2";//по-латышски
ФСтр="Л=ro_RO;ДП=Истина";ПарПИ="dolar,dolari,m,cent,centi,m,2";//по-румынски
ФСтр="Л=bg_BG;ДП=Истина";ПарПИ="долар,долара,м,цент,цента,м,2";//по-болгарски
// Евро-евроценты (Сто тридцать восемь евро 21 евроцент)
ФСтр="Л=ru_RU;ДП=Истина";ПарПИ="евро,евро,евро,м,евроцент,евроцента,евроцентов,м,2";//по-русски
ФСтр="Л=en_US;ДП=Истина";ПарПИ="euro,euros,eurocent,eurocents,2";//по-английски
ФСтр="Л=uk_UA;ДП=Истина";ПарПИ="євро,євро,євро,м,євроцент,євроцента,євроцентів,м,2";//по-украински
ФСтр="Л=lv_LV;ДП=Истина";ПарПИ="eiro,eiro,eiro,v,cents,centi,centi,v,2";//по-латышски
ФСтр="Л=ro_RO;ДП=Истина";ПарПИ="euro,euro,м,eurocent,eurocenti,м,2";//по-румынскимммм
ФСтр="Л=bg_BG;ДП=Истина";ПарПИ="евро,евро,с,евроцент,евроцента,м,2";//по-болгарски
Сообщить(ЧислоПрописью(138.21, ФСтр, ПарПИ));
// Килограммы-граммы (Сто тридцать восемь килограммов 210 грамм)
Сообщить(ЧислоПрописью(138.21, "Л=ru_RU; ДП=Истина", "килограмм, килограмма, килограммов, м, грамм, грамма, граммов, м, 3"));
КонецПроцедуры
👉@DevLab1CТерминальная ферма 1C на x2go
Итак, импортозамещение катится по стране неостановимым катком. Внесём свой посильный вклад.
Под давлением обстоятельств нам пришлось сделать терминальную ферму на ОС REDOS и x2go (из комплекта поставки ОС). В принципе, решение получилось рабочим, с небольшими особенностями.
В статье простыни ansible playbooks и более ничего.
https://habr.com/ru/articles/799577/
👉@DevLab1C
Основы использования таблиц значений
В ролике рассматриваются темы:
Создание ТЗ с помощью кода
Создание ТЗ запросом
ТЗ как параметр запроса. Что можно и что нельзя в запросе, где ТЗ является параметром.
ТЗ и построитель запросов
ТЗ и построитель отчетов
ТЗ и СКД - использование в отчетах и обработках, управляемых и обычных формах.
00:00 Вступление
00:33 Создание ТЗ с помощью кода.
01:52 Создание ТЗ запросом
04:21 ТЗ как параметр запроса. Что можно и что нельзя в запросе, где ТЗ является параметром.
05:32 ТЗ и построитель запросов
07:34 ТЗ и построитель отчетов
07:58 ТЗ и СКД
13:49 Заключение
источник
👉@DevLab1C
ЛАЙФХАКИ 1С! ЧУДЕСА без программирования! Часть 2
0:00 – ЛАЙФХАКИ 1С 8.3! Часть 2 - ЧУДЕСА без программирования! Введение
0:33 – Лайфхак 1С 8.3 №1 – архивирование базы.
5:55 – Лайфхак 1С 8.3 №2 – исправление популярной ошибки «Печать бланка с двухмерным штрихкодом PDF417 поддерживается только в 32-разрядной версии платформы».
10:16 – Лайфхак 1С 8.3 №3 – версионирование данных объектов 1С (история изменений документов и справочников в 1С).
15:18 – Лайфхак 1С 8.3 №4 – запуск базы в режиме «Толстого клиента». Отличия от «Тонкого клиента». Исправление ошибки «Для того, чтобы редактировать схему компоновки, необходимо запустить конфигурацию в режиме толстого клиента».
20:22 – Лайфхак 1С 8.3 №5 – исправление ошибки при запуске 1С: «Ошибка формата потока», «Неверный формат хранилища данных ‘file://C:…’», «Ошибка СУБД: Внутренняя ошибка компоненты dbeng81»… Запуск обработки «chdbfl.exe».
👉@DevLab1C
ЛАЙФХАКИ 1С! ЧУДЕСА без программирования!
0:00 - ЛАЙФХАКИ 1С! Чудеса без программирования! Введение
0:50 – Лайфхак 1С №1 – табличная часть документа. Добавление новой колонки с дополнительной информацией.
2:10 – Лайфхак 1С №1 – табличная часть документа. Сортировка строк.
2:45 – Лайфхак 1С №1 – табличная часть документа. Копирование строк.
3:30 – Лайфхак 1С №1 – табличная часть документа. Разбивка строк.
4:00 – Лайфхак 1С №1 – табличная часть документа. Вывод в файл Excel.
4:56 – Лайфхак 1С №2 – добавление нового поля в документ.
7:12 – Лайфхак 1С №3 – редактирование печатной формы счета на оплату.
9:00 – Лайфхак 1С №4 – поиск и удаление дублей.
12:12 – Лайфхак 1С №5 – групповое изменение реквизитов.
14:07 – Лайфхаки 1С – подведение итогов.
👉@DevLab1C
Интенсивное обучение программированию 1С
Диалоги с пользователем
Зачем нужно проведение документа в системе 1С: Предприятие?
Хранение и отображение картинок в информационной базе 1С
Зачем нужны регистры? Часть 1 - Регистры сведений
Зачем нужны регистры? Часть 2 - Регистры накопления
Зачем нужны регистры? Часть 3 - Регистры бухгалтерии
Зачем нужны регистры? Часть 4 - Регистры расчета
Формирование отчета о продажах тремя способами
Программная работа с условным оформлением
источник
👉@DevLab1C
Работа со строками в 1С
Для того чтобы создать какой-то программный продукт, необходимо обладать навыками программирования, знать его «язык».
Язык программирования 1С - полноценный функционал для разработки собственных решений, и он является главным инструментом разработки.
1. Три основных типа данных в языке программирования 1С 8.3
Кто только начинает изучение, вначале знакомится с самыми простыми его элементами – типами данных, как первоклассник учит буквы, чтобы в дальнейшем составлять слова и предложения.
Основными типами данных в языке программирования 1С являются:
·Строка. Отличный пример таких данных - цитата из стихотворения «Мой дядя самых честных правил,». Обратите внимание, что данные типа Строка всегда заключается в кавычки.
·Число. С этим типом данных мы часто имеем дело в реальной жизни. Числа могут быть, как вы знаете, целыми и дробными, как со знаком плюс, так и с минусом.
·Дата. Примером данных данного типа можно считать дату Нового Года – 31.12.2019. На языке компьютера эти данные будут выглядеть так: ‘20191231’. Дата всегда заключается в одинарные кавычки.
Давайте же рассмотрим, как используется тип данных Строка в самых простых функциях программирования.
2. Функции работы со строками в 1С
2.1 Строка
Функция Строка() позволяет получить текстовое представление переменных других типов.
Примеры:
Строка(ТекущаяДата()) //"20.11.2019 14:10:33"
Строка(Истина) // Да
Строка(2019) // "2 019"
2.2 СтрДлина
Функция позволяет получить количество символов в строке 1C, включая пробелы и незначащие символы.
Например:
СтрДлина("Тестовая строка") // 15
2.3 ВРег, НРег, ТРег
Функции для управления регистром строки.
ВРег — преобразует строку в верхний регистр. НРег — в нижний. ТРег — у каждого нового слова первая буква преобразуется в верхний регистр, остальные в нижний.
Примеры:
ВРег("Тестовая строка") // "ТЕСТОВАЯ СТРОКА"
НРег("Тестовая строка") // "тестовая строка"
ТРег("Тестовая строка") // "Тестовая Строка"
2.4 ПустаяСтрока
Функция, позволяющая сравнить исходную строку с пустой строкой. Проверяется наличие незначащих символов.
Пример:
ПустаяСтрока("Тест") //ложь
ПустаяСтрока(" ") // истина
Аналогично можно проверить строку на пустое значение следующим образом:
СокрЛП(" ") = "" // истина
2.5 СтрЗаменить
Функция СтрЗаменить позволяет массово заменить искомое значение на нужное нам. Синтаксис:
Например:
СтрЗаменить("Произвольная Строка", " " , "") //"ПроизвольнаяСтрока"
👉@DevLab1CВставить объект в буфер обмена средствами 1С
Платформа 1С 8.3 позволяет работать с буфером обмена с помощью внешней компоненты COMОбъект("HtmlFile").
Внимание! Структура базы приёмника и структура база источника должно быть 100% идентичной!
Вставить объект в буфер обмена с помощью внешней компоненты в 1С 8.3:
&НаКлиенте
Процедура Вставить_объект_В_буфер_обмена(Команда)
COM_Объект = Новый COMОбъект("htmlfile");
Вставить_объект_НаСервере(COM_Объект.ParentWindow.ClipboardData.Getdata("Text"));
КонецПроцедуры
&НаСервере
Процедура Вставить_объект_Сервере(ТекСтрока)
Новая_запись=Новый ЧтениеXML;
Новая_запись.УстановитьСтроку(ТекСтрока);
Новая_запись.Прочитать(); // элемент Root
Новая_запись.Прочитать(); // элемент с документом
Если ВозможностьЧтенияXML(Новая_запись) Тогда // получаем тип данных XML из Новая_запись
СсылкаНаОбъект=ПрочитатьXML(Новая_запись);
СсылкаНаОбъект.Ссылка.УникальныйИдентификатор();
Пользователю = Новый СообщениеПользователю;
Если СсылкаНаОбъект.Ссылка.Пустая() Тогда
СсылкаНаОбъект.Записать();
Пользователю.Текст = "Загружен "+СсылкаНаОбъект.Ссылка;
Иначе
СсылкаНаОбъект = СсылкаНаОбъект.Ссылка.ПолучитьОбъект();
ЗаполнитьЗначенияСвойств(СсылкаНаОбъект, Новая_запись);
Пользователю.Текст = "Изменен "+СсылкаНаОбъект.Ссылка;
КонецЕсли;
Пользователю.Сообщить();
КонецЕсли;
Новая_запись.Закрыть();
КонецПроцедуры
👉@DevLab1C
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
