Описание алгоритмов сортировки и сравнение их производительности

Пример использования

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

//создание нового дерева значений
ДеревоЗначений = Новый ДеревоЗначений;
//добавим колонки
ДеревоЗначений.Колонки.Добавить("Значение");
ДеревоЗначений.Колонки.Добавить("ТипЗначения");

НоваяСтрока = ДеревоЗначений.Строки.Добавить();
НоваяСтрока.Значение = 1;
НоваяСтрока.ТипЗначения = ТипЗнч(НоваяСтрока.Значение);

НоваяСтрока = ДеревоЗначений.Строки.Добавить();
НоваяСтрока.Значение = "1";
НоваяСтрока.ТипЗначения = ТипЗнч(НоваяСтрока.Значение);

НоваяСтрока = ДеревоЗначений.Строки.Добавить();
НоваяСтрока.Значение = 1.1;
НоваяСтрока.ТипЗначения = ТипЗнч(НоваяСтрока.Значение);

//сортировка с использованием объекта сравнения значений
ДеревоЗначений.Строки.Сортировать("Значение", , Новый СравнениеЗначений);

//Результат:
//	1, 1.1, "1"

Свернуть таблицу значений 1С

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

Рассмотрим синтаксис этого метода

Свернуть(КолонкиГруппы, КолонкиСуммы)

Где:

КолонкиГруппы – колонки, по которым будет свернута таблица значений. Это обязательный параметр типа строка, в котором нужные колонки должны быть перечислены через запятую.

КолонкиСуммы – колонки, значения по которым будут просуммированы (необязательный параметр).

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

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

Рассмотрим пример: в таблице значений будут следующие колонки: ФИО, Вид работ , сумма выданных средств и дополнительная информация (аванс, «окончаловка»  и т.п.), свернем эту таблицу значений по колонкам ФИО и Вид работ, и просуммируем колонку «Сумма».

ТабВыплат = Новый ТаблицаЗначений;ТабВыплат.Колонки.Добавить(«ФИО»);ТабВыплат.Колонки.Добавить(«ВидРабот»);ТабВыплат.Колонки.Добавить(«Сумма»);ТабВыплат.Колонки.Добавить(«Причина»);//первая строкаНовВыплата = ТабВыплат.Добавить();НовВыплата.ФИО = «Иванов»;НовВыплата.ВидРабот = «Отделка»;НовВыплата.Сумма = 1000;НовВыплата.Причина = «Аванс»;//вторая строкаНовВыплата = ТабВыплат.Добавить();НовВыплата.ФИО = «Иванов»;НовВыплата.ВидРабот = «Монтаж»;НовВыплата.Сумма = 1500;НовВыплата.Причина = «Расчет»;//третья строкаНовВыплата = ТабВыплат.Добавить();НовВыплата.ФИО = «Иванов»;НовВыплата.ВидРабот = «Монтаж»;НовВыплата.Сумма = 500;НовВыплата.Причина = «аванс»;//четверта строкаНовВыплата = ТабВыплат.Добавить();НовВыплата.ФИО = «Петров»;НовВыплата.ВидРабот = «Монтаж»;НовВыплата.Сумма = 500;НовВыплата.Причина = «аванс»;//пятая строкаНовВыплата = ТабВыплат.Добавить();НовВыплата.ФИО = «Петров»;НовВыплата.ВидРабот = «Монтаж»;НовВыплата.Сумма = 1500;НовВыплата.Причина = «Расчет»;//сверткаТабВыплат.Свернуть(«ФИО,ВидРабот»,«Сумма»);

Посмотрим в отладке, что было до свертки.

И после свертки

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

Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект.

Более подробно и основательно работа с таблицей значений в дается в моей книге:

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

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

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке:
ОК: http://ok.ru/group/52970839015518
Твиттер:

Пример обмена 1С: 7.7 с ЕГАИС через УТМ

