Тестирование средств 1С для решения СЛАУ

Публикация № 1761663 23.11.22

Приемы и методы разработки - Математика и алгоритмы

СЛАУ себестоимость алгоритм

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

Введение

Когда-то прочитав публикацию на Зазеркалье о добавлении в платформу метода решения систем линейных уравнений (СЛАУ), был заинтересован, так как раньше немного интересовался алгоритмами решения СЛАУ. Особенно заинтриговала публикаций от 1С на хабре, где они показывают очень уж сильные результаты по времени в сравнении с известными библиотеками. Недавно найдя свои старые наработки по Matlab в части моделирования электромагнитного поля, где как раз и возникают большие линейные уравнения с разреженной, несимметричной матрицей коэффициентов, которые плохо поддаются решению, решил проверить, что покажет на них 1С.

 

Что сравниваем?

    Сравниваем следующие методы:

  • Реализация в 1С, про который немного известно, но судя по описанию с ИТС, у них используется как прямой метод решения, так и итерационный метод, а так же ряд своих оптимизаций, ключевая из которых - это разбить систему на много мелкий, что значительно облегчает поиск решения. Тот или иной метод выбирается в зависимости от вида СЛАУ (разряженные, симметричная и т.д.) и настроек, переданных разработчиком. Так же упоминается, что используются возможности многоядерных процессоров.
  • Реализация в Matlab, которая работает по умолчанию при расчете уравнений x=A\b, где А - коэффициенты уравнений СЛАУ, b-свободные коэффициенты. Matlab так же в зависимости от вида СЛАУ выбирает тот или иной метод. В нашем случае для несимметричных, разреженных матриц (А) будет использоваться метод UMFPACK (V5.4.0 (May 20, 2009), BLAS library used: Fortran BLAS). В свое время выбирая разные методы для своей задачи остановился на нем из-за его всеядности и скорости решения. Метод относится к прямым методам - за конечное число шагов позволяет получить результат. Судя по информации из интернета эта реализация не поддерживает возможности многоядерных процессоров.

 

Тест №1

Возьмем простой пример для понимания процесса оформления решения СЛАУ в системе 1С (на ИТС есть описание):

(1) 1*X1 + 1*X2 + 1*X3 = 2
(2) 5*X1 + 0*X2 + 6*X3 = 3
(3) 4*X1 + 4*X2 + 0*X3 = 4

Для решения нам надо сделать 5 шагов:

  1. Описать таблицу коэффициентов уравнения (то, что слева в системе уравнений от знака равенства)
  2. Описать таблицу свободных коэффициентов уравнения (то, что справа в системе уравнений от знака равенства)
  3. Создать объект платформы РасчетСистемЛинейныхУравнений
  4. Указать таблицы-источники данных уравнения и связываем колонки полей с настройками объекта РасчетСистемЛинейныхУравнений
  5. Расчет
 
 Полный код формирования СЛАУ

Получим "решение" (из трех неизвестных переменных в ответе только одна):



Некорректное решение

 

Однако, если мы не будет добавлять в таблицу нулевые коэффициенты, то есть напишем условие, исключающее их:

Коэффициент = Число(СокрЛП(КоэффициентыУравнения[НомерПеременной]));
Если Коэффициент <> 0 Тогда
	Строка = МатрицаКоэффициентов.Добавить();
	Строка.НомерУравнения = НомерУравнения + 1;
	Строка.НомерПеременной = НомерПеременной + 1;
	Строка.Коэффициент = Коэффициент;
КонецЕсли;

получим корректное решение:

 


Корректное решение

 

Проблема №1: нулевые коэффициенты задавать не нужно, поведение неописанное, значит подходит на ошибку платформы. Косвенно верно, что нет необходимости вставлять нулевые коэффициенты, 1с заявляет решение больших разряженных систем, где нулевые коэффициенты наиболее встречаемые, и если их задавать, скажем в матрице 200 000 х 200 000, может памяти и не хватить, учитывая, что язык 1с интерпретируемый.

