Набор данных Объект в СКД для решения задач сортировки, нумерации и вывода в отчет произвольных наборов данных

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

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

СКД сортировка наборы данных объект внешние источники данных отчеты

Использование набора данных Объект в СКД, может добавить вашему отчету новые интересные возможности. В этой статье я покажу, как я использовал набор данных Объект при решении одной задачи.

Задача, которую я решил используя набор данных Объект, состояла в следующем:

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

Решение задачи.

1. Для начала в отчет необходимо добавить новый набор данных - Объект и описать его поля:

 

Зададим нашему набору данных Имя объекта, содержащего данные тзПорядок.

2. Не забудем задать связь наборов данных:

 

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

3. Добавляем условие отбора на основной запрос:

 

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

4.  Укажем для нашего параметра &НоменклатурныеГруппы доступность ввода списка значений:

 

 5. На данном этапе работа с конструктором схемы компоновки данных заканчивается и мы перемещаемся в модуль объекта, нашего отчета. Для дальнейшей реализации поставленной задачи, придется формировать отчет программно. Для этого реализуем процедуру ПриКомпоновкеРезультата.

6. Сразу добавляем в эту процедуру стандартные строки по формированию отчета программно со стандартными настройками, т.е. так как, если бы он формировался без нашего вмешательства в процедуру ПриКомпоновкеРезультата. Для этого копируем в процедуру следующий код:

	//Программно формируем отчет
	//Отменяем стандартную обработку
	СтандартнаяОбработка = Ложь;
	//Получаем схему
	Схема = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	//...и настройки
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
	
	//Создаем компоновщик макета и получаем макет компоновки
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки);
	
	//Инициализируем процессор компоновки
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
	
	//Очищаем документ результата
	ДокументРезультат.Очистить();
	
	//Выводим отчет в документ
	ПроцессорВывода = Новый
	ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);

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

7. Для этого мы вносим изменения в уже внесенный код в процедуре ПриКомпоновкеРезультата:

	//Программно формируем отчет
	//Отменяем стандартную обработку
	СтандартнаяОбработка = Ложь;
	//Получаем схему
	Схема = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	//...и настройки
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
	
	//Создаем компоновщик макета и получаем макет компоновки
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(Схема, Настройки, ДанныеРасшифровки);
	//<--------------------------------------------------------------------------------------->//
	ПараметрНоменклатурныеГруппы = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НоменклатурныеГруппы"));
	
	СписокНоменклатурныхГрупп = ПараметрНоменклатурныеГруппы.Значение;
	
	тзПорядок= Новый ТаблицаЗначений;
	тзПорядок.Колонки.Добавить("НоменклатурнаяГруппа");
	тзПорядок.Колонки.Добавить("Порядок");
	
	Для Сч = 0 По СписокНоменклатурныхГрупп.Количество() - 1 Цикл
		НоваяСтрока = тзПорядок.Добавить();
		НоваяСтрока.НоменклатурнаяГруппа = СписокНоменклатурныхГрупп[Сч].Значение;
		НоваяСтрока.Порядок = Сч;
	КонецЦикла;
	
	ВнешниеНаборыДанных = Новый Структура;
	ВнешниеНаборыДанных.Вставить("тзПорядок",тзПорядок);
	
	//Инициализируем процессор компоновки
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных, ДанныеРасшифровки, Истина);
	//<--------------------------------------------------------------------------------------->//
	//Очищаем документ результата
	ДокументРезультат.Очистить();
	
	//Выводим отчет в документ
	ПроцессорВывода = Новый
	ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
 

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

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

Инициализацию Процессора компоновки данных необходимо производить с передачей Внешних наборов данных(второй параметр метода Инициализировать).

8. Теперь вернемся в конструктор Схемы компоновки данных и настроим сортировку для нашего отчета. Для начала укажем наше поле Порядок в качестве ресурса отчета:

 

После перейдем на вкладку Настройки и в настройках отчета(группировки) перейдем на вкладку Сортировка. Выберем в качестве поля сортировки поле Порядок. Не забываем снять галочку с Авто

 

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

9. Проверим результат формирования нашего отчета.

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

