TGViewer
Channel Public Channel
1С:Предприятие 8

1С:Предприятие 8

@devlab1c

🔥 Разработка в 1С — просто и понятно! 🔥

✅ Полезные фишки и лайфхаки для разработчиков
✅ Объяснение сложных тем простыми словами
✅ Готовые решения, сниппеты и примеры кода
✅ Разбор ошибок и способов их устранения
✅ Новости и тренды в мире 1С
Subscribers
866
Photos
114
Videos
327
Links
137

Showing posts older than #465 · Back to latest

Older Posts 13 shown
Post #463 257
Сложение двух дат в 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 Тогда
Сообщить("Даты равны");
КонецЕсли;

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



📲 Мы в MAX

👉@DevLab1C
  • 👍 2
  • 👎 1
  • 🔥 1
Post #462 204
Как в 1с выгрузить список документов в текстовый документ (файл)

источник

👉@DevLab1C
  • 👍 3
Post #461 290
Создать, удалить пользователя, вывести список пользователей в 1С 8.3

Процедура СоздатьПользователя()

ПользовательИБ = ПользователиИнформационнойБазы.СоздатьПользователя();
ПользовательИБ.Имя = "odin1Crus";
ПользовательИБ.Пароль = "4dSwer4";
ПользовательИБ.ПоказыватьВСпискеВыбора = Истина;
ПользовательИБ.Роли.Добавить(Метаданные.Роли.АдминистраторСистемы);
ПользовательИБ.ОсновнойИнтерфейс = Метаданные.Интерфейсы.Основной;
ПользовательИБ.Записать();

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


Процедура УдалитьПользователя()

ПользовательИБ = ПользователиИнформационнойБазы.НайтиПоИмени("odin1Crus");
ПользовательИБ.Удалить();

//ПользовательИБ = ПользователиИнформационнойБазы.ТекущийПользователь();
//ПользовательИБ.Удалить();

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


Процедура ВывестиСписокПользователей()

СписокПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ПользовательИБ Из СписокПользователей Цикл
Сообщить(ПользовательИБ);
КонецЦикла;

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

👉@DevLab1C
  • 🔥 2
  • 👍 1
Post #460 232
🚀 Подборка полезных 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 и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)

Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак

Английский с нуля 🇬🇧
https://max.ru/UchuEnglish

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://max.ru/channel_DevLab1C 1С:Предприятие 8

Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
https://max.ru/channel_cpp_geek C++ geek

Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика

Программирование React📌
https://max.ru/react_lib React

Программирование Rust📌
https://max.ru/channel_rust_lib

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek

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 Обучающие видео, книги по Физике и Математике

Вакансии в IT📌
https://max.ru/progjob
https://max.ru/channel_rabotait

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

Городские📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
https://max.ru/channel_krasnodar_novosty Краснодар Новости
https://max.ru/channel_novosibirsk_novosti Новосибирск
https://max.ru/channel_samara_novosti Новости Самары
https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга
https://max.ru/channel_kazan_novosti Новости Казани
https://max.ru/channel_omsk_novosti Новости Омска
https://max.ru/channel_moskva_24 Москва 24
MAX Системный Администратор | Sysadmin Windows & Linux Server. … Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
Post #459 223
Как удалить документы из базы выборочно за период 2023? Внимание! Инструмент для крайних целей!

Как удалить документы из базы выборочно за период в 1С? Получение объекта и его удаление. Удаление объекта из базы нарушает ссылочную целостность. Необходимо применять для решения нетривиальных задач. Например, при свертке базы.

источник

👉@DevLab1C
  • 👍 2
  • 🔥 2
Post #452 322
Универсальные коллекции значений 1С
Ильяс Низамутдинов

Урок №1. Массивы
Урок №2. Структура
Урок №3. Соответствие
Урок №4. Список значений
Урок №5. Таблица значений
Урок №6. Дерево значений
Урок №7.Бинарный поиск по таблице значений 1С

источник

👉@DevLab1C
  • 🔥 4
  • 👍 1
Post #451 323
Чтение записи документа в регистре сведений запросом в 1С 8.3

&НаСервере
Процедура ЧтениеЗаписиЗапросом()

// Если не требуется изменять найденные записи.
СсылкаДок = Документы.УстановкаЦен.НайтиПоНомеру("ПТО-00000001", '20201231');

// Чтение запросом записей регистра сведений "ЦеныРеализации" текущего документа
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныРеализации.Период,
| ЦеныРеализации.Регистратор,
| ЦеныРеализации.НомерСтроки,
| ЦеныРеализации.Активность,
| ЦеныРеализации.Номенклатура,
| ЦеныРеализации.Контрагент,
| ЦеныРеализации.Организация,
| ЦеныРеализации.Цена
|ИЗ
| РегистрСведений.ЦеныРеализации КАК ЦеныРеализации
|ГДЕ
| ЦеныРеализации.Регистратор = &Регистратор
|УПОРЯДОЧИТЬ ПО
| ЦеныРеализации.НомерСтроки";

Запрос.УстановитьПараметр("Регистратор",СсылкаДок);
РезультатЗапроса = Запрос.Выполнить();

Записи = РезультатЗапроса.Выбрать();
Пока Записи.Следующий() Цикл

Сообщить("по документу " + Записи.Регистратор + " по " +Записи.Организация + ", "
+ Записи.Контрагент + " " + Записи.Номенклатура +" = "+ Записи.Цена + " руб.");

КонецЦикла;

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


👉@DevLab1C
  • 🔥 2
  • 👍 1
  • 😐 1
Post #450 266
🚀 Подборка полезных 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 и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)

Excel лайфхак 📌
https://t.me/Excel_lifehack Excel лайфхак

Английский с нуля 🇬🇧
https://max.ru/UchuEnglish

1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://max.ru/channel_DevLab1C 1С:Предприятие 8

Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
https://max.ru/channel_cpp_geek C++ geek

Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика

Программирование React📌
https://max.ru/react_lib React

Программирование Rust📌
https://max.ru/channel_rust_lib

Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика

Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek

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 Обучающие видео, книги по Физике и Математике

Вакансии в IT📌
https://max.ru/progjob
https://max.ru/channel_rabotait

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

Бонус 📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
MAX Системный Администратор | Sysadmin Windows & Linux Server. … Купить рекламу: https://telega.in/m/i_odmin Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
Post #449 268
Бинарный поиск по таблице значений 1С

В этом видео изучим бинарный поиск, а потом реализуем этот алгоритм для поиска в таблице значений 1С. И самое интересное: проведем сравнение, какой поиск выполняется быстрее: бинарный или типовой поиск по таблице значений.

Таймер к видео:
0:00:48 - Что такое бинарный поиск? Краткое объяснение, демонстрация;
0:04:37 - Подготовительные работы (создаем обработку для демонстрации, заполняем таблицу значений и т.п.);
0:07:53 - Реализуем и проверяем бинарный поиск числового значения по таблице значений;
0:13:04 - Реализуем обычный поиск числового значения по таблице значений;
0:13:57 - Сравниваем скорость обычного и бинарного поиска.

источник

👉@DevLab1C
  • 👍 3
Post #447 362
Ускорение обработки данных в 1С

В этой статье расскажу о том, как можно распараллеливать выполнение длительной обработки данных. Рассмотрим на примере процедуры, в которой получаем массив объектов и обрабатываем по очереди.


Процедура ДлительнаяОперация()

МассивОбъектов = ПолучитьМассивОбъектов();

Для Каждого Ссылка Из МассивОбъектов Цикл

ОбработатьОбъект(Ссылка);

КонецЦикла;

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


&НаКлиенте
Процедура ЗапуститьДлительнуюОперацию(Команда)

ДлительнаяОперация();

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



У меня операция занимает 15 сек.

Создаем процедуру ЗапуститьДлительнуюОперациюНаСервере(), в которой получим массив объектов и разделим его на несколько частей, на каждую часть массива создадим фоновое задание.


Процедура ЗапуститьДлительнуюОперацию(Команда)

ЗапуститьДлительнуюОперациюНаСервере();

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

&НаСервере
Процедура ЗапуститьДлительнуюОперациюНаСервере()

МассивОбъектов = ПолучитьМассивОбъектов();

МассивЧастейОбъектов = Новый Массив;

КолЭлементов = Цел(МассивОбъектов.Количество() / 3);

ЧастьОбъектов = Новый Массив;

Для Индекс = 0 По МассивОбъектов.ВГраница() Цикл

Если ЧастьОбъектов.Количество() >= КолЭлементов Тогда
МассивЧастейОбъектов.Добавить(ЧастьОбъектов);
ЧастьОбъектов = Новый Массив;
КонецЕсли;

ЧастьОбъектов.Добавить(МассивОбъектов.Получить(Индекс));