Проблема №2: из коробки нельзя проверить решение, только реализовав функцию умножения матриц и вычисления нормы (в нашем случае тоже, что и длина вектора), это не сложно, но зачем, если есть объект решения в платформе и мог бы возвращать точность решения или признак, достигнута ли требуемая точность.

 

Тест №2

Как известно, решение СЛАУ используется в типовых конфигурациях уровня предприятия для нахождения себестоимости, например, продукции. Рассмотрим 1С:Комплексную конфигурацию 2.5 (2.5.9.135) и процедуру расчета себестоимости, посмотрим, как там отрабатывает механизм решения СЛАУ. У меня под рукой небольшая по номенклатуре база с производством продукции. При закрытии месяца отрабатываются различные расчеты СЛАУ, мы будем рассматривать функцию    РасчетСебестоимостиРешениеСЛУ.РешитьСЛУПлатформой_СебестоимостьОрганизаций, точнее часть, представленную ниже, где мы возьмем одну СЛАУ, а ее данные и решение сохраним в файл, чтобы проанализировать отдельно, расчет отрабатывает без ошибок и закрытие месяца проходит удачно:

 
Доработаем типовой функционал, чтобы собрать нужную информацию через расширение

Чтобы визуально посмотреть, с какой матрицей имеем дело, таблицу коэффициентов визуализировал в Matlab, результат ниже, матрица квадратная, разреженная и несимметричная.

 

Вид матрицы коэффициентов, полученной при расчете себестоимости

 

Так же интересен вопрос, есть ли нулевые коэффициенты в данных. Таких элементов не оказалось, поэтому есть шанс, что не попадем на Проблему №1. Выгрузив/загрузив данные в Matlab для проверки решения, оказалось, что если решение 1С подставить в исходную СЛАУ и вычесть свободные коэффициенты, то получим норму (norm (A*x-b)): 1.7095 * 107 . Норма должна стремится к 0 и чем ближе, тем точнее решение. Рассчитанная норма говорит о том, что получено точно не решение уравнения. Перебирая параметры РасчетСистемЛинейныхУравнений  (точность, количество итераций и т.д.), я так и не смог получить что-то адекватное, а отсутствие ошибок встроенного языка говорит косвенно о том, что мы делаем все верно.  Визуально сравнивая попеременно решения 1С и Matlab, как показано ниже, есть много совпадений по результатам, возможно, оптимизатор 1с разбивает решение на  множество мелких СЛАУ, часть которых сходится к решению, а часть нет.

 


Сравнение решений 1С и Matlab

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

Результат

Мы так и не добрались до сравнения графиков скорости работы, потому как на текущий момент сравнивать нечего, 1С отказывается решать СЛАУ с заданной точностью. О найденных ошибках сообщил в 1С, они порекомендовали обновить Комплексную конфигурацию, но надеюсь пробить первую линию и добраться до разработчиков. Если я не ошибаюсь в выводах и все вычисления провел корректно, то потенциально во многих базах на себестоимость стоит обратить внимание. К Тесту №3 - сравнение скорости решений, можно будет вернуться, когда разрешится вопрос с полученными результатами. Тестирование проводилось на платформе 1С версии 8.3.22.1709.

 
Скрипты для преобразования файлов из вложения в данные Matlab и контрольная проверка результатов решений

 

Update 28.11.2022: Вопрос передали в отдел разработки, номер - 60004240

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. pstrig 24.11.22 14:00 Сейчас в теме
Спасибо за исследование. Интересно, чем закончится переписка с разработчиками 1с.
cleaner_it; dabu-dabu; +2 Ответить
2. gzharkoj 463 24.11.22 15:29 Сейчас в теме
(1) Обязательно отпишусь.
Jimbo; Batman; cleaner_it; dabu-dabu; roman72; +5 Ответить
3. roman72 323 25.11.22 22:50 Сейчас в теме
Самое удивительное, что 1С использует просто расчёт СЛАУ. И без всякой оптимизации - поиска оптимального решения.
Меня и удивляет, что при расчете себестоимости это ещё и ладно, решением будет любой набор переменных, укладывающихся в область допустимых решений.
Но в расчете производственной программы СЛАУ без оптимальной функции - это ни о чём. Или....1С не использует СЛАУ в расчете производства...

