Е.БУДНИ программиста 1С | Роман Чумадин
17.2K subscribers
183 photos
50 videos
3 files
299 links
Ежедневные будни программиста 1С - это канал с реальными задачами с работы, с собеседований, повседневные хитрости, подборки и гайды. Подойдет для начинающих и опытных

Автор и вопросы по рекламе: @chum1roma
Download Telegram
Стрим в ближайший вторник — Разбор заметок + ответы на вопросы по 1С

Содержание стрима:

🔸 Разбираем мои новые заметки за месяц, которые я сохраняю в отдельном канале Е.Б.LIST
🔸 Стандартный формат ответы на вопросы по сфере 1С (технические, по развитию и т.п.)

➡️ Ссылка на трансляцию в VK Live, а также в YouTube ⬅️

Расписание: один раз в месяц, во вторник в 20:00 по МСК.
Когда: дата сообщается заранее. Ближайшая - 30 июня.
Продолжительность 10-60 минут, в зависимости от контента и количества ваших вопросов.

🔴 Будет запись, если что, пишите вопросы под этим постом!

Кстати, про события в мире 1С актуальную информацию можно найти на вот этом сервисе OnEvents.ru

#ЕБ_РегулярныеСтримы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73
Стрим через 1 час — Разбор заметок + ответы на вопросы по 1С

Содержание стрима:

🔸 Разбираем мои новые заметки за месяц, которые я сохраняю в отдельном канале Е.Б.LIST
🔸 Стандартный формат ответы на вопросы по сфере 1С (технические, по развитию и т.п.)

➡️ Ссылка на трансляцию в VK Live, а также в YouTube ⬅️

Когда: сегодня в 20:00. по МСК
Продолжительность 10-60 минут, в зависимости от контента и количества ваших вопросов.

🔴 Будет запись, если что, пиши вопросы под этим постом!

#ЕБ_РегулярныеСтримы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
РУБРИКА «ЧёПоСтандартам»
Обеспечение совместимости библиотек

В основном стандарт рассчитан на тех, кто занимается разработкой своих библиотек, но ознакомиться с ним точно стоит с точки зрения понимания и БСП, как самого явного примера библиотек.

#std644

1. При разработке библиотек необходимо обеспечивать обратную совместимость
...
1.5. В целях обеспечения совместимости следует
- выделить программный интерфейс библиотеки, скрыв от потребителей все остальные детали ее реализации;
- и не изменять программный интерфейс и поведение. Его допустимо только расширять.
...
2.1. Для разделения программного интерфейса от служебных процедур и функций необходимо размещать их в разных разделах модуля или в разных общих модулях.
При размещении в разных общих модулях, к модулям со служебными процедурами и функциями может быть добавлен постфикс Служебный (англ. Internal).
Например:
- Общие модули ОбменСообщениями и ОбменСообщениямиКлиент – программный интерфейс подсистемы «Обмен сообщениями»
- Общий модуль ОбменСообщениямиСлужебный – служебные процедуры и функции подсистемы, которые не предназначены для использования в коде конфигурации-потребителя.
...
3.1. При необходимости переименовать (или удалить) экспортную функцию (процедуру) следует оставить прежнюю реализацию функции, пометив ее как устаревшую с помощью комментария

 
Лично не встречал на своей практике сторонние библиотеки в 1С, если не брать БСП, прям чтобы это называлась библиотекой, подсистемы - да, а библиотеки - нет.
Если вы писали или знаете примеры других библиотек для 1С, кроме БСП, покидайте ссылки на них в комментариях 💬)

P.S. Пункт 2.1. когда-то попался как вопрос на собеседовании "Зачем же используется префикс "Служебный"?")

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std644
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6
Check, никогда бы не подумал)

Иной раз едешь на такси и видишь как горит чек, и думаешь, ну ведь что-то же не работает, почему не починить?!)

И вот, уже несколько недель я езжу с check'ом на приборной панели своего авто)

Проблема в ГБО (газ) установленном на авто, как оказалось довольно экономичная штука и удобная сейчас, пробки на заправках почти такие же как и были. Но после последнего ремонта плохо отрегулировали, из-за чего смесь работает некорректно и выходит ошибка по топливу.
А чтобы попасть на спец.СТО очередь, так как все кинулись ставить газ)

Делитесь в комментариях, ездите ли вы с горящими ошибками на приборке забивая на них, исправляете как только будет удобно или вовсе никуда не едете пока не исправите?)💬

#ЕБ_МыслиЗаметки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥7🙈61
РУБРИКА «ЧёПоСтандартам»
Обработчик события ОбработкаПроверкиЗаполнения

Если вы задавались вопросом как и где проверить корректность заполнения документа, то ответ есть в этом стандарте.

#std463

1.1. В данном обработчике модуля объекта выполняются действия, связанные с проверкой правильности заполнения значений реквизитов объектов (измерений, ресурсов, реквизитов табличных частей и т.п., далее: просто "реквизиты").

1.2. Данным обработчиком следует пользоваться в случаях, когда для проверки корректности значений реквизитов обычной проверки на заполненность уже недостаточно (например, значение реквизита логически связано со значением другого реквизита), или же требование к тому, чтобы значение реквизита было заполнено не является безусловным.

1.3. Следует учитывать, что обработчик ОбработкаПроверкиЗаполнения вызывается не при каждой записи объекта, в частности, он не вызывается в случаях если запись были инициирована программно.

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

 
Далее приведу немного вырванный из контекста кусок текста из этого стандарта, но тем не менее довольно важный. Речь про транзакционную проверку состояния движений, формируемых документами оперативного учета:

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


P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std463
👍135
Записи выступлений

Итак, хорошие новости, подъехали записи моих выступлений.

На Инфостарт плюсом ещё и в виде статьи, по возможности, накидайте плюсиков, говорят это поднимает что-то там)
И отдельно ссылка на видео

На ЕстьРесурс ERP AI Forum так же вышли записи, но пока актуальность сохраняется, они доступны платно. По цене чуть дешевле онлайн билета, если следите за актуальной информацией и пропустили конференцию, можно успеть воспользоваться таким вариантом)

#ЕБ_МыслиЗаметки
👍53
РУБРИКА «ЧёПоСтандартам»
Обработчик события ОбработкаЗаполнения

Не путать с обработчиком "ОбработкаПроверкиЗаполнения", о котором был пост на прошлой неделе.
В этом стандарте речь про обработку заполнения, в том числе про ввод на основании.

#std396

1. В случае если в силу каких-либо условий необходимо ограничивать ввод на основании по команде "Создать на основании", то такую проверку следует выполнять в обработчике ОбработкаЗаполнения модуля объекта (набора записей).
...
2. Для оповещения пользователя о причинах отказа, в обработчике ОбработкаЗаполнения следует использовать исключения
...
При этом не рекомендуются какие-либо иные решения для подобных проверок. В частности, не следует создавать дополнительные команды для ввода на основании и размещать проверки в обработчиках этих команд.

3. Рекомендуется придерживаться следующей логической структуры обработчика ОбработкаЗаполнения
3.1. Выполнение специального заполнения в зависимости от типа параметра ДанныеЗаполнения.
3.2. Выполнение общего заполнения, с целью заполнить значениями по умолчанию реквизиты, которые не были заполнены специальным заполнением. При этом необходимо предварительно проверять реквизит на заполненность.
...
Также при заполнении реквизитов значениями по умолчанию следует, по возможности, использовать свойство метаданных "Значение заполнения". Значение, указанное в этом свойстве будет автоматически присваиваться реквизиту при выходе из обработчика ОбработкаЗаполнения, в случае если параметр СтандартнаяОбработка установлен в Истина, и реквизит не был заполнен в обработчике.
... 


В конце есть важное уточнение и ссылка на другой стандарт -Подсказка и проверка заполнения

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std396 #std478
👍12
РУБРИКА «ЧёПоСтандартам»
Требования к проведению документов

Кто бы мог подумать о том, что в стандартах можно ещё встретить ответ на вопрос, который встречается почти на каждом собесе, "зачем же нужны документы в 1С". Что ещё раз говорит о том, что регулярное чтение и изучение стандартов 1С поможет вам не только в текущей работе, но и при поиске новой работы)

#std603

1. Документы предназначены для ввода первичной информации, связанной с регистрацией событий, воздействующих на учитываемые в системе показатели. Например, при автоматизации финансово-хозяйственной деятельности предприятия – это учет различных хозяйственных операций; в системах управления производственными процессами – регистрация производственных операций и т. д.
...
2. ...
Логически, непроведенный документ отличается от проведенного тем, что непроведенный документ является «черновиком», не отраженным в учете.
...
2.3. Исключение ... - например, входящую корреспонденцию, звонки, встречи и т.п.
- отдельные документы, технология проведения которых сильно отличается от технологических возможностей платформы
...
7.1.1. В случае, если в документе не менялись данные, влияющие на проведение (например, изменили только значение реквизита Комментарий) проведение проведенного ранее документа, не должно приводить к изменению его движений.
... 


