1С:Предприятие 8
880 subscribers
108 photos
288 videos
110 links
🔥 Разработка в 1С — просто и понятно! 🔥

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

1С Программирование. Как запросом получить последовательность чисел и дат.
1С Программирование . Получение остатков на каждый день запросом
1С: СКД. Получение остатков на каждый день и выведение результата в отчет.
1С: БСП. Версионирование объектов. Сравниваем версии
Уроки по 1С. Печать макета Ворд (Word) при помощи БСП.
1С: Базовые приемы оптимизации кода
1С: Лайвкодинг. Дорабатываем печатную формы Счета на оплату. + Шаблон ВПФ
Уроки по 1С. Программно дорабатываем / модифицируем управляемые формы
1С: Лайвкодинг. Выполняем задачу на доработку формы установки цен в УТ 11.3
Уроки по 1С. Дорабатываем динамические списки программно

источник

👉@DevLab1C
🔥4
🚀 Подборка полезных 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 программиста 👨🏼‍💻👩‍💻

Шутки программистов 📌
https://max.ru/itumor Шутки программистов

Защита, взлом, безопасность 📌
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

Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных


Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
👎4🖕2🤡1
1С Программирование. Часть 2

Уроки 1С. Добавляем картинки в таблицу в шаблоне Word
1С: Схема запроса. Простейший практический пример
Эмулятор ККТ (онлайн кассы) в 1С
Решаем тестовую задачу из собеседования на должность 1С программиста.
Типизация субконто в 1С Бухгалтерии 3.0
1С: Лайвкодинг. Дорабатываем признание расходов КУДиР

источник

👉@DevLab1C
👍3🔥2
Есть список контрагентов, нужно быстро узнать их коды в базе

Делаем такой запрос где в кавычках прописываем список наименований контрагентов (должен 100% совпадать с названиями контрагентов в базе):

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

👉@DevLab1C
🔥2👍1
Обычные формы. Как организовать подбор в табличную часть

Рассмотрим решение задачи на примере формы документа, у которого имеется табличная часть «Заказ-наряды».
1. На форме документа на командную панель табличной части «Заказ-наряды» добавляем кнопку подбора и прописываем её код:



Процедура ПодборНарядов(Кнопка)
Форма = Документы.ЗаказНаряд.ПолучитьФормуВыбора(, ЭлементыФормы.ЗаказНаряды, ЭтотОбъект);
Форма.ЗакрыватьПриВыборе = Ложь;
Форма.Открыть();
КонецПроцедуры


2. Далее у табличной части находим событие «ОбработкаВыбора» и прописываем для него код:


Процедура ЗаказНарядыОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)

СтандартнаяОбработка = Ложь;

Если ТипЗнч(ВыбранноеЗначение) = Тип("ДокументСсылка.ЗаказНаряд") Тогда
Если ЗаказНаряды.НайтиСтроки(Новый Структура("ЗаказНаряд", ВыбранноеЗначение)).Количество() = 0 Тогда
НоваяСтрока = ЗаказНаряды.Добавить();
НоваяСтрока.ЗаказНаряд = ВыбранноеЗначение;

// также здесь можно выполнить дополнительные обработки
КонецЕсли;
КонецЕсли;
КонецПроцедуры


👉@DevLab1C
🔥2👍1
Media is too big
VIEW IN TELEGRAM
🤯 Решаем тестовую задачу из собеседования на должность 1С программиста.

Рассмотрим способ решения интересной тестовой задачи на вакансию 1С программиста. Задача одновременно проверяет знание запросов, СКД и в целом понимания что и откуда растет.

источник

👉@DevLab1C
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
Пример реализации двухфакторной авторизации на 1С 8.3.21


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

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

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

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

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

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

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

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

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

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

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

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

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


👉@DevLab1C
👍5