Это пример внешней обработки для обмена между конфигурациями 1С: 7.7 и системой ЕГАИС через универсальный транспортный модуль УТМ . Реализованы все схемы (xsd) обменов. Распространяется как есть. Код полностью открыт. За основу взята публикация http://infostart.ru/public/409028/.
Архив содержит доработку конфигурации 1С: «Торговля и склад ред. 9.2». Не требует доработки типовых объектов (кроме «Чека ККМ»), добавляются новые справочники, документы и пр., что позволяет легко интегрировать на аналогичные конфигурации, например, 1С:»Комплексная конфигурация ред. 4.5″.

5 стартмани

14.12.2015   
19787   
60   
Atom74   

18
   

Платформа 64 бита (x64)

Установить программу 1С: Предприятие. Версия 7.7 непосредственно на 64 битную платформу невозможно из-заприменяемого до сих пор 16-битного инсталлятора, несмотря на то, чтосамо приложение является 32-битным.

Программа 1С: Предприятие 7.7 в реестре не хранит никаких глобальных настроек, а все записи находятся в ветке реестра HKEY_CURRENT_USER\Software\1C (для одного пользователя ) или в ветках HKEY_USERS (для нескольких пользователей) и содержат кроме списка баз, пути к ним и иные пользовательские настройки . Такой подход позволяет перенести папку с установленной программой с одного компьютера на другой, полностью сохранив при этом функциональность приложения.

Для «установки» 1С 7.7 на 64-битную операционную систему необходим компьютер с 32-битной системой (наилучшей будет Windows XP), на котором производится инсталляция приложения и необходимых конфигураций к нему. После чего в 64-битной системе в соответствующее место (по умолчанию C:\Program Files (x86)\1Cv77) копируется папка с программой (по умолчанию C:\Program Files\1Cv77).

Однако, из-за вышеперечисленных особенностей инсталлятора, невозможно полноценно сопровождать 1С, устанавливать релизы обновлений и регламентированные отчеты – ихпридётся предварительно устанавливать в 32 битной среде, а затем переносить в соответствующее место в 64-битной системе – по умолчанию в C:\Program Files (x86)\1Cv77. Использование 64-х битных рабочих станций сотрудниками, занимающимися сопровождением или программированием для 1С в сетевом варианте, сопряжено с рядом проблем.

Таким образом, наиболее простым вариантом установки программы 1С: Предприятие. Версия 7.7 на 64-х битную платформу являетсяееустановка из подготовленного 32-х битного пакета установки.

Параметры

Описание параметров метода :

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

Возр Asc — сортировать по возрастанию значений (по умолчанию)
Убыв Desc — сортировать по убыванию значений
ВключатьПодчиненные Булево
Признак определяет, должны ли сортироваться строки в коллекции подчиненных строк (если таковые имеются).Значение по умолчанию: Ложь.
ОбъектСравнения СравнениеЗначений
Объект для сравнения значений. Реализует сравнение значений, типы которых отличаются от простых (Строка, Число, Дата, Булево)
Жирным шрифтом выделены обязательные параметры

Быстрый умный поиск с выпадающим списком

Обработка + консольная утилита (exe). Работает с использованием FormEx.dll (Алексей Фёдоров aka АЛьФ), strmatch (Ракунов Александр aka skorp) и 1sqlite (Александр Орефков).
Выполняет быстрый нечеткий поиск по справочнику (по умолчанию — номенклатуры) с выводом наиболее похожих позиций в выпадающий список.
Работает на 1с 7.7.
Тестировалось на server 2003 в терминалах, в файловой БД.
Предполагаемые достоинства: пример (более) «адекватного» (по меркам автора на данный момент) поведения поисковой строки (реализовано при помощи консольной утилиты, работающей через winapi – исходники прилагаются (писалось в lazarus)) и удобной навигации по списку, во время ввода.
Является, скорее, примером для реализаций собственных адаптированных поисковых решений.

1 стартмани

30.12.2013   
18389   
33   
Jill   

13
   

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

Обработки можно использовать в любой конфигурации 1С-Предприятия 7.7. Обработки позволяют просмотреть/изменить значения любого реквизита документов/справочников, существующих в базе. В обработках реализован множественный отбор по значениям реквизитов (для табличной части документов тоже).
В обработке документов реализованы следующие действия:
Перенумерация; проведение; отмена проведения; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; удаление строк табличной части; вывод на печать и в файлы *.xls,*.csv,*.dbf,*.xml реквизитов шапки и табличной части.
В обработке справочников реализованы следующие действия:
Перенумерация; пометка на удаление; непосредственное удаление; снятие пометки удаления; изменение реквизитов; очистка реквизитов; очистка истории значений периодического реквизита; перенос справочника в другую базу подобной конфигурации по OLE; вывод на печать реквизитов и истории значений периодических реквизитов; вывод реквизитов в файлы *.xls,*.csv,*.dbf,*.xml; отчет по структуре справочников, вывод и обработка ссылок на выбранные элементы.

1 стартмани

23.11.2016   
29251   
178   
SanchoD   

15
   

StartManager 1.4 — Развитие альтернативного стартера Промо

Очередная редакция альтернативного стартера, являющегося продолжением StartManager 1.3. Спасибо всем, кто присылал свои замечания и пожелания, и тем, кто перечислял финансы на поддержку проекта. С учетом накопленного опыта, стартер был достаточно сильно переработан в плане архитектуры. В основном сделан упор на масштабируемость, для способности программы быстро адаптироваться к расширению предъявляемых требований (т.к. довольно часто просят добавить ту или иную хотелку). Было пересмотрено внешнее оформление, переработан существующий и добавлен новый функционал. В общем можно сказать, что стартер эволюционировал, по сравнению с предыдущей редакцией. Однако пока не всё реализовано, что планировалось, поэтому еще есть куда развиваться в плане функциональности.

1 стартмани

23.04.2014   
143981   
1763   
Alexoniq   

1573
   

Изменяем параметры 1С для Windows Vista, 7

Если у вас более поздние версии операционной системы, то инструкция исправления ошибки в 1С 7.7 немного отличается от предыдущей.

  1. Запустите 1С. В разделе «Запуск 1С» выберите необходимую базу.
  2. Из выпадающего списка нужно выбрать пункт «Конфигуратор».
  3. Далее нажмите «Администрирование» в меню, и после этого нажмите «Кодовая страница таблиц».
  4. В этом окне необходимо нажать «Текущая системная установка» и подтвердите выбор.

    Текущая системная установка в 1С

  5. В окне, в котором появится запрос на сохранение настроек, нажмите «Да».
  6. Далее должно отобразиться системное сообщение с фразой об успешном изменении.
  7. Закройте окна настроек и запустите программу в обычном режиме.

Устранение ошибки при восстановлении файлов Windows XP

В ОС Windows XP, в некоторых случаях, может помочь восстановления файлов из загрузочного диска. Можно сделать это вручную.

  1. Для этого нужно открыть дистрибутив с Windows, который установлен в вашей системе, отыскать в нем 2 файла — «c_1251.nls» и «cp_1251.nls».
  2. Затем найти их в системе. Можно воспользоваться поисковой строкой.
  3. После того, как вы отыскали в системе эти 2 файла их нужно заменить на файлы из дистрибутива, то есть заменить на новые.

Можно также это сделать при консоли или командной строки. Для этого вставьте диск в привод, и запустите процесс восстановления системы при помощи диска. Когда вы окажитесь в меню восстановления, нажмите «R», чтобы попасть в консоль. Далее введите в ней следующую команду «copy C:Windowssystem32c_1251.nls», такую же команду введите для файла «cp_1251.lns». И войдите в систему в обычном режиме. Ошибка 1С версии 7.7 «Порядок сортировки, который установлен для баз данных, отличается от системного» должна исчезнуть.

Отчет по конфигурации: «Справочники, документы, регистры. Подсчет количества записей и переход в форму списка объекта» Промо

Отчет даёт моментальное представление о качественном и количественном заполнении базы данных по видам справочников, документов, регистров (накопления, бухгалтерии, сведений).
Отбор документов по периоду, по организации (при наличии такого реквизита). Авто установка фильтра по периоду, по организации при переходе в форму списка.
Отбор регистров по периоду (кроме непериодических регистров сведений), по организации (при наличии такого измерения). Авто установка фильтра по периоду, по организации при переходе в форму списка.
Дополнительный подсчёт количества справочников, документов по статусу «Помечен на удаление» в отчёте. Авто установка фильтра по статусу «Помечен» при переходе в форму списка.
Дополнительный подсчёт количества документов по статусу «Проведён / Не проведён». Авто установка фильтра по статусу «Проведён» при переходе в форму списка.
Двойной клик по ячейке отчёта выполняет переход в форму списка выбранного справочника, документа, регистра (накопления, бухгалтерии, сведений).