Последний пункт 7.1.1. напоминает про первые годы работы, когда ты не готов к тому, что просто перепроведение документа приведет к тому, что все поедет)) И приходилось как-то откатываться либо перегружать данные из копии. И все из-за того, что кто-то добавляет механизмы, настройки без даты начала действия новых доработок... Частично, об этом говорит пункт 7.2.2.

7.2.2. Нужно стремиться, чтобы настройки программы (например, значения функциональных опций) оказывали наименьшее влияние на формирование движений. Тогда пользователь сможет свободно менять эти настройки.

Некоторые приемы для достижения такого поведения

- указание даты начала действия настройки (периода действия) и учет этой даты в алгоритмах формирования движений;
- заполнение отключенных по настройкам обязательных полей значениями по умолчанию: тогда пользователь сможет свободно включить настройку, ограничения будут связаны только с отключением такой настройки;
- формирование движений без учета настройки и дополнительные меры в объектах, которые отображают информацию из учетных регистров. Например, значение измерения регистра накопления всегда пишется одинаково, но отчеты по этому регистру измерение скрывают, если оно отключено.


Поделитесь в комментариях историями, как вы просто перепровели случайно документ в рабочей базе и все похерилось)💬

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std603
Please open Telegram to view this post
VIEW IN TELEGRAM
👍124🔥1
Запуск внешней обработки

Вчерашний стандарт напомнил ещё одну историю, когда ты просто открываешь обработку, а она выполняет какие-то действия прям сразу... Да, возможно в каких-то случаях это нормально, но я считаю всё-таки нет)) и надо запускать действия только по кнопке.
У меня это привело к привычке открывать любые обработки написанные не мной, а если мной, то тем более)), сначала в конфигураторе и смотреть/проверять, что именно она делает!

А вы сталкивались с такими обработками?

Ну и раз уж сегодня пятница, то желаю всем хороших выходных!)

#ЕБ_МыслиЗаметки
👍23💯15
Media is too big
VIEW IN TELEGRAM
Хочешь соединять мир бизнеса и цифровых технологий? 💻
Тогда направление «Бизнес-информатика на платформе 1С» в «Алабуга Политех» — для тебя!

Здесь ты не просто читаешь учебники. Ты:
☺️ изучаешь IT-технологии и анализ данных
☺️ учишься управлять бизнес-процессами
☺️ участвуешь в реальных цифровых проектах компании

Что ты получишь:
• Зарплату от ☺️☺️ ☺️☺️☺️ рублей в месяц (растёт каждый год!)
• Диплом государственного образца
• Работу с первого дня обучения
• Проживание в современных хостелах

Пока другие только учат теорию — ты уже набираешься опыта и становишься востребованным специалистом.


🔗 Подай заявку в «Алабуга Политех» и начни карьеру в профессии будущего!

Реклама. АО "ОЭЗ ППТ Алабуга", ИНН 1646019914, erid: 2VtzqwUp3fx
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡106👍32🆒1
РУБРИКА «ЧёПоСтандартам»
Многократная запись регистров сведений и накопления

Стандарт, с которым многие сталкиваются в начале своего пути, когда ещё только разбираются что такое МенеджерЗаписи, а что такое НаборЗаписей. И как раз этот стандарт может помочь новичкам более детально разобраться что и зачем, и почему в большинстве случаев надо использовать НаборЗаписей.

#std792

1. Не рекомендуется записывать наборы записей регистров сведений и накоплений в цикле по одной или нескольким записям. Это в несколько раз медленнее по сравнению с записью регистра одним набором. В большинстве случаев следует ориентироваться на порционную запись наборов из 1000 записей.

2. Рекомендуется избегать перезаписи большого набора, в котором меняется не более 30% записей. Вместо этого следует записывать только изменения.
Перезапись набора приводит к удалению всех записей по отбору набора записей и вставке всех новых записей набора, включая те, которые не менялись...

3. Для оптимальной записи регистров следует применять режимы замещения в сочетании с вычислением измененных записей.
В частном случае, когда нужно только добавить записи в пустой регистр, достаточно в методе Записать набора записей задать параметру РежимЗамещения значение Ложь (добавление).
... 


В самом стандарте есть отличные примеры, которые также посоветую прочитать!

P.S. Полное описание стандарта по ссылке в начале поста
#ЧёПоСтандартам #std792
👍10🔥2