И сформируем отчет.

 

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

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. Synoecium 675 07.07.16 09:55 Сейчас в теме
Можно сделать попроще, программно формировать текст пользовательского поля в виде конструкции когда..тогда..., расставив приоритет согласно порядку отбора, и по этому полю поставить сортировку в СКД.
2. lopatin 521 07.07.16 10:05 Сейчас в теме
(1) Synoecium, Не думаю, что программное редактирование запроса проще. К тому же НаборДанных это стандартное средство, а программное ковыряние запроса это изобретение велосипеда. И компоновка данных сама наилучшим образом сформирует запрос, из всех наборов данных, как ей надо.
3. Synoecium 675 07.07.16 11:01 Сейчас в теме
(2) причем здесь редактирование запроса, у вас лишнее соединение средствами СКД, а так пользовательское поле с выражением, что однозначно быстрее.
4. lopatin 521 07.07.16 11:11 Сейчас в теме
(3) Synoecium, Не очень не понимаю, как в пользовательском получить номер порядка для текущего значения в строке?
5. lopatin 521 07.07.16 11:13 Сейчас в теме
(3) Synoecium, Понял, вы программно предлагаете заполнять заранее добавленное пользовательское поле.
6. lopatin 521 07.07.16 12:05 Сейчас в теме
(1) Synoecium, Если будет возможность, хотелось бы увидеть реализацию предложенного варианта
7. Mortiferus 330 07.07.16 15:37 Сейчас в теме
(1) Synoecium, как раз наоборот - в статье метод проще некуда.
8. Synoecium 675 08.07.16 08:32 Сейчас в теме
(7) Mortiferus, подправить текст по формированию отчета:
ПараметрНоменклатурныеГруппы = Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НоменклатурныеГруппы"));	
	СписокНоменклатурныхГрупп = ПараметрНоменклатурныеГруппы.Значение;
	полеПорядка = Схема.ВычисляемыеПоля.Найти("ПорядокНГ");
	текстПорядка = "Выбор ";
	индПорядка = 1;
	Для каждого элСписка ИЗ СписокНоменклатурныхГрупп Цикл
		НГ = элСписка.Значение;
		текстПорядка = текстПорядка+"Когда НоменклатурнаяГруппа.Код = "+НГ.Код+" Тогда "+индПорядка+" ";
		индПорядка = индПорядка + 1;
	КонецЦикла;
	текстПорядка = текстПорядка + "Иначе "+индПорядка+" Конец";
	Если СписокНоменклатурныхГрупп.Количество()>0 Тогда
		полеПорядка.Выражение = текстПорядка;
	КонецЕсли;
Показать

и убрать лишние наборы данных вообще, куда уж проще то.
Kostt; PLAstic; MorningStalker; +3 Ответить
10. logarifm 1073 19.11.18 20:52 Сейчас в теме
(8)
ВычисляемыеПоля.Найти("ПорядокНГ");
текстПорядка = "Выбо


Не мсоглашусь . У автора отчет будет работать быстрее чем с этими программными приколами и уж тем более сортировкой на скд
11. Synoecium 675 20.11.18 05:59 Сейчас в теме
(10) замерьте, тогда будет понятно кто прав. Я привел пример кода не оптимального с точки зрения быстродействия, а простого и понятного в написании и поддержке. Быстродействие будет определяться данными, на которых запускается отчёт.
9. ixijixi 07.05.18 15:33 Сейчас в теме
Нормально, не понял только, зачем "Порядок" делать ресурсом. СКД по полю "не-ресурсу" прекрасно сортирует
12. kets-84@bk.ru 29.03.19 10:48 Сейчас в теме
Оставьте свое сообщение

См. также

Онлайн-интенсив "1C:Предприятие для программистов: Бухгалтерские задачи" с 22 июня по 8 июля 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для решения задач бухгалтерского учета. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Бухгалтерия” и прочих прикладных решений, в которых реализованы соответствующие механизмы для автоматизации бухгалтерских задач.

4900 рублей

СКД - одна из проблем связи Наборов данных

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

Официальная информация: 1. В схеме компоновки данных нет указания типа связи. Все связи считаются ЛЕВЫМИ внешними соединениями. 2. Если для вложенного набора данных указано условие фильтра, тогда связь вложенного набора данных с родительским набором данных считается ВНУТРЕННЕЙ. Или как получить все результаты основного набора при отборе в зависимом.