3 стартмани

19.03.2012   
33719   
241   
Designer1C   

10
   

Исправляем дисфункцию с порядком сортировки в 1С при помощи ordnochk.prm

Встречать ошибку в 1С версии 7.7 с сообщением об отличие порядка сортировки, установленных для баз данных, могут и пользователи, которые применяют для работы разные операционные системы, например, Windows 7 и Windows Vista. Это может происходить, когда используется 2 различных компьютера, выходящие в сеть, допустим на работе и дома. Для решения проблемы достаточно создать файлик с названием «ordnochk» и расширение .prm.

  1. Найдите папку с программой 1С на своем компьютере. Если вы не изменяли путь при установке, то она будет находиться по пути C:Program Files1Cv77.
  2. Откройте её и здесь создайте пустой текстовый файл.
  3. Для этого нажмите правой кнопкой мыши, находясь в папке. Выберите пункт «Создать», «Текстовый файл».
  4. Самое главное — при сохранении этого файла нужно в поле «Название» ввести «ordnochk.prm» и нажать «Сохранить». Иногда система компьютера вносит часть имени после точки в состав имени. Вам необходимо, чтобы «prm» была именно расширением файла.
  5. Можно сначала создать файл в любой папке, затем переместить его в корень программы 1С.

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

Планировщик v1.1.09 — оригинальная обработка для автоматизации выполнения задач по расписанию Промо

Автоматизация выполнения задач по расписанию
(регуляно в интервале времени, по дням и т.д.)
Задача состоит из многих заданий С УСЛОВИЯМИ ВЫПОЛНЕНИЯ!
БЕЗ ИЗМЕНЕНИЯ КОНФИГУРАЦИИ!!!

Возможные задания

— формирование прайса (собственный формат)
— запуск внешних и внутренних отчетов (обработок) с параметрами, расширенными параметрами, возможностью заполнения параметрами форм и автоматических нажатий на необходимые кнопки форм;
— запуск внешних приложений, команд системы (с возможностью ожидания завершения)
— выполнение произвольного текста на языке 1С (указанного, из файла, оба варианта)
— работа с архивами (ZIP) упаковка, распаковка
— получение и отправка писем с вложениями по почте (SMTP/POP3)
— прием и передача файлов по протоколу FTP, получение содержания папки с сохранением в файле
— работа с файлами, каталогами (копирование, перенос, удаление)
— стандартный бипер
— проигрывание Wav-файла
— отправка сообщения через mailslot с подменой отправителя (локальная сеть) или аля Net Send (Win32API)
— системные функции (очистка, закрытие окна сообщений, закрытие 1С, завершение сеанса пользователя, перезагрузка, выключение компьютера)
— макроимена в строках ввода, параметрах заданий по английски %CurDate и в стиле 1С , использование вычисляемого значения (вызов Alt+Ins)

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

Используются настраиваемые соединения с SMTP/POP3, FTP.

1 стартмани

27.06.2008   
60641   
1171   
MrDen   

213
   

Загрузка адресов произвольного формата (КЛАДР и нестандартных «грязных» адресов) в ФИАС современных конфигураций из 1С 7.7

Описание технологии загрузки любых адресов из 1С 7.7 с разложением по ФИАС в современные конфигурации 1C 8.3 на примере ERP. Предлагаемый способ просто чудо, он гарантирует результат, он очень простой и качественный! Моя обработка является синтаксическим анализатором, который подставляет в строку грязного адреса выражение «Дом №» и «Корпус», благодаря чему грязные адреса 7.7 сами очень хорошо раскладываются по значимым полям ФИАС — заполняется область, город, улица, дом, корпус.. все раскладывается само с помощью встроенного механизма современных конфигураций 1С 8.3, который написали сами сотрудники фирмы 1С!

1 стартмани

16.08.2019   
11892   
10   
ksnik   

12
   

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector