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

Полезные фишки и лайфхаки для разработчиков
Объяснение сложных тем простыми словами
Готовые решения, сниппеты и примеры кода
Разбор ошибок и способов их устранения
Новости и тренды в мире 1С
Download Telegram
Инструменты для разработки

Хранилище конфигурации 1С #1 Как организовать групповую разработку, доработку конфигурации
Хранилище конфигурации 1С #2 Как создать хранилище конфигурации и как подключиться к хранилищу
Основы работы с хранилищем конфигурации 1С
Отладчик 1С за 10 минут

источник

👉@DevLab1C
🔥4👍1
Шаблоны кода Формат Суммы (Числа) в 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
🔥5👍1
Media is too big
VIEW IN TELEGRAM
Доработка 1С. Запрет редактирования проведенных документов

Иногда нужно установить запрет на редактирование уже проведенных документов в открытом периоде. Сегодня мы покажем как, реализовать такой функционал в типовой конфигурации 1С, не снимая конфигурацию с поддержки, используя механизм расширений в 1С.

источник

👉@DevLab1C
🔥4
Основы 1С 8.3 для начинающих (Управляемые формы). Основы программирования и конфигурирования.

#1 Платформа. Конфигурация. Установка учебной версии. Информационная база
#2 Файловые и клиент-серверные информационные базы
#3 Режимы запуска. Тонкий клиент. Толстый клиент. Веб-клиент.
#4 Конфигурация. Объекты метаданных и их свойства.
#5 Сохранение изменений в конфигурации.
#6 Справочники и их создание.
#7 Выгрузка/Загрузка информационной базы. Сохранение/Загрузка конфигурации.
#8 Пользовательский интерфейс. Подсистемы. Корпоративный стиль.
#9 Настройка справочников. Иерархия справочников. Владельцы справочников.
#10 Реквизиты справочников. Стандартные типы реквизитов. Табличные части.

Все видео на youtube

👉@DevLab1C
🔥5👍1
Media is too big
VIEW IN TELEGRAM
Как скопировать текст в буфер обмена (программно)

Хороший программист 1С старается думать об удобстве пользователей при работе с 1С. Сегодня мы с вами научимся копировать текст в буфер обмена по кнопке.

источник

👉@DevLab1C
👍51
Пример реализации двухфакторной авторизации на 1С 8.3


&НаСервере
Процедура СозданиеШаблонаНастроекВторогоФактораАутентификации() // кнопка в обработке

ШаблонНастроек = ШаблоныНастроекВторогоФактораАутентификации.СоздатьШаблон();

ЗапросHTTP = Новый HTTPЗапрос;
ЗапросHTTP.АдресРесурса = "&host"; //в этот параметр на следующем шаге запишется адрес куда отправлять HTTP запрос
ЗапросHTTP.УстановитьТелоИзСтроки("Ваш код &secret","utf-8"); //тут можно изменить текстовку, обязательно ставим кодировку

ШаблонНастроек.HTTPЗапросНаАутентификацию = ЗапросHTTP;
ШаблонНастроек.МетодHTTPЗапросаНаАутентификацию = "POST"; //тут или GET, или POST,
//я в дальнейшем буду запрашивать пароли через POST
ШаблонНастроек.Имя = "ИмяШаблона"; //задаем имя шаблона, который используем в дальнейшем для назначения пользователю

ШаблонНастроек.Записать();

// Ставим галочку в конфигураторе у пользователя
// (Администрирование->Пользователи->ищем кому поставить) "Аутентификация токеном доступа"

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

&НаСервере
Процедура НазначениеШаблонаВторогоФактораАутентификации()

Пользователь = ПользователиИнформационнойБазы.НайтиПоИмени("ИмяПользователя"); //ИмяПользователя - меняем на имя пользователя
НастройкаВФА = Новый НастройкаВторогоФактораАутентификации;
НастройкаВФА.ИмяШаблонаНастройки = "ИмяШаблона"; //Имя шаблона задавали на 1-ом этапе