03.03.2020    2070    BelikovSA    9       

Получение значений всех полей в иерархии структуры отчета

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

При обработке расшифровки данных в отчете (да и не только отчете), основанном на СКД, может потребоваться получить значения всех полей, находящихся в текущей группировке и её родителях. Представляю вашему вниманию алгоритм, выполняющий эту задачу. Как говорится, "просто оставлю это здесь".

28.02.2020    888    real_MaxA    1       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Для чего нужен флаг "Автозаполнение" в СКД и каких проблем без него можно избежать

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

Речь пойдет о флаге «Автозаполнение» в наборе данных Запрос Системы компоновки данных (СКД). Сразу хочу отметить, что флаг «Автозаполнение» доступен только в наборе данных - Запрос.

26.02.2020    3407    Neti    41       

Программная работа с настройками СКД

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

Нюансы программной работы с настройками системы компоновки данных в отчетах и динамических списках. Обзор всех видов настроек компоновки. Что в каких случаях правильно применять. В качестве примера рассмотрена работа с отборами и группировками.

27.01.2020    9102    ids79    26       

Онлайн-курс «Практические аспекты внедрения регламентированного учета и расчета себестоимости в 1С:ERP на крупных промышленных предприятиях» с 20 апреля по 15 мая 2020 года. Промо

Курс рассчитан для подготовки экспертов по регламентированному учету и учету затрат для внедрения на крупных промышленных предприятиях с «исторически сложившимся» учетом

9000 рублей

[СКД] Программное создание схемы компоновки данных

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

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    10502    John_d    22       

СКД. Лайфхак №2. Собираем отчет еще удобнее

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

В этой публикации я хочу вам описать еще один интересный и относительно новый подход к одному из довольно тривиальных методов работы с СКД для построения отчетов.

20.11.2019    7464    aximo    15       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Некоторые редко используемые возможности СКД

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

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

11.11.2019    8412    kser87    39       

Лайфхак работы с СКД. Собираем отчет.

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

В этой статье я опишу небольшой "лайфхак" по сборке отчетов в СКД. Думаю, этот подход будет интересен тем, кто хочет быстро оформить отчет.

25.10.2019    12408    aximo    29       

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

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

Немного про СКД. Характеристики и проверка пустого отчета

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

Пример использования характеристик в СКД и программная работа с ними. А также описание проверки результата отчета на заполненность.

10.10.2019    7316    YPermitin    7       

Полезняшки по СКД и построителям. Просто код

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

Полезные процедуры и функции для работы с построителями и СКД. Просто исходник.

10.10.2019    6920    Yashazz    45       

Базовый курс для начинающих 1С-программистов. Онлайн-интенсив со 2 июня по 2 июля 2020 г. Промо

Данный онлайн-курс является начальной ступенью по изучению базовых принципов программирования в системе “1С:Предприятие” и предназначен для обучения 1С-программированию “с нуля”.

4500-9500 рублей

Две схемы СКД в одном отчете с пользовательскими параметрами

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

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

10.10.2019    5513    evgeni-red    7       

Три способа создания одного отчета на СКД

Статья Программист Нет файла v8 v8::СКД ERP2 УТ11 КА2 Бесплатно (free) Практика программирования

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

08.10.2019    9359    ids79    24       

DevOps для 1С. Онлайн-курс проходит с 16 апреля по 11 июня 2020 года. Промо

Данный онлайн-курс предусматривает изучение процессов DevOps, их применение при разработке на платформе 1С. В результате прохождения онлайн-курса вы сможете: настроить ПО необходимое для проведения проверок и тестирования, создавать сценарии тестирования и объединять их в комплексные процессы, создавать скрипты для автоматизации процессов DevOps.

12000 рублей

СКД не только для отчетов

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

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

18.09.2019    14387    YPermitin    34       

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

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

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

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

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

05.09.2019    30584    ids79    50       

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

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

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

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

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

08.08.2019    42549    ids79    36       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

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

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

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

26.07.2019    33433    ids79    11       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

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

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

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

17.07.2019    23270    ids79    27       

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

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

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

09.07.2019    15785    ids79    2       

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

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

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

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

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

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

04.07.2019    14377    SeiOkami    49       

Работа с настройками системы компоновки данных

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

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

02.07.2019    27619    ids79    9