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

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

Учебная версия 1С Предприятие 8.3: где скачать бесплатно и как установить
Установка платформы 1С 8.3 - инструкция по шагам
Создание новой базы в 1С 8.3
"Hello, 1C!": пишем первую программу на языке программирования 1С
Создание формы в 1С и работа с обработчиками
Глобальные переменные и модуль формы в 1С 8.3
Локальные переменные в 1С
Оператор присваивания и типы переменных в 1С
Условные операторы в 1С и работа с обычной формой
Управляемые формы в 1С 8.3 - знакомимся и создаем первую форму

Все видео на youtube

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


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


👉@DevLab1C
🔥3👍1
Работа с датой и временем в 1С 8.3


&НаКлиенте
Процедура РаботаСДатойИВременем(Команда)

// Установка даты в переменную
ТолькоДата = '20200415'; // 15.04.2020

// Преобразование строки в дату
ТолькоДата = Дата("20200415"); // 15.04.2020

// Преобразование чисел в дату отдельными частями
ТолькоДата = Дата(2020, 04, 15); // 15.04.2020

// Установка в дате: часы, минуты и секунды
ДатаВремя = '20200415162703'; // 15 апреля 2020 г. 16 ч. 27 мин. 03 сек.

// Получение года (месяца, дня, часа, минуты, секунды) у даты
Год_Даты = Год(ДатаВремя); // 2020
Месяц_Даты = Месяц(ДатаВремя); // 4
День_Даты = День(ДатаВремя); // 15
Час_Даты = Час(ДатаВремя); // 16
Минута_Даты = Минута(ДатаВремя); // 27
Секунда_Даты = Секунда(ДатаВремя); // 03

// Прибавление к дате 3 секунды
Сообщить(ДатаВремя + 3); // 15.04.2020 16:27:06

// Прибавление к дате два месяца
Сообщить(ДобавитьМесяц(ДатаВремя, 2));// 15.06.2020 16:27:03

// Вычитание от даты одного месяца
Сообщить(ДобавитьМесяц(ДатаВремя, -1));// 15.03.2020 16:27:03

// Получение текущей (рабочей) даты
Сообщить(ТекущаяДата());

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


👉@DevLab1C
🔥3👍1
Сложение двух дат в 1С 8.3


&НаКлиенте
Функция СложениеДат(Команда)

ПустаяДата = '00010101';
Дата1 = '20200415'; // 15.04.2020
Дата2 = '20220214'; // 14.02.2022

Результат = ПустаяДата + (Дата1 - ПустаяДата) + (Дата2 - ПустаяДата);

Сообщить("Дата = "+Результат); // Дата = 29.05.4041 0:00:00

Возврат Результат;

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


Сравнение двух дат в 1С 8.3


&НаКлиенте
Процедура СравнениеДат(Команда)

Дата1 = '20200415'; // 15.04.2020
Дата2 = '20200415'; // 15.04.2020

Если Дата1.Сравнить(Дата2) = 0 Тогда
Сообщить("Даты равны");
КонецЕсли;

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


👉@DevLab1C
👍3🔥2
1С: Администрирование

Установка и публикация базы 1С на IIS под ОС Windows 10/11
Присоединение базы 1C без лога к MS SQL 2019
Восстановление нестандартного бэкапа 1С из PostgreSQL. *.sql *.psql

источник

👉@DevLab1C
4👍3🔥3
Расчет количества дней между датами ЗАПРОСОМ в 1С 8.3


&НаКлиенте
Процедура РасчетКоличестваДнейМеждуДатамиЗапросом(Команда)

ДатаНач = '20200415';
ДатаКон = '20200417';

Сообщить(РазницаДатНаСервере(ДатаНач, ДатаКон, "ДЕНЬ")); //2 дня

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

&НаСервере
Функция РазницаДатНаСервере(ДатаНач, ДатаКон, СтрПериод)

//СтрПериод - может быть "ДЕНЬ", "НЕДЕЛЯ", "МЕСЯЦ", "ГОД"
Запрос = Новый Запрос("ВЫБРАТЬ РАЗНОСТЬДАТ(&ДатаНач, &ДатаКон, "+СтрПериод+") КАК РазностьДат");
Запрос.УстановитьПараметр("ДатаНач", ДатаНач);
Запрос.УстановитьПараметр("ДатаКон", ДатаКон);

Возврат Запрос.Выполнить().Выгрузить()[0].РазностьДат;

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


👉@DevLab1C
🔥3👍2
This media is not supported in your browser
VIEW IN TELEGRAM
ПЕРЕТАСКИВАНИЕ В 1С

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

https://telegra.ph/PERETASKIVANIE-V-1S-07-16

👉@DevLab1C
👍8
Media is too big
VIEW IN TELEGRAM
1С на Linux и Postgres: как это сейчас работает и что не работает

источник

👉@DevLab1C
👍4
Получить web-cсылку на объект метаданных

Примеры использования: для запуска ДО из других конфигураций или из Битрикс24 и т.п. интеграций


Функция ПолучитьWebСсылкуНаОбъект(Объект) Экспорт

НавСсылка = ПолучитьНавигационнуюСсылку(Объект);
ДлинаСтроки = СтрДлина(НавСсылка);
ПозицияРеф = СтрНайти(НавСсылка, "?ref");
НавСсылка = Прав(НавСсылка, ДлинаСтроки - ПозицияРеф + 1) + "#" + Лев(НавСсылка, ПозицияРеф - 1);
СтрокаСоединения = СтрокаСоединенияИнформационнойБазы();
srv = НСтр(СтрокаСоединения, "Srvr");
ref = НСтр(СтрокаСоединения, "Ref");
НавСсылка = "e1c://server/"+ srv + "/" + ref + НавСсылка;
Возврат НавСсылка;

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

Если ссылки e1c не открываются, то необходимо текст ниже сохранить в файл с расширением reg и запустить его:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\e1c]
"EditFlags"=hex:02,00,00,00
"URL Protocol"="e1c"
@="URL:e1c"

[HKEY_CLASSES_ROOT\e1c\DefaultIcon]
@="C:\\Program Files (x86)\\1cv8\\common\\1ceunt.dll,17"

[HKEY_CLASSES_ROOT\e1c\shell]

[HKEY_CLASSES_ROOT\e1c\shell\open]

[HKEY_CLASSES_ROOT\e1c\shell\open\command]
@=""C:\Program Files (x86)\1cv8\common\1cestart.exe" /URL "%1""


👉@DevLab1C
👍2