Вообще говоря, то что расчет от 1С и расчёт от Матлаб несколько расходятся не должно удивлять, если оба решения входят в пространство допустимых решений. Ведь ищется не оптимальное решение, а любое из области допустимых решений.
А вопрос погрешности интересный.
И вопрос разреженных матриц интересный.
Вообще разреженные матрицы - это свойственно областям из физики.
Для области экономики матрицы не должны быть разреженными или настолько разреженными, что решение СЛАУ требует разбиения на подматрицы.
Также для областей экономики характерна целочисленность решений, а значит расчет СЛАУ должен выдавать нулевую погрешность.
Т.е. должна решаться целочисленная СЛАУ.
Этого явно в методе 1С нет.
С Матлаба здесь спросу нет, он скорее для физических областей науки предназначен, чем для экономических.
cleaner_it; +1 Ответить
4. gzharkoj 463 25.11.22 23:45 Сейчас в теме
(3) Мы говорим о математических методах, область допустимых решений определяется погрешностью решения, полученное решение в него не укладывается. Обратите внимание, невязка 10^+7 степени, вместо условного 0.000001. Расчеты расходятся значительно. Это удивительно.
Я тестировал на СЛАУ физической задачи, там все плохо.
В экономических задачах системы проще, но подходы к улучшению сходимости общие. Поэтому 1с и не стало использовать известные методы, а сделало, как они заявляют свой, под особенности задачи расчета себестоимости.
Меня удивляется еще тот факт, что
их метод всегда возвращает решение, без информации уложился он в ограничения или нет. И описание того, что может вернутся все, что угодно нет. Вопросов много, как этим пользоваться.
Jimbo; cleaner_it; +2 Ответить
5. roman72 323 26.11.22 03:19 Сейчас в теме
(4) Если
а) как вы говорите решение СЛАУ от 1С вышло за пределы области допустимых решений
б) полученное решение не проверяется на допустимость (ведь банальная подстановка в матрицу это несложно, да?)

то вывод достаточно простой:
1) 1С не знакомо с теорией решения СЛАУ в необходимом объёме (особенно в части достижения точности результатов)
2) 1С не усложняла себе жизнь и сделала банальный решебник СЛАУ в расчёте на то что погрешность округления не будет слишком большой

Вывод:
пользоваться функцией расчета СЛАУ от 1С рискованно.
cleaner_it; +1 Ответить
6. gzharkoj 463 26.11.22 08:54 Сейчас в теме
(5) вы верно написали, но с теорией они точно знакомы, жду разъяснений от 1С, каков был замысел: возможно ошибка в реализаци, а возможно что-то не описали в документации.
Jimbo; cleaner_it; +2 Ответить
7. roman72 323 26.11.22 22:20 Сейчас в теме
(6) Буду признателен, если уведомите что же они ответили в конце концов.
cleaner_it; +1 Ответить
8. Jimbo 9 29.11.22 08:33 Сейчас в теме
Из серии ничего не понятно, но очень интересно!
9. Cmapnep 16 29.11.22 18:57 Сейчас в теме
Решение СЛАУ в платформе разрабатывал Никита Старичков
Попробуйте с ним связаться в чате сообщества в телеграм "e1c_community"
Он там админ, ник у него @demist
Думаю, что он сможет ответить на все ваши вопросы, а также ускорить решение вопроса
gzharkoj; +1 Ответить
10. gzharkoj 463 01.12.22 10:01 Сейчас в теме
11. gzharkoj 463 12.12.22 21:38 Сейчас в теме
(9)Написал,ответил,когда-то участвовал в этом проекте, но больше не имеет отношения, пытать его вопросами не стал.
Aphanas; Cmapnep; +2 Ответить
Оставьте свое сообщение

См. также

Программные перечисления, ч.2: приемы кэширования при разработке Промо

Универсальные функции Механизмы платформы 1С Запросы Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

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

30.10.2017    30723    unichkin    18    

Идентификатор объекта в запросе. Вы этого хотели?

Запросы Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Запросы Запросы Бесплатно (free) Бесплатно (free)

В платформе 8.3.22 появилась возможность получать идентификатор в запросе. Лично я ждал этого давно, но по итогу ждал большего. Что не так?

12.01.2023    4829    dsdred    13    

Практическая шпаргалка по новым возможностям языка запросов 1С

Механизмы платформы 1С Запросы Платформа 1С v8.3 Платформа 1С v8.3 Запросы Запросы Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

В предлагаемой статье решил привести примеры применения новых возможностей языка запросов 1С, начиная с версии платформы 8.3.20.

21.11.2022    13443    quazare    33    

1С и Unicode

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Разбираемся, как 1С работает с текстом и отдельными символами в контексте Unicode.

05.09.2022    2946    Irwin    30    

Использование классов .Net в 1С для новичков Промо

Механизмы платформы 1С Платформа 1С v7.7 Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Руководство для новичков. Написав статью http://infostart.ru/public/238584/, я понял, что многие не понимают того, что написано. Поэтому в этой статье постараюсь более подробно остановиться на азах и без кода на вражеском языке (C#)

27.01.2016    90580    Serginio    116    

Шпаргалка по функциям АСИНХ

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Бесплатно (free) Бесплатно (free)

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

29.07.2022    9947    zeltyr    16    

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:ERP Управление предприятием 2 Бесплатно (free) Бесплатно (free)

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

11.07.2022    4991    it-expertise    27    

Динамическое обновление - это зло?

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Копнем глубже в тему "Что же такое динамическое обновление" и почему оно может привести к проблемам. И может ли?

09.05.2022    15002    Infostart    77    

Отборы динамического списка

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Динамический список предоставляет несколько объектов "Отбор". В статье разбирается, какой для чего нужен и как их использовать на форме. Рассматриваются только возможности платформы (без БСП).

28.03.2022    17894    Gladkov_Anton    5    

Фишки платформы 1С 8.3 для начинающего разработчика

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бесплатно (free) Бесплатно (free)

В данной заметке рассмотрены вспомогательные инструменты платформы, которыми часто пренебрегают начинающие программисты 1С.

11.03.2022    9945    Dimbayyyy    98    

Вспомогательные инструкции в коде 1С Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Помогаем редактору кода 1С помогать нам писать и анализировать код.

15.10.2018    39781    tormozit    107    

Несколько простых приемов для удобной работы в конфигураторе

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Простая и удобная среда разработки 1С:Предприятия позволяет практически любому человеку начать работать под капотом 1С - в конфигураторе. Время идет, новички становятся программистами, специалистами, а об удобных приемах работы узнают годами, по ходу своего карьерного пути. А здорово было бы, если бы все знали удобные приемы в начале своего пути? Эти несколько приемов будут полезны новичкам, так как они затрагивают ту область работы, с которой приходится сталкиваться в начале карьеры.

12.11.2021    11396    acces969    95    

Как спроектировать структуру регистра сведений

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Запросы Запросы Бесплатно (free) Бесплатно (free)

«Что может быть проще?» — это первое, что приходит в голову. Но что, если это не так? В этой статье мы попробуем затронуть некоторые вопросы, которые могут возникнуть при проектировании больших регистров.

08.11.2021    8182    Neti    60    

О вложенных попытках, исключениях и о представлении ошибок

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

В данной статье, на небольшом примере, мне бы хотелось показать, как себя ведут вложенные "Попытка-Исключение". А также о том, чем отличаются методы ОписаниеОшибки() и ИнформацияОбОшибке().

07.11.2021    9923    Nicholas    22    

Как прикрутить ГУИД к регистру сведений Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

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

16.04.2019    24785    m-rv    18    

Обработчик ожидания. Нюансы

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

ПодключитьОбработчикОжидания: некоторые подробности и особенности работы

24.08.2021    21706    Yashazz    25    

Метод формирования движений в типовых регистрах нетиповыми регистраторами Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Вариант решения задач с проведением по типовым регистрам нетиповыми регистраторами. Зачем - чтобы при сравнении конфигурации не обращать внимание на свойства регистров и исключить вероятность допущения горькой оплошности при обновлении информационных баз, заменив типы регистраторов основной конфигурации типами конфигурации поставщика. Для программных продуктов, имеющих в своем составе метаданных документ "Корректировка регистров"("Корректировка записей регистров").

05.12.2017    31975    itriot11    34    

Новичок новичку: как добавить программно кнопку на форму путем расширения

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Бесплатно (free) Бесплатно (free)

Рассказываю очень простым языком, как добавить программно кнопку в типовую конфигурацию. Сам новичок в этом деле и рассказываю на "новичковом" языке.

13.05.2021    34677    user1312100    26    

Программное создание расширения

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Создание нового расширения "на лету", только штатными средствами 1С.

06.04.2021    6556    Yashazz    15    

Ускоряем 1С: модули с повторным использованием возвращаемых значений Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

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

04.09.2017    63664    m-rv    64    

Советы из Желтой тетради 📒 #1

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

В этой публикации я собрал в одном месте часть советов и лайфхаков, которые открыл для себя в последнее время. Регулярно я публикую их в своём телеграм-блоге "Жёлтая тетрадь 📒 Блог программиста 1С", здесь же - дайджест этих публикаций.

15.03.2021    6217    builin    120    

Расширенный автоподбор при вводе по строке в поле ввода в управляемых формах

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Началось все с того, что штатный автоподбор при вводе по строке в поле ввода для некоторых больших справочников устраивать перестал. Вообще, для способа поиска строки "Любая часть" он работает на первый взгляд очень хорошо: работает как полнотекстовый (т.е. по нескольким словам) даже без активации полнотекстового поиска, красиво подсвечивает слова поиска в результатах. Казалось бы, все отлично. Но есть неприятное ограничение - всего лишь 10 значений в результирующем списке (у вас может быть несколько больше, так как платформа неявно добавляет результаты поиска по истории ввода). Для небольших справочников или справочников с разнородным ассортиментом все хорошо. Но не в моей ситуации. А простых путей увеличить количество выдаваемых строк на момент написания статьи мне обнаружить не удалось. Пришлось полностью переопределять автоподбор. Ниже речь пойдет именно об этом. И, к слову, в типовых конфигурациях для некоторых справочников используются похожие приемы для увеличения количества строк результата автоподбора.

21.01.2021    9391    herfis    9    

Регулярные выражения без внешних компонент? Легко! Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    78930    starik-2005    111    

О формах 1С замолвите слово... Необычное использование знакомого всем объекта

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

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

13.01.2021    10168    CyberCerber    46    

Наследование свойств элементов, или Как пользователь может сломать вашу форму

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1C v8.2 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

В 1С можно установить свойства ТолькоПросмотр, Доступность и Видимость не только на элементы формы, но и на группы элементов. Но стоит ли так делать? Оказывается, пользователь может обойти запреты, которые установлены на папку. Об этом подробнее в видео.

12.01.2021    6139    SeiOkami    27    

Установка отбора для поля ввода управляемой формы через ПараметрыВыбора (без переопределения событий "НачалоВыбора", "Автоподбор")

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Управляемые формы Управляемые формы Бесплатно (free) Бесплатно (free)

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

15.11.2020    15019    Eugen-S    11    

Минимализмы 3 Промо

Математика и алгоритмы Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Очередная серия "минимализмов" [http://infostart.ru/public/306536/, https://infostart.ru/public/460935/]. Также, как и в предыдущих статьях, здесь приведена подборка коротких оригинальных авторских решений некоторых задач. Ранее эти решения были разбросаны по моим комментариям к чужим публикациям.

19.02.2018    53292    ildarovich    47    

Лайфхаки для разработчиков 1С. Часть 1

Универсальные функции Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Россия Россия Бесплатно (free) Бесплатно (free)

Собрали 20 лайфхаков, которые используют наши программисты при работе с 1С. Формы, контрагенты, СКД, процедуры, глюки платформы и многое другое. В этой статье публикуем первую часть.

30.09.2020    9112    Neti    47    

Новое отображение ошибок в 1С

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Рассмотрим развитие механизма отображения ошибок в 1С (начиная с 8.3.17)

10.08.2020    35265    SeiOkami    45    

Вы запускаете приложения, но делаете это без уважения

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

О запуске сторонних приложений и скриптов из кода встроенного языка платформы 1С.

21.07.2020    14528    Infostart    32    

Методика переопределения и вызова обработчиков событий обычной формы Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Россия Россия Бесплатно (free) Бесплатно (free)

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

24.06.2007    91864    tormozit    31    

Использование Стека вызовов в качестве условия оператора Если [...] Тогда

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Делюсь интересным приёмом, позволяющим использовать данные стека исполнения кода 1С в качестве условия, накладываемого на выполнение кода.

12.07.2020    12407    sapervodichka    64    

Совместимость работы со строками. Жизнь до 8.3.6 и после

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Немного о совместимости со старыми версиям платформы 1С в работе со строками.

21.02.2020    7001    Infostart    25    

Отладка подключаемых обработок Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

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

04.01.2017    89053    unichkin    120    

Treemapping — способ визуализации данных древовидной структуры. Карта-схема дерева

Математика и алгоритмы Работа с интерфейсом Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Предлагается ознакомиться с редким способом графического представления иерархических данных. Приводится алгоритм формирования и пример реализации.

18.02.2020    8081    randomus    20    

Эволюция расширения конфигурации

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

С каждым днем всё больше возможностей появляется в расширении конфигурации, но не все до сих пор работают даже на платформе 8.3.6! Давайте окунемся в историю появления и эволюции расширения конфигурации, чтобы знать и понимать, когда можно применить тот или иной функционал!

06.02.2020    21232    Xershi    49    

Недокументированное использование стандартных обработок из меню "Все функции". Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Рассмотрены возможности произвольного использования стандартных функций, вызываемых из меню платформы "Все функции" - "Стандартные" (Активные пользователи, Журнал регистрации, Поиск ссылок на объект, Проведение документов ...).

19.06.2015    127953    ekaruk    143    

30 задач. Странных и не очень

Математика и алгоритмы Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

30 задач на знание языка программирования 1С и некоторого поведения платформы. Маленьких. Странных и не очень.

02.12.2019    36383    Infostart    63    

Фишечки-рюшечки

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

За годы работы с 1С собрался определенный багаж хитростей, который позволяет разрабатывать быстрее/эффективнее/качественнее. Поделюсь ими в данной статье.

06.11.2019    10155    mpeg1989    95    

Простая и быстрая эмуляция операций с битовыми строками Промо

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Битовые строки могли бы упростить реализацию некоторых алгоритмов на языке платформы «1С: Предприятие 8». Но пока в платформе операций с битовыми строками нет. В то же время уже сделанные попытки смоделировать эти операции преобразованиями над числами опираются на циклы обработки отдельных битов, что плохо сказывается на скорости их работы. Предлагается новое простое решение, основанное на представлении битовых строк строками символов «0» и «1». Приводится примеры кода выполнения основных логических операций AND, OR, XOR, NO без использования циклов. В качестве прикладной задачи рассмотрено получение последовательных значений кода Грэя, который можно использовать для ускорения перебора вариантов.

22.06.2016    31200    ildarovich    14    

ЧтениеДанных и ЗаписьДанных. Работа со строками

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Использование потоков и двоичных данных для работы со строками.

04.10.2019    17440    Yashazz    16    

Таблица значений. Нюансы

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Обзор некоторых аспектов использования общеизвестного инструмента 1С.

01.10.2019    67702    Yashazz    62    

От чего можно отказаться при разработке расширений 1С

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Бесплатно (free) Бесплатно (free)

Разработка расширений 1С и оптимизация через механизм БСП: Дополнительные отчеты и обработки.

23.09.2019    12682    independ    33    

Критерии отбора. От простого к сложному

Механизмы платформы 1С Платформа 1С v8.3 Платформа 1С v8.3 Конфигурации 1cv8 Конфигурации 1cv8 Бесплатно (free) Бесплатно (free)

Небольшая заметка о работе с критериями отбора и их внутреннем устройстве.

22.09.2019    25607    Infostart    5