КонецЦикла;

Если ЧастьОбъектов.Количество() > 0 Тогда
МассивЧастейОбъектов.Добавить(ЧастьОбъектов);
КонецЕсли;

Для Каждого ЧастьОбъектов Из МассивЧастейОбъектов Цикл
ПараметрыВыполнения = Новый Массив;
ПараметрыВыполнения.Добавить(ЧастьОбъектов);

ФоновыеЗадания.Выполнить("СвойОбщийМодуль.ДлительнаяОперация", ПараметрыВыполнения, Новый УникальныйИдентификатор);
КонецЦикла;

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



В серверном общем модуле создаем экспортную процедуру, в которой будем обрабатывать эти части массива по очереди. В итоге будут запущены 3 фоновых задания, которые будут обрабатывать только свою часть объектов.


Процедура ДлительнаяОперация(ЧастьОбъектов) Экспорт 

Для Каждого Объект Из ЧастьОбъектов Цикл
ОбработатьОбъект(Объект);
КонецЦикла;

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


В результате время на операцию занимает меньше секунды.

Но это не значит, что весь массив за это время обработан. Мы лишь запустили задания, которые начали обрабатывать данные в фоне. Если необходима дальнейшая обработка результатов, то можно отловить результаты выполнения фоновых заданий.

👉@DevLab1C
  • 🔥 2
  • ❤ 1
  • 👍 1
Post #446 300
Настройка параметров события Доступ/Отказ в доступе в журнале регистрации в 1С 8.3

&НаСервере
Процедура НастройкаПараметровДоступаКСправочнику()

Спр_Контрагенты = Новый ОписаниеИспользованияСобытияДоступЖурналаРегистрации();
// Объект, доступ к которому будет регистрироваться
Спр_Контрагенты.Объект = "Справочник.Контрагенты";
// Поля доступа:
Спр_Контрагенты.ПоляДоступа.Добавить("УНП");
Спр_Контрагенты.ПоляДоступа.Добавить("Адрес.ЮрАдрес");//Табл.часть
// Поля регистрации:
Спр_Контрагенты.ПоляРегистрации.Добавить("УНП");
Спр_Контрагенты.ПоляРегистрации.Добавить("Адрес.ПочтАдрес");//Табл.часть

АльтерПолей = Новый Массив();
АльтерПолей.Добавить("Страна");
АльтерПолей.Добавить("Область");
АльтерПолей.Добавить("Район");

// Для настройки объекта метаданных
Спр_Контрагенты.ПоляРегистрации.Добавить(АльтерПолей);
НастройкаМетаданных = Новый Массив();
НастройкаМетаданных.Добавить(Спр_Контрагенты);

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

&НаСервере
Процедура НастройкаПараметровОтказаДоступаКСправочнику()

Спр_Контрагенты = Новый ОписаниеИспользованияСобытияОтказВДоступеЖурналаРегистрации();
// Объект, доступ к которому будет регистрироваться
Спр_Контрагенты.Объект = "Справочник.Контрагенты";
// Поля доступа:
Спр_Контрагенты.ПоляРегистрации.Добавить("УНП");
Спр_Контрагенты.ПоляРегистрации.Добавить("Адрес.ЮрАдрес");
АльтерПолей = Новый Массив();
АльтерПолей.Добавить("Страна");
АльтерПолей.Добавить("Область");
АльтерПолей.Добавить("Район");
Спр_Контрагенты.ПоляРегистрации.Добавить(АльтерПолей);

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

&НаСервере
Процедура НастройкаПараметровДоступаКРегистру()

Рег_Сведений = Новый ОписаниеИспользованияСобытияДоступЖурналаРегистрации();
// Объект, доступ к которому будет регистрироваться
Рег_Сведений.Объект = "РегистрСведений.ВидыЗаключенныхДоговоров";
// Поля доступа:
Рег_Сведений.ПоляДоступа.Добавить("РентабельностьСделки");
// Поля регистрации:
Рег_Сведений.ПоляРегистрации.Добавить("Менеджер");

// Для настройки объекта метаданных
НастройкаМетаданных = Новый Массив();
НастройкаМетаданных.Добавить(Рег_Сведений);

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


👉@DevLab1C
  • 🔥 2
  • 👍 1
Post #445 330
Разбор кода. Запись данных из таблицы значений в документ


источник

👉@DevLab1C
  • 🔥 2
  • 👍 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →