Расчет медианы и квартилей для дискретного ряда запросом

Публикация № 1157774

Разработка - Практика программирования

медиана квартиль квантиль перцентиль статистические показатели

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

Что такое медиана и квартили?

Медиана — числовое значение признака, которое делит упорядоченную по возрастанию совокупность на две равных части.

Квартили — числовые значения признака, которые делят упорядоченную по возрастанию совокупность на четыре равных части. 
Раз квартили делят совокупность на четыре части, то квартилей бывает три варианта: первый (нижний), второй(средний), третий (верхний). Второй квартиль это и есть медиана.

Пример

Имеем числовой ряд [1,3,5,7,9,11,13]:

  • Медиана = 7 (делит исходный ряд пополам [1,3,5] + [9,11,13]);
  • Квартиль1 = 3 (делит ряд [1,3,5] пополам);
  • Квартиль2 = Медиана = 7;
  • Квартиль3 = 11 (делит ряд [9,11,13] пополам).

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

Зачем все это нужно?

Медина

Такой показатель как "среднее" знаком всем и ни у кого не возникает вопросов о его необходимости. Проблема со средним в том, что оно хорошо описывает данные, если они распределены нормально. Иначе, как правило, разумнее использовать медиану. 

Самый простой пример: средняя зарплата в России. Показатель в некотором смысле отражает "среднюю температуру по больнице", так как на него оказывают сильное влияние выбросы — условно, слишком большие зарплаты олигархов. В то же время, медиана показывает такой размер зарплаты, который делит население пополам — половина получает меньше этой суммы, половина больше. В итоге, медиана почти в 1.5 раза меньше средних показателей зарплаты.

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

Квартили

Например, есть задача оценки адекватности закупочной цены на товар на текущий момент. 

Один из вариантов — посмотреть по каким ценам продавался этот товар ранее и исходя из наценки рассчитать целевую закупочную цену. Но смотреть на среднее, как было сказано выше, плохая затея. Можно, например, попытаться определить такую цену, что 75% товара продавалось по ней или выше — это и будет 1-й квартиль. Все это, правда, будет работать, если у нас достаточно наблюдений — например, товар продавался хотя бы раз 30, чтобы было на основе чего все рассчитывать.
Безусловно, все это не может быть единственным критерием для определения разумной закупочной цены и нужно использоваться что-то еще.

Формулы

В общем случае можно посчитать порядковый номер медианы и квартилей:

  • порядковый номер медианы = (n+1)/2;
  • порядковый номер квартиля = номер квартиля*(n+1)/4.

В нашем примере:

  • порядковый номер медианы = (7+1)/2 = 4;
  • порядковый номер первого квартиля = 1*(7+1)/4 = 2;
  • порядковый номер первого квартиля = 2*(7+1)/4 = 4;
  • порядковый номер первого квартиля = 3*(7+1)/4 = 6.

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

Так же в общем случае, не всегда есть порядковый номер: один и тот же признак может встречаться в выборке несколько раз и пронумеровать их можно будет только условно. Например, в статье //1c.taxpravo.ru/public/539316/ рассматривается как раз такой вариант решения.

В общем случае, можно использовать понятие накопленной частоты для каждого уникального элемента ряда. Подробнее про теорию можно почитать, например, тут: https://studfile.net/preview/5316597/page:3/#9. Там же есть хорошие примеры расчета.

Запрос

Постарался прокомментрировать все действия в самом запросе

//готовим саму выборку данных
//Значение — значение признака
//Частота — сколько раз данный признак встречается в выборке
ВЫБРАТЬ
    Продажи.Номенклатура КАК Группировка,
    СУММА(Продажи.КоличествоОборот) КАК Частота,
    ВЫРАЗИТЬ(Продажи.СтоимостьОборот / Продажи.КоличествоОборот КАК ЧИСЛО(15, 0)) КАК Значение
