Получи случайную криптовалюту за регистрацию!

Жёлтая тетрадь 📒 Блог о разработке в 1С 👨‍💻

Логотип телеграм канала @yellow_pad — Жёлтая тетрадь 📒 Блог о разработке в 1С 👨‍💻 Ж
Логотип телеграм канала @yellow_pad — Жёлтая тетрадь 📒 Блог о разработке в 1С 👨‍💻
Адрес канала: @yellow_pad
Категории: Технологии
Язык: Русский
Количество подписчиков: 989
Описание канала:

В основном небольшие и почти регулярные заметки из будней программиста 1С
Мои инсайты, что-то новое каждый день
@builin

Рейтинги и Отзывы

3.00

3 отзыва

Оценить канал yellow_pad и оставить отзыв — могут только зарегестрированные пользователи. Все отзывы проходят модерацию.

5 звезд

0

4 звезд

1

3 звезд

1

2 звезд

1

1 звезд

0


Последние сообщения

2021-10-07 08:00:03
Визуальное выделение блоков кода в конфигураторе

Вкусовщина, конечно. Может кто то тоже захочет попробовать.

Чтобы было как на скриншоте:
- Идем в Сервис - Параметры - Тексты, устанавливаем Табуляции - "│" (именно этот символ скопировать нужно).
- На вкладке Модули - Редактирование - Прочее ставим цвет Серебряный (Silver) (или любой другой, если не поменять - будут чёрные).

@yellow_pad | #1С #Конфигуратор
842 viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-09-27 08:00:03
Заголовки полей динамический списков, программно

Не очень хорошо сделано на скриншоте. Результат - на форме поле отображается как "Состояние ЭДО", но при открытии настройки списка, например чтобы настроить отборы, это же поле называется "Состояние УД".

Если очень хочется, то представление поля в СКД тоже можно установить программно, строчек 10-15 и цикл по полям компоновщика настроек.

Проще сразу в коде поле называть так, как оно должно отображаться у пользователя, т.е. просто заменить СостояниеУД на СостояниеЭДО.

@yellow_pad | #1С #НеНадоТак #КопроКод #ДинамическийСписок
1.0K viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-09-23 08:00:08 Проверка типа при работе со списками

При разработке команд в формах динамических списков нужно учитывать, что в выделенной строке списка могут быть не те данные, что ожидаются - пользователь может сгруппировать динамический список. Группировки рекомендуется пропускать, если вы их не обрабатываете специальным способом.

Немного сокращенный пример кода из ССиМ:

&НаКлиенте
Процедура КомандаВФорме(Команда)
МассивОбъектов = Элементы.Список.ВыделенныеСтроки;
Для Каждого ОбъектИзСписка Из МассивОбъектов Цикл
Если ТипЗнч(ОбъектИзСписка) <> <ОжидаемыйТип> Тогда
Продолжить;
КонецЕсли;
// Обработка объекта строки.
КонецЦикла;
КонецПроцедуры

@yellow_pad | #1С #ССиМ #ДинамическийСписок
998 viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-09-20 08:00:10 Сравнение данных по контрольной сумме [No1C]

Моя деятельность сейчас связана не только с 1С, а потому рубрика No1C (= Not only 1C).

Сравнить два набора данных (если это набор, а не пара реквизитов) быстрее, если сравнивать их контрольные суммы (далее - КС). Например, когда нужно сравнить состав документа с составами всех документов в базе. Да, есть накладные расходы на расчёт КС, да, все зависит от ситуации и архитектуры, КС можно хранить, производительность мерить и т.д.

Как правильно сравнивать наборы данных (или объекты) на равенство по КС независимо от архитектуры и способа реализации:
1. КС должна покрывать все значащие поля и только их. Не нужно включать служебные поля, но нужно все поля данных.
2. Если у наборов не совпали КС - данные точно отличаются (см п.1).
3. Если КС наборов совпали, необходимо проверять каждое поле данных на равенство. Есть вероятность, что они отличаются.