ПараметрыНастройки = Новый Соответствие;
ПараметрыНастройки.Вставить("host","https://"127.0.0.1/otpavkod/hs/sendpass/?tel=123456789"); //Задаем адрес на который будет отправлен HTTP Запрос с кодом для авторизации
НастройкаВФА.Параметры = ПараметрыНастройки; //Задаем значение настройки

МассивНастроек = Новый Массив;
МассивНастроек.Добавить(НастройкаВФА); //задаем массив настроек, тут важно, что это массив, а значит можно указать несколько настроек аутентификации

Пользователь.НастройкиВторогоФактораАутентификации = МассивНастроек; //Устанавливаем настройки пользователю
Пользователь.ОбработкаНастроекВторогоФактораАутентификации = ТипОбработкиНастроекВторогоФактораАутентификации.ИспользоватьСледующуюПриОшибке; //что делать при некорректном вводе кода
Пользователь.Записать();

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


👉@DevLab1C
👍2🔥2
Мобильная разработка

Обработка звонков и SMS-сообщений в мобильном приложении 1С
Мобильная платформа 1С. Запуск сторонних приложений
PUSH-уведомления в мобильном приложении 1С
Мобильная платформа 1С. Локальные уведомления
Мобильная платформа. HTML-интерфейс
Мобильная платформа 1С. Мультимедиа звук и вибрация
Мобильный клиент 1С - развёртывание базы и запуск
Мобильный клиент с автономным режимом - настройка конфигурации

источник

👉@DevLab1C
🔥3👍1
Media is too big
VIEW IN TELEGRAM
Собеседование программиста 1С. Павел Чистов и Ранис Усманов

0:55 Универсальные коллекции
3:20 Управляемая форма
10:15 Оперативный учет
14:47 Расчетные задачи
16:49 Бухгалтерские задачи
20:31 Общие модули
24:21 Обработчики событий объектов
28:28 Модуль менеджера и его обработчики событий
31:54 Определяемые типы
33:14 Общие реквизиты
34:26 Параметры сеанса
35:33 Планы обмена
43:52 Конвертация данных
45:45 Запросы
48:29 СКД
56:45 Регламентные и фоновые задания
57:59 Работа с XML-файлами
1:00:00 XDTO-пакеты, web-сервисы, http-сервисы
1:02:32 Команды и группы команды
1:04:02 Планы видов характеристик
1:05:28 Подводим итоги собеседования

источник

👉@DevLab1C
🔥2👍1
Media is too big
VIEW IN TELEGRAM
Хардкорная разработка на РУССКОМ! / Тёмная сторона 1С

Интервью с Мастером 1С Никитой Грызловым

0:00 Начало
3:10 Институт
9:17 Красивая Интеграция
11:20 Про Первый бит
16:45 Про ценообразование
24:03 Ментор и бытность джуна в 1С
30:55 Проектная работа и внедрение - разница
32:15 Русский язык, код-ревью и системы контроля версий
37:30 Градации по опыту и работа с бумажками
42:05 Работа по окладу
43:25 "Серебрянная пуля". Зачем писать тесты на 1С
47:24 Про Java
48:20 Где Никита работает и кем
49:50 Откуда про Никиту знают в сообществе
51:54 Про книгу Никиты
52:51 Что такое Платформа и Конфигурации
1:00:07 Что в 1С вместо SQL и работа с данными
1:04:42 Есть ли в 1С профайлеры и вещи для оптимизации работы кода
1:06:38 Клиент-сервер
1:09:45 Ещё раз про конфигурации
1:13:40 1С - предметно ориентированный язык. ООП и DSL
1:18:44 Style Guide и стандарты разработки
1:20:30 Про линтеры и статанализ
1:21:00 Что такое модуль и русский язык в коде
1:23:48 Фреймворки и библиотеки. Библиотека Стандартных Подсистем
1:31:00 Расширения
1:37:11 Тесты в 1C. Автоматизация, Gherkinи автоматическая видео-документация
1:47:40 1C интегрирован в YouTube!
1:48:45 DevOps, CI & CD
1:53:01 Docker, Kubernetes и лицензирование
1:54:55 Зачем 1C в облаке
1:57:10 Свежие проекты в 1С: EDT (IDE), OneScript и т.п.
2:01:40 Обертка для SonarQube
2:04:50 Как на 1С делать веб-приложения по MVC
2:07:42 РАНДОМ

источник

👉@DevLab1C
🔥3👍1