ПОМЕСТИТЬ врВыборка
ИЗ
    (ВЫБРАТЬ
        ПродажиОбороты.Номенклатура КАК Номенклатура,
        ПродажиОбороты.Регистратор КАК Регистратор,
        ПродажиОбороты.КоличествоОборот КАК КоличествоОборот,
        ПродажиОбороты.СтоимостьОборот КАК СтоимостьОборот
    ИЗ
        РегистрНакопления.Продажи.Обороты(, , Регистратор, ) КАК ПродажиОбороты
    ГДЕ
        ПродажиОбороты.КоличествоОборот > 0
        И ПродажиОбороты.СтоимостьОборот > 0) КАК Продажи
 
СГРУППИРОВАТЬ ПО
    Продажи.Номенклатура,
    ВЫРАЗИТЬ(Продажи.СтоимостьОборот / Продажи.КоличествоОборот КАК ЧИСЛО(15, 0))
;
 
////////////////////////////////////////////////////////////////////////////////
//рассчитываем порядковые номера квартилей и медианы, отдельно целые части, отдельно дробные
//попутно рассчитываем средние, минимальные и максимальные значения
ВЫБРАТЬ
    врВыборка.Группировка,
    СУММА(врВыборка.Частота) КАК РазмерВыборки,
    ВЫРАЗИТЬ(СУММА(врВыборка.Частота * врВыборка.Значение) / СУММА(врВыборка.Частота) КАК ЧИСЛО(15, 2)) КАК СреднееЗначениеПоВыборке,
    МИНИМУМ(врВыборка.Значение) КАК МинимальноеЗначениеПоВыборке,
    МАКСИМУМ(врВыборка.Значение) КАК МаксимальноеЗначениеПоВыборке,
    ВЫРАЗИТЬ((СУММА(врВыборка.Частота) + 1) / 2 - 0.5 КАК ЧИСЛО(15, 0)) КАК ПорядковыйНомерМедианы,
    (СУММА(врВыборка.Частота) + 1) / 2 - (ВЫРАЗИТЬ((СУММА(врВыборка.Частота) + 1) / 2 - 0.5 КАК ЧИСЛО(15, 0))) КАК СмещениеМедианыВправо,
    ВЫРАЗИТЬ(1 * (СУММА(врВыборка.Частота) + 1) / 4 - 0.5 КАК ЧИСЛО(15, 0)) КАК ПорядковыйНомерКвартиля1,
    1 * (СУММА(врВыборка.Частота) + 1) / 4 - (ВЫРАЗИТЬ(1 * (СУММА(врВыборка.Частота) + 1) / 4 - 0.5 КАК ЧИСЛО(15, 0))) КАК СмещениеКвартиля1Вправо,
    ВЫРАЗИТЬ(3 * (СУММА(врВыборка.Частота) + 1) / 4 - 0.5 КАК ЧИСЛО(15, 0)) КАК ПорядковыйНомерКвартиля3,
    3 * (СУММА(врВыборка.Частота) + 1) / 4 - (ВЫРАЗИТЬ(3 * (СУММА(врВыборка.Частота) + 1) / 4 - 0.5 КАК ЧИСЛО(15, 0))) КАК СмещениеКвартиля3Вправо
ПОМЕСТИТЬ врСвойстваВыборки
ИЗ
    врВыборка КАК врВыборка
 
СГРУППИРОВАТЬ ПО
    врВыборка.Группировка
;
 
////////////////////////////////////////////////////////////////////////////////
//рассчитываем порядковые номера для каждого признака
//при этом т.к. признак может повторяться, то рассчитываем и первые (левый) номер для данном значения признака и последний (правый)
//по сути это и есть накопленная частота
ВЫБРАТЬ
    врВыборка.Группировка,
    врВыборка.Частота,
    врВыборка.Значение,
    СУММА(врВыборкаВспомогательная.Частота) КАК НакопленнаяЧастотаПравогоЭлемента,
    СУММА(ВЫБОР
            КОГДА врВыборкаВспомогательная.Значение = врВыборка.Значение
                ТОГДА 0
            ИНАЧЕ врВыборкаВспомогательная.Частота
        КОНЕЦ) + 1 КАК НакопленнаяЧастотаЛевогоЭлемента
ПОМЕСТИТЬ врВыборкаСНакопленнойЧастотой
ИЗ
    врВыборка КАК врВыборка
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ врВыборка КАК врВыборкаВспомогательная
        ПО врВыборка.Группировка = врВыборкаВспомогательная.Группировка
            И врВыборка.Значение >= врВыборкаВспомогательная.Значение
 
СГРУППИРОВАТЬ ПО
    врВыборка.Группировка,
    врВыборка.Частота,
    врВыборка.Значение
;
 
////////////////////////////////////////////////////////////////////////////////
//следующие два запроса выполняют сам расчет, их стоит рассматривать как одно целое
//разделены они для наглядности и простоты отладки
ВЫБРАТЬ
    врВыборкаСНакопленнойЧастотой.Группировка,
    врВыборкаСНакопленнойЧастотой.Частота,
    врВыборкаСНакопленнойЧастотой.Значение,
    ВЫБОР
        КОГДА врСвойстваВыборки.ПорядковыйНомерМедианы >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерМедианы <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА врВыборкаСНакопленнойЧастотой.Значение
        ИНАЧЕ 0
    КОНЕЦ КАК МедианаЦелаяЦасть,
    ВЫБОР
        КОГДА врСвойстваВыборки.ПорядковыйНомерМедианы >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерМедианы <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерМедианы + 1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерМедианы + 1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА 0
        КОГДА врСвойстваВыборки.ПорядковыйНомерМедианы + 1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерМедианы + 1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА врВыборкаСНакопленнойЧастотой.Значение
        КОГДА врСвойстваВыборки.ПорядковыйНомерМедианы >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерМедианы <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА -врВыборкаСНакопленнойЧастотой.Значение
        ИНАЧЕ 0
    КОНЕЦ * врСвойстваВыборки.СмещениеМедианыВправо КАК МедианаДробнаяЧасть,
    ВЫБОР
        КОГДА врСвойстваВыборки.ПорядковыйНомерКвартиля1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА врВыборкаСНакопленнойЧастотой.Значение
        ИНАЧЕ 0
    КОНЕЦ КАК Квартиль1ЦелаяЦасть,
    ВЫБОР
        КОГДА врСвойстваВыборки.ПорядковыйНомерКвартиля1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля1 + 1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля1 + 1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА 0
        КОГДА врСвойстваВыборки.ПорядковыйНомерКвартиля1 + 1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля1 + 1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА врВыборкаСНакопленнойЧастотой.Значение
        КОГДА врСвойстваВыборки.ПорядковыйНомерКвартиля1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА -врВыборкаСНакопленнойЧастотой.Значение
        ИНАЧЕ 0
    КОНЕЦ * врСвойстваВыборки.СмещениеКвартиля1Вправо КАК Квартиль1ДробнаяЧасть,
    ВЫБОР
        КОГДА врСвойстваВыборки.ПорядковыйНомерКвартиля3 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля3 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА врВыборкаСНакопленнойЧастотой.Значение
        ИНАЧЕ 0
    КОНЕЦ КАК Квартиль3ЦелаяЦасть,
    ВЫБОР
        КОГДА врСвойстваВыборки.ПорядковыйНомерКвартиля3 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля3 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля3 + 1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля3 + 1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА 0
        КОГДА врСвойстваВыборки.ПорядковыйНомерКвартиля3 + 1 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля3 + 1 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА врВыборкаСНакопленнойЧастотой.Значение
        КОГДА врСвойстваВыборки.ПорядковыйНомерКвартиля3 >= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента
                И врСвойстваВыборки.ПорядковыйНомерКвартиля3 <= врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента
            ТОГДА -врВыборкаСНакопленнойЧастотой.Значение
        ИНАЧЕ 0
    КОНЕЦ * врСвойстваВыборки.СмещениеКвартиля3Вправо КАК Квартиль3ДробнаяЧасть,
    врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаПравогоЭлемента,
    врВыборкаСНакопленнойЧастотой.НакопленнаяЧастотаЛевогоЭлемента,
    врСвойстваВыборки.РазмерВыборки,
    врСвойстваВыборки.СреднееЗначениеПоВыборке,
    врСвойстваВыборки.МинимальноеЗначениеПоВыборке,
    врСвойстваВыборки.МаксимальноеЗначениеПоВыборке,
    врСвойстваВыборки.ПорядковыйНомерМедианы,
    врСвойстваВыборки.СмещениеМедианыВправо,
    врСвойстваВыборки.ПорядковыйНомерКвартиля1,
    врСвойстваВыборки.СмещениеКвартиля1Вправо,
    врСвойстваВыборки.ПорядковыйНомерКвартиля3,
    врСвойстваВыборки.СмещениеКвартиля3Вправо
ПОМЕСТИТЬ врИтоговаяТаблица
ИЗ
    врВыборкаСНакопленнойЧастотой КАК врВыборкаСНакопленнойЧастотой
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ врСвойстваВыборки КАК врСвойстваВыборки
        ПО врВыборкаСНакопленнойЧастотой.Группировка = врСвойстваВыборки.Группировка
;
 
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    врИтоговаяТаблица.Группировка,
    врИтоговаяТаблица.РазмерВыборки,
    врИтоговаяТаблица.СреднееЗначениеПоВыборке,
    врИтоговаяТаблица.МинимальноеЗначениеПоВыборке,
    врИтоговаяТаблица.МаксимальноеЗначениеПоВыборке,
    СУММА(врИтоговаяТаблица.МедианаЦелаяЦасть) + СУММА(врИтоговаяТаблица.МедианаДробнаяЧасть) КАК Медиана,
    СУММА(врИтоговаяТаблица.Квартиль1ЦелаяЦасть) + СУММА(врИтоговаяТаблица.Квартиль1ДробнаяЧасть) КАК Квартиль1,
    СУММА(врИтоговаяТаблица.Квартиль3ЦелаяЦасть) + СУММА(врИтоговаяТаблица.Квартиль3ДробнаяЧасть) КАК Квартиль3
ИЗ
    врИтоговаяТаблица КАК врИтоговаяТаблица
 
СГРУППИРОВАТЬ ПО
    врИтоговаяТаблица.Группировка,
    врИтоговаяТаблица.РазмерВыборки,
    врИтоговаяТаблица.СреднееЗначениеПоВыборке,
    врИтоговаяТаблица.МинимальноеЗначениеПоВыборке,
    врИтоговаяТаблица.МаксимальноеЗначениеПоВыборке

Квантили

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

Ссылки

Немного теории (кривой сайт, но все понятно написано и хорошие примеры): https://studfile.net/preview/5316597/page:3/#9

Похожая разработка (но требующая уникальности): //1c.taxpravo.ru/public/539316/

Видео-курс "Основы статистики": https://stepik.org/course/76/

19

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

Комментарии
Избранное Подписка Сортировка: Древо
1. VmvLer 22.11.19 17:38 Сейчас в теме
решения интересные, но смущает монстроидальность.
в 1С83+ есть мощные средства работы со статистикой "АнализДанных" и т.п.
по крайней мере медианы через них можно вычислять намного проще.

теорию вероятностей преподают в уважающих себя технических вузах и по
видо-курсу ее изучить маловероятно.
Решение задачек по ТВ и комбинаторике очень увлекательное занятие, а когда наступит эра
квантовых компьютеров, то эти навыки будут необходимы чтобы остаться востребованным программистом.
wowik; bahtiyar_sharipov; trickster; +3 Ответить
3. starik-2005 1979 22.11.19 21:00 Сейчас в теме
(1)
теорию вероятностей преподают в
А при чем тут тервер? Здесь социальная статистика - не более...
relines; rpashkovsky; +2 Ответить
2. MarryJane 24 22.11.19 17:50 Сейчас в теме
Спасибо возьмем на заметку
4. user604727_yugoo 25.11.19 09:21 Сейчас в теме
Это очень важно, но для моих клиентов из числа бухгалтеров была бы очень полезна также возможность рассчитывать в запросе тангенсы и арктангенсы, а также интегралы и ранги матриц.
uzhelas; KazanKokos; user774630; wowik; EMelihoff; +5 1 Ответить
5. MikhailDr 26.11.19 07:48 Сейчас в теме
Было бы неплохо в конце статьи привести примеры использования данного инструмента. В таком случае выше вероятность, что прочитавший потом вернется сюда за решением своей проблемы.
6. relines 18 26.11.19 14:48 Сейчас в теме
(5) Спасибо за замечание. В ближайшее время постараюсь привести примеры, для чего это можно использовать в реальной жизни. Так же, возможно, по мере развития этого механизма у нас, буду добавлять дополнительные показатели для расчета.
Оставьте свое сообщение

См. также

Полезные процедуры и функции для программиста 160

Статья Программист Нет файла v8 1cv8.cf Россия Бесплатно (free) Практика программирования Универсальные функции

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

07.10.2019    12063    HostHost    23       

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Перенос данных БП 3.0 => УТ 11 / КА 2 / ERP 2 (ЕРП) (перенос остатков, документов и справочной информации из "1С:Бухгалтерия предприятия 8", ред.3.0). Обновлено до БП 3.0.73.х, УТ 11.4.10.х, КА 2.4.10.х., ERP 2.4.10.х! Промо

Переносятся документы за выбранный период, справочная информация и остатки по счетам бух. учета в программу УТ 11 / КА 2 / ЕРП 2 (ERP). Переносятся все возможные виды операций ввода остатков на нужную дату. Есть отбор по периоду переноса документов и фильтр по организации, доступен выбор даты ввода остатков. Если нужно переносить что-то дополнительно, то обычно бесплатно добавляем это в перенос . Смотрите видеодемонстрацию со звуком - советами по переносу и рекомендациями настройки программ.

29700 руб.

Агрегатные функции СКД, о которых мало кто знает 356

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Пользуетесь ли Вы всеми возможными агрегатными функциями, которые предоставляет система компоновки данных? Если Вы используете только: СУММА, КОЛИЧЕСТВО, МИНИМУМ, МАКСИМУМ, СРЕДНЕЕ, то эта статья для Вас.

05.09.2019    15967    ids79    44       

Три костыля. Сказ про фокусы в коде 124

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

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

03.09.2019    10756    YPermitin    69       

Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо

Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).

от 11000 до 29000 рублей

Отслеживание выполнения фонового задания 143

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Универсальные функции Разработка

Запуск фонового задания из модуля внешней обработки. Отслеживание выполнения задания в виде прогресса, расположенного на форме.

17.08.2019    13239    ids79    16       

Функции СКД: ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив 262

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Подробное описание и использование внутренних функций системы компоновки данных: Вычислить, ВычислитьВыражение, ВычислитьВыражениеСГруппировкойМассив, ВычислитьВыражениеСГруппировкойТаблицаЗначений.

08.08.2019    18544    ids79    31       

Перенос данных КА 1.1 / УПП 1.3 => БП 3.0 (перенос остатков, документов и справочников из "1С:Комплексная автоматизация 1.1" / УПП 1.3 в "1С:Бухгалтерия 3.0"). Обновлен до версий КА 1.1.115.х, УПП 1.3.127.х! Промо

Разработка позволяет перенести остатки по всем счетам бух.учета в программу "1С:Бухгалтерия предприятия 8", ред. 3.0 на выбранную дату начала ведения учета. Также переносятся документы за период и вся необходимая справочная информация. Правила оперативно обновляю при выходе новых релизов. Рассылка обновлений правил бесплатно в течение 12 месяцев. Есть видеодемонстрация проведения переноса данных. Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

24700 руб.

Фоновое выполнение кода в 1С - это просто 124

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

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

02.08.2019    12917    avalakh    21       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

СКД - наборы данных и связи между ними, создание собственной иерархии, вложенные отчеты 141

Статья Программист Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования

Набор данных объект. Использование в схеме компоновки нескольких наборов данных. Различные варианты связи наборов: объединение, соединение. Использование иерархии в отчетах на СКД. Создание собственной иерархии, иерархия детальных записей. Использование вложенных схем в отчетах на СКД.

26.07.2019    16716    ids79    8       

СКД - использование расширений языка запросов, секция ХАРАКТЕРИСТИКИ 156

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Инструментарий разработчика Практика программирования

Автоматическое и не автоматическое заполнение полей компоновки данных. Использование расширений языка запросов для СКД «{…}», секция ВЫБРАТЬ, секция ГДЕ, параметры виртуальных таблиц. Автоматизированное использование дополнительных данных в запросе: секция ХАРАКТЕРИСТИКИ.

17.07.2019    13809    ids79    27       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Регистры сведений. За кулисами 129

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

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

09.07.2019    11081    YPermitin    12       

"Меньше копипаста!", или как Вася универсальную процедуру писал 183

Статья Программист Стажер Нет файла v8 v8::СКД 1cv8.cf Бесплатно (free) Практика программирования Разработка

Программист Вася разбирает подход создания универсальных методов на примере программного вывода СКД.

04.07.2019    9922    SeiOkami    49       

С 2020 года сервис «Продление поддержки конфигурации 1С:УПП» подорожает вдвое Промо

Успейте продлить поддержку УПП до повышения цен! Фирма «1С» предупредила об изменении цен на сервис «Продление поддержки конфигурации "1С:Управление производственным предприятием"». С 1 января 2020 года сервис подорожает в два раза.

Создание отчетов с помощью СКД - основные понятия и элементы 217

Статья Программист Нет файла v8 v8::СКД Бесплатно (free) Практика программирования Математика и алгоритмы

Основные принципы работы СКД. Понятия схемы компоновки и макета компоновки. Описание основных элементов схемы компоновки: наборы данных, поля, вычисляемые поля, ресурсы, параметры.

25.06.2019    24098    ids79    17       

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017 179

Статья Программист Нет файла v8 v8::Запросы Бесплатно (free) Практика программирования Разработка

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    13694    dmurk    134       

1С:Предприятие через Интернет. 1С:Fresh Промо

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

Регистры накопления. Структура хранения в базе данных 178

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

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

16.05.2019    21616    YPermitin    27       

Выполнение внешней обработки в фоновом задании 149

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Подробное описание подхода к созданию длительной операции на основе внешней обработки. Реализация протестирована на 1С 8.3.12.1714 (x64).

11.05.2019    13525    Eret1k    23       

Подборка решений для взаимодействия со ФГИС «Меркурий» Промо

С 1 июля 2019 года все компании, участвующие в обороте товаров животного происхождения, должны перейти на электронную ветеринарную сертификацию (ЭВС) через ФГИС «Меркурий». Инфостарт предлагает подборку программ, связанных с этим изменением.

Выгрузка документа по условию 5

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Разработка

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

25.04.2019    7816    m-rv    2       

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

Статья Программист Нет файла v8 Бесплатно (free) Практика программирования Перенос данных из 1C8 в 1C8 Разработка

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

16.04.2019    10325    m-rv    16       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

О расширениях замолвите слово... 195

Статья Программист Стажер Нет файла v8 Бесплатно (free) Практика программирования Разработка

О чём стоит задуматься при принятии решения о создании расширения конфигурации…

07.04.2019    18988    ellavs    125       

Git-репозитории для 1С-кода (опыт использования при небольших проектах) 202

Статья Программист Стажер Нет файла v8 Windows Бесплатно (free) Практика программирования Разработка

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

28.03.2019    15546    ellavs    83       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Трюки с внешними источниками данных 167

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) Практика программирования Разработка

Некоторые трюки для преодоления ограничений внешних источников данных.

14.03.2019    16444    YPermitin    53       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

Возможности типовых шаблонов ограничения доступа на уровне записей (RLS) 173

Статья Программист Нет файла v8 v8::Права Бесплатно (free) Практика программирования БСП (Библиотека стандартных подсистем) Роли и права

Краткий обзор применения типовых шаблонов ограничения доступа на уровне записей в конфигурациях, созданных на базе БСП: #ПоЗначениям, #ПоНаборамЗначений, #ПоЗначениямРасширенный, #ПоЗначениямИНаборамРасширенный

03.02.2019    19458    ids79    9