ДанныеА=ДанныеБ == КСа=КСб
КСа=КСб <> ДанныеА=ДанныеБ

PS Если ваша собственная реализация КС всегда уникальна и не может выдать одинаковое значение для разных данных, значит она как минимум ничем не отличается от полного сравнения всех полей.

@yellow_pad | #1С #No1C #КонтрольнаяСумма
853 viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-08-31 08:00:00
Период РС точнее секунды = дата в миллисекундах?

Чтобы упорядочить данные в порядке поступления, разработчик добавил измерение МоментВремени и заполнил его из ТекущаяУниверсальнаяДатаВМиллисекундах(). Результат на скриншоте - при поступлении пакета разные наборы данных зарегистрировались одной миллисекундой.

Всё работало, пока в обмен не добавили сценарий "удаляем данные, затем добавляем данные". Появилась плавающая ошибка - часть данных теряется. На самом деле данные сперва приходят, потом удаляются, т.к. нарушен порядок.

Вывод - миллисекунды в 1С могут не быть миллисекундами, или точности миллисекунд может быть недостаточно.

Вариант решения, например - добавить поле с порядковым номером записи, по всем записям или в рамках секунды.

@yellow_pad | #1С #ТекущаяУниверсальнаяДатаВМиллисекундах #Период
943 viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-08-19 08:00:02
Что будет выведено при выполнении команды КомандаТест?
Anonymous Quiz
4%
Строка - Текст
24%
Не определено - Не определено
29%
Не определено -
5%
NULL -
6%
-
31%
Ничего (ошибка выполнения)
225 voters1.1K viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-08-19 08:00:02
Викторина: Что будет выведено при выполнении команды КомандаТест?

@yellow_pad | #1С #Викторина #Функция
913 viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-08-18 08:00:00
Линейное программирование для оптимизации бизнеса
Капризы мутабельных значений
Секреты использования рекурсии в 1С
Варианты работы с JSON

... и множество других наболевших вопросов

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

Также в закреплённых сообщениях канала всегда находится актуальное расписание БЕСПЛАТНЫХ вебинаров, на которые может записаться каждый желающий!

Переходи и подписывайся! У нас найдется ответ на любой вопрос: @koderlineTg
831 views05:00
Открыть/Комментировать
2021-08-17 08:00:10
Строка vs. Перечисление (а если не определились, то можно совместить)

Можно долго спорить о том, что проще и гибче, не решиться и совместить А на скриншоте антипример и копроархитектура.

Сперва спроектировали строковое поле для обозначения системы-источника данных. Удобно, но потом решили, что перечисление будет лучше. Чтобы ничего не сломалось, сделали реквизит составного типа (Перечисление, Строка).

Итог: во всей конфигурации вместо простой проверки каждое значение проверяется дважды, на каждый из типов - см. скриншот.

@yellow_pad | #1С #КопроКод #Перечисления
676 viewsЕвгений Буйлин блог: @yellow_pad, 05:00
Открыть/Комментировать
2021-08-16 09:00:04
ВАКАНСИЯ: Программист БИТ.ФИНАНС, удаленно на фултайм

Приглашаем программиста с опытом настройки и доработки БИТ.ФИНАНС для участия в проекте золотодобывающего холдинга.

Работа с функциональным заказчиком под управлением руководителя проекта, 100% занятость, оформление по договору подряда, срок проекта - 1.5 месяца.

Требования проекта:
- опыт настройки и доработки БИТ.ФИНАНС в части формирования баланса
- опыт разработки в 1С:УПП

Оплата: 1 200 р. за фактический час (9 600 р. в день), полная занятость 40 часов в неделю.

Общие требования и анкета соискателя: https://clck.ru/WrVx9

Контакты: @runtime_team dev@runtime-team.ru

#Вакансия1С #Фриланс1С #Программист1С
644 viewsЕвгений Буйлин блог: @yellow_pad, 06:00
Открыть/Комментировать