Мой адрес не дом и не улица… Размышления об адресном классификаторе

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

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

Кладр

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

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

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

- подкорректировать обработку загрузки классификатора в ИБ;

- самостоятельно организовать загрузку части адресной информации;

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

 

Сначала рассмотрим вопрос: «А зачем вообще нужен адресный классификатор?».

Ответ очевиден – для стандартизации адресных данных. Например, в Санкт-Петербурге есть улица Олеко Дундича. Название, казалось бы, простое, но встречается множество вариантов написания названия этой улицы: ул. Олеко Дундича, ул. О. Дундича, Дундича О. улица. Всем понятно, что речь идет об одной и той же улице, но при электронной передаче адресной информации все будет сложнее. Для решения проблемы ФНС России периодически выпускает адресные классификаторы (таблицу всех адресов страны с почтовыми индексами) и призывает придерживаться установленных в них географических наименований. Актуальные версии адресных классификаторов размещаются на сайте ГНИВЦ в разделе «Классификатор» http://www.gnivc.ru/inf_provision/classifiers_reference/kladr/

В типовых решениях от 1С, начиная с версий для платформы 7.7, для ввода российского адреса можно (но необязательно) использовать классификатор, загруженный с сайта ГНИВЦ или диска ИТС.

В решениях для 1С: Предприятия 8 для хранения адресного классификатора применяется регистр сведений, именуемый «АдресныйКлассификатор». Существует также вспомогательный справочник «АдресныеСокращения», предназначенный для расшифровки сокращений некоторых географических наименований, содержащихся в регистре.

Справочник «АдресныеСокращения» имеет два реквизита: уровень (уровень объекта из регистра) и сокращение (используемое в регистре сокращение).

 

Примеры элементов справочника

Код

Наименование

Уровень

Сокращение

105

Область

1

обл

205

Автономный округ

1

АО

529

Улица

5

ул

 

Непериодический регистр сведений «АдресныйКлассификатор» имеет 7 измерений  и 4 ресурса.

В измерениях содержатся коды для позиционирования с целью последующего формирования адресной строки. Самым важным измерением является Код, который содержит полный код адресного элемента в специальном формате. Предусмотрены также коды для хранения значений отдельных элементов иерархии, которые частично дублируют часть основного кода: «КодРегионаВКоде», «КодУлицыВКоде». Для организации иерархии предусмотрен также реквизит, хранящий уровень текущего элемента «ТипАдресногоЭлемента».

 

Например для элемента 5-го уровня Адыгея Респ, г. Майкоп, сдт. Эра дп, Дружбы ул.:

Код

КодРегиона

ВКоде

КодРайона

ВКоде

КодГорода

ВКоде

КодНаселенного

ПунктаВКоде

КодУлицы

ВКоде

ТипАдресного

Элемента

100000104300040000000000

1

 

1

43

4

5

 

В ресурсах строкового типа хранятся значения элемента, соответствующий коду измерений: Наименование, сокращение, Индекс (почтовый), АльтернативныеНазвания.

 

Рассмотрим принцип иерархии элементов и образования кодов. Для учета всех особенностей образования российских адресов предусмотрено 6 (в ряде случаев 9) иерархий составляющих адреса, сопровождающихся 25-разрядным кодом. Если какой-то из уровней иерархии не актуален для данного адреса, то ссылка на него заменяется нулевым кодом.

Например, в элементе шестого уровня с кодом 200 000 500 000 460 001 000 000 (Башкортостан Респ, Салават г, Мостовая ул д 5), задействовано 3 из пяти возможных вышестоящих уровней. С учетом географических особенностей, данный адрес не имеет вышестоящих элементов иерархии уровня 2 (Район) и 4 (Населенный пункт).

 

Таблица иерархии уровней кода элементов адресного классификатора

Уровень

Измерение

Длина кода

Код

Пример

Комментарий

1  Регион

КодРегионаВКоде

2

ХХ00000000000000000000000

 

*

Лидирующий X при одноразрядном коде опускается (ноль не пишется).

 

100 000 000 000 000 000 000 000 – Адыгея Респ

Обязательный для всех нижестоящих элементов уровень. Фактическая длина 1 знак для однозначных кодов, 2 – для двухзначных.

Задействованы коды 1-89 + 99 – г. Байконур

2

Район

КодРайонаВКоде

3

YYXXX00000000000000000000

 

*Y – родительские  разряды

100 300 000 000 000 000 000 000 - – Адыгея Респ, Красногвардейский район

Произвольные коды от 000 до 999.

Задействованы от 000 до 061.

Не путать с районом города!!!

3

Город

КодГородаВКоде

3

YYYYYXXX00000000000000000

 

100 000 100 000 000 000 000 000 Адыгея Респ, г. Майкоп (не относится к какому-либо району)

Не используются для городов федерального значения Москва, Санкт-Петербург. Но применяется для городов, административного подчинения в их составе, напр. Зеленоград

4

Населенный пункт

КодНаселенногоПунктаВКоде

3

YYYYYYYYXXX00000000000000

 

100 000 100 300 000 000 000 000 - Адыгея Респ, г. Майкоп, Гавердовский п.

(Поселок в подчинении города)

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

Активно применяются сокращения: нп/пгт и пр.

5

Улица

КодУлицыВКоде

4

YYYYYYYYYYYXXXX0000000000

100 000 100 000 020 000 000 000 - Адыгея Респ, г. Майкоп Абрикосовая ул.

Используется для обозначения улиц, проспектов и т.д.

Не является обязательным – сущ нас пункты и даже города с адресами без улиц.

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

6

Дом

 

4

YYYYYYYYYYYYYYY0000000000

100 000 100 000 210 001 000 000 - Адыгея Респ, г. Майкоп Верещагина ул.

Н(1-127),Ч(2-140)

 

*Н – нечетные номера  дома

 

** запись вида Ч(20-998) говорит о всех четных домах, начиная с 20-го и «не обещает» наличие дома номер 998.

*** Могут быть также зашифрованы номера корпусов/строений литеры и пр.

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

Квартира

 

4

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

Код актуальности

2

 

Полный код уникален во всем классификаторе.

 

В регистре предусмотрен набор ресурсов:

Наименование – наименование географического объекта, или группа номеров домов

Сокращение – используется для сокращенного (иногда и полного) обозначения типов объектов, а не сокращений наименований. Расшифровка проводится путем нахождения соответствия по справочнику «АдресныеСокращения»

Индекс – почтовый индекс, соответствующий географическому объекту. Может встречаться на различных уровнях иерархии, однако самым точным будет на нижнем уровне. Например, Санкт-Петербург 190000, г. Сестрорецк (город в подчинении Санкт-Петербурга)  197706, а дома по улице Мосина могут иметь два индекса 197706 и 197704

Альтернативные названия – ресурс иногда содержит иные или прежние названия географических объектов. В 1С используются только для визуализации, в адреса не копируются.

 

Примеры

Код

Наименование

Сокращение

Индекс

Альт. названия

7 800 000 000 006 890 000 000 000

Ленина

пл.

 

 

7 800 000 000 006 900 000 000 000

Ленина

ул.

195009

 

700 900 000 100 020 000 000 000

Уянаева

ул

361800

Калинина ул,Балкарская ул,

 

 

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

Для элемента классификатора 1 000 001 000 0021 0001 000000 Адыгея Респ, г. Майкоп Верещагина ул. Н(1-127),Ч(2-140)

 

  1. Определим длину кода – 24 символа. Под код региона отводится 1 символ. Находим регион с кодом 1. Полный код 100000000000000000000000 – Республика Адыгея
  2. 3 следующих разряда – код района. Здесь 000 – не применяется.
  3. 3 следующих разряда – код города. Здесь 001. Находим элемент с кодом 1000001. Полный код 100000100000000000000000 – г. Майкоп.
  4. 3 следующих разряда – населенный пункт. Здесь 000 – не применяется.
  5. 4 следующих разряда – код улицы. Здесь 0021. Находим элемент с кодом 10000010000021. Полный код 100000100000210000000000 – Верещагина ул.
  6. Последние из используемых разрядов – условный код дома. Обозначается как 0001. Полный код 100000100000210001000000. Имеет индекс 385002, в отличии от 100000100000210002000000, для домов ул. Верещагина, имеющих индекс 385008.

 

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

  1. Выбор начинается с ввода региона (фильтр отбора ТипАдресногоЭлемента=1) – обязательного реквизита. Остальные составные части адреса должны быть недоступны.
  2. Должен быть доступен выбор: района/города/нас. пункта/улицы с отбором по выбранному региону (фильтр отбора ТипАдресногоЭлемента=2/3/4/5 и КодРегионаВКоде = Коду выбранного региона). Выбор улицы при единственном заполненной составляющей – Регионе возможен только для трех регионов: г. Москва (77), г. Санкт-Петербург (78) и Байконур (99)
  3. После выбора вышестоящей составляющей адреса, на нижестоящие накладывается соответствующий фильтр: район/город/нас. пункт.
  4. После выбора города/нас. пункта/улицы допустим выбор групп номеров домов с соответствующим отбором, или наоборот – нахождение элемента классификатора 6-го уровня по введенному номеру. Далее можно подставлять соответствующий почтовый индекс. При необходимости можно организовать ввод номера квартиры. На этом ввод адреса завершается.

 

Для манипуляций с данными классификатора удобно использовать экспортные процедуры и функции общего модуля «УправлениеКонтактнойИнформацией». Вот некоторые из них.

 

Функция ПолучитьПолноеНазвание(Знач КодЭлемента, НачальныйУровеньДетализации = 1, КонечныйУровеньДетализации = 6)

-Формирует строку полного адреса для записи регистра классификатора с кодом «КодЭлемента». При необходимости полноту записи можно ограничить, регулируя НачальныйУровеньДетализации и КонечныйУровеньДетализации.

 

Пример:

 

УправлениеКонтактнойИнформацией.ПолучитьПолноеНазвание(8900000700000470003000000)

Вернет значение:

Ямало-Ненецкий АО, Ноябрьск г, Советская ул, 90А,94,96А,98А,107 ДОМ

 

Процедура ПолучитьПоКодуАдресногоЭлементаЕгоКомпоненты(КодАдресногоЭлемента, Регион, Район, Город, НаселенныйПункт, Улица, Дом)

- Раскладывает запись регистра классификатора (элемент с кодом КодАдресногоЭлемента) на составляющие. Результаты будут переданы в переменные-аргументы Регион, Район, Город, НаселенныйПункт, Улица, Дом

 

Функция ПолучитьИндекс(Знач НазваниеРегиона, Знач НазваниеРайона, Знач НазваниеГорода, Знач НазваниеНаселенногоПункта, Знач НазваниеУлицы, Знач НомерДома, Знач НомерКорпуса)

- определяет индекс по переданным региону, району, городу, населенному пункту, улице, дому и корпусу.

 

Пример:

 

УправлениеКонтактнойИнформацией.ПолучитьИндекс("Санкт-Петербург",,,,"Невский",100,)

Вернет значение:

191025

 

Примечание:

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

 

При подготовке статьи использованы описания объектов из типовых конфигураций для «1С:Предприятие 8.2».

10

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

Избранное Подписка Сортировка: Древо
В этой теме еще нет сообщений.
Оставьте свое сообщение

См. также

"Хочу универсально!" [Часть 1] 65

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

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

02.09.2019    3877    SeiOkami    35       

Иерархия без "В ИЕРАРХИИ" 113

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

Говорится о том, как эффективно представлять иерархию в СУБД, как получать и использовать эти представления при решении задач в запросной технике. Уточняются и дополняются запросы из статьи "Уровни, глубина, прародители, циклы и аналоги запросом" [https://infostart.ru/public/160707/].

22.08.2019    4267    ildarovich    16       

EnterpriseData – часть 3. Загрузка данных, идентификация объектов 61

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

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    3290    ids79    7       

Обработчики событий при записи объектов. Зачем и что за чем? 189

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

Программисту, имеющему немного опыта на платформе 1С 8.3, бывает сложно разобраться: ПередЗаписью, ПриЗаписи, ПослеЗаписи, на сервере, на клиенте, в модуле формы, в модуле объекта.... Эта шпаргалка была создана в процессе обучения и реального опыта с целью разложить всё по полочкам, чтобы было четкое понимание в каком случае какой обработчик нужно использовать и в какой последовательности они запускаются при записи и проведении документов. Данная статья будет полезна в большей степени начинающим разработчикам. Но и опытным позволит освежить информацию, упорядочить её.

25.07.2019    10204    4    AlbinaAAA    22       

Как проводятся документы в типовых конфигурациях от 1С 135

Статья Программист Нет файла v8::ОУ ERP2 УТ11 Россия УУ Windows Бесплатно (free) Математика и алгоритмы Практика программирования Разработка

В свое время, когда только начинал шаги в 1С и изучал, как проводятся документы в конфигурациях на платформе 1С по книге "Разработка управляемого интерфейса" (Хрусталева Е.Ю.), и там были представлены примеры совсем далекие от того, как сейчас проводятся документы в современных конфигурациях от 1С.

24.07.2019    14802    skv_79    32       

FizzBuzz на 1С. Чем короче, тем веселее. Варианты принимаются... 8

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

Мне было скучно, я не мог себя заставить написать ничего полезного. И читал статью на Хабре. Потом я читал комментарии, а потом... нет я не ушел смотреть котиков на ютюбе. Я решил сделать несколько решений задачки FizzBuzz на 1С, с целью "чем короче, тем лучше". Прошу сильно не пинать, это просто развлечение для вечера.

24.07.2019    2573    vandalsvq    16       

Управление качеством кода 124

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

О SonarQube, АПК, EDT. Какие преимущества дает их использование. Для каких команд подходит.

22.07.2019    6868    Stepa86    23       

Что делает "В ИЕРАРХИИ" в запросе? 85

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

Описание действий платформы 1С при использовании конструкции "В ИЕРАРХИИ" в запросах.

16.07.2019    6557    YPermitin    29       

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

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

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

25.06.2019    17160    ids79    16       

Реализуем Стек, Очередь и Приоритетную очередь в 1С 51

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

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

24.06.2019    7085    RonX01    63       

Организация хранения промежуточных данных 3

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

Организация хранения промежуточных данных в процедуре сверки.

29.05.2019    1706    scientes    1       

Вычисление 200 тысяч знаков числа pi 73

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

В статье рассматриваются возможности платформы выполнять сверхточные вычисления без использования сложных алгоритмов и внешних компонент на примере вычисления числа pi.

28.05.2019    3586    Oleg_nsk    93       

Регистры накопления. Виртуальные таблицы. Часть №1: Обороты 82

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

Описание работы платформы 1С:Предприятие 8.2 с виртуальной таблицей "Обороты" регистров накопления.

20.05.2019    9742    YPermitin    4       

Даем названия переменным: как префиксы экономят наше время 10

Статья Программист Стажер Внешняя обработка (ert,epf) v8 Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

Понятные названия переменных экономят время и силы разработчика : в начале, когда мы даём названия переменным, в процессе развития разработки, когда мы "на лету" понимаем назначение той или иной переменной, в конце, когда мы передаём разработку на поддержку других программистов, сами переходя к новым разработкам

06.05.2019    2897    Designer1C    69       

Заметки по SQL: Срез последних - аналог запроса 15

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

В статье описывается создание среза последних данных средствами классического языка запросов. Причем метод построения запроса был разработан еще во времена, когда автор работал с СУБД Oracle 9i и программировал на PL SQL. Основная идея заключается преобразовании запроса с подзапросом, в запрос без подзапроса (в примерах описывается преобразование до двух вложенных подзапросов). Запросы тестировались на реальных базах данных. Платформа - 1С:Предприятие 8.3 (8.3.10.2561).

15.01.2019    5800    IVC_goal    5       

Автоматические и управляемые блокировки применительно к типовым конфигурациям 1С 125

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

Основные принципы работы с режимами автоматических и управляемых блокировок в 1С Предприятие 8. Теория и применение в типовых конфигурациях: БП, УТ, ЕРП

10.11.2018    20697    ids79    40       

Основные понятия и механизмы оптимизации клиент-серверного взаимодействия в 1C 144

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

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

23.08.2018    21056    Rain88    42       

Теорема номер тринадцать 15

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

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

15.03.2018    8949    vasilev2015    24       

Введение в CI для 1С 87

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

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

21.11.2017    18784    real_MaxA    22       

Как работает серверный вызов в 1С 456

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

Клиент-серверная архитектура заложена в платформе изначально — со времен «1С:Предприятие 8.0». Однако при разработке на 8.0 и 8.1 о разделении кода на клиентскую и серверную часть можно было не заботиться, поскольку на клиенте (на толстом клиенте) был доступен тот же функционал, что и на сервере. Всё изменилось с выходом платформы «1С:Предприятие 8.2», когда появился тонкий клиент. Теперь на клиенте доступен один функционал, на сервере — другой. Клиент и сервер «общаются» между собой с помощью серверного вызова. Конечно, это усложнило процесс разработки, но с другой стороны – можно создавать более оптимальные (быстрые) решения, поскольку все сложные задачи выполняются на сервере.

18.11.2017    42770    pahich    75       

#Область ВНЕШНИЕ_ВЫЗОВЫ или MVC в 1С, библиотечность и упрощение интеграции кода 43

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

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

12.10.2017    14431    for_sale    58       

Групповая разработка конфигураций в крупном холдинге 68

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

О чем мы сегодня поговорим? • О становлении и развитии групповой разработки конфигураций 1С в крупном холдинге с использованием хранилища конфигураций. • Обсудим практически все аспекты использования хранилища в командной разработке. • Я расскажу про те методы и идеи, которые мы пробовали использовать, какие используем до сих пор, от каких отказались и почему.

15.08.2017    17018    stas_ganiev    15       

Автоматизация процесса 1С-разработки 91

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

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

07.06.2017    22514    ekaruk    9       

Пишем игру Минер. Обработка событий ActiveX в 1С 29

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

Пример демонстрирует обработку событий генерируемых компонентой ActiveX в 1С.

29.05.2017    12386    user621724_Dimav1979    11       

Как я доступ на kb.1c.ru получал 90

Статья Программист Нет файла v8 Россия Бесплатно (free) Решение задач на 1С:Специалист Математика и алгоритмы

kb.1c - база знаний по технологическим вопросам крупных внедрений и не только. В этой базе знаний собираются методики и решения технологических проблем эксплуатации 1с, check-list'ы и инструкции по настройке ПО на серверах. Какие-то из размещенных статей дублируются на ИТС. Когда я искал пути получения доступа к нему я столкнулся с проблемой: мало кто доподлинно знает как получить доступ к нему, не работая у франчайзи 1с. Я опишу путь, который прошёл я, как физическое лицо.

01.05.2017    22030    ikekoval    33       

Улучшение стандарта "Структура модуля" 6

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

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

26.03.2017    11933    o.nikolaev    23       

"Распределение в запросе" или "избавляемся от перебора" 182

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

Хороший перебор - это отсутствие перебора. Рассмотрим пример замены полного перебора запросом.

16.12.2016    27751    alexandersh    45       

Планы обмена. Квитировать или гарантировать? 24

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

Планы обмена предлагают использовать две стратегии удаления обработанных изменений: квитирование и гарантированная доставка сообщений. Как сделать правильный выбор?

12.12.2016    14166    zhichkin    9       

Некоторые принципы оптимизации запросов 1С (+SQL) 115

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

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

17.11.2016    8599    ture    40       

Использование git для доработки типовых конфигураций 1С 229

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

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

11.10.2016    185885    pumbaE    31       

Оптимизация запросов 1С:Предприятие – от теории к практике 114

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

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

07.10.2016    31022    bpc222    20       

Регистры сведений 1С. Как это устроено. 713

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

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

05.08.2016    146485    Sergey.Noskov    154       

Переводим расширения на 8.3.8. Памятка. 79

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

Типовые конфигурации переходят на новую платформу 8.3.8 без режима совместимости. А значит нужно переделывать расширения под эти условия. В статье небольшая памятка о переводе расширения на 8.3.8

29.07.2016    38811    mrXoxot    12       

Опыт практического применения методики BDD на 1С. Написание сценариев 121

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

Эта статья открывает цикл публикаций, в которых я хочу поделиться опытом использования методики BDD при разработке на 1С. В этой статье речь пойдёт о написании сценариев.

03.07.2016    19976    oleynik.dv    132       

Заметки про запросы. Последовательность. 109

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

Рассуждения, основанные на контрпримерах. Определяем последовательность операций с помощью одной только консоли запросов. Версия 2.

27.05.2016    28971    vasilev2015    31       

Оптимизация планирования доставки грузов. Алгоритм кластеризации k-means (метод K-средних). 26

Статья Программист Нет файла v8 УТ10 УПП1 Windows Бесплатно (free) Математика и алгоритмы

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

10 стартмани

09.02.2016    26016    mi1man    4       

Контур.EDI изнутри, или история командной разработки тиражного продукта на 1С 174

Статья Программист Нет файла v8 Россия УУ Windows Оптовая торговля Бесплатно (free) Интеграция Практика программирования Математика и алгоритмы

“Система - больше, чем просто совокупность ее элементов”; “Несколько разработчиков - это еще не команда разработки”. Расскажу, как мы прочувствовали эти очевидные утверждения на своей шкуре.

17.11.2015    35426    skif47    88       

Порядок записи движений регистров при проведении документа 94

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

Когда-то была программа 1С седьмой версии, и все программисты знали: если нужно проанализировать и/или исправить движения документа - смотри модуль документа, процедура ОбработкаПроведения(). В 1С 8 все гораздо сложнее. Кроме модуля проведения есть еще подписки на события, а также движения документа может "создавать" не сам документ. Эта статья о том, как происходит проведение и в какой момент записываются движения документа по регистрам.

13.11.2015    78299    triton_tver    8       

.NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия 51

Статья Программист Нет файла v7.7 v8 Windows Бесплатно (free) Разработка внешних компонент Математика и алгоритмы

Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия, а так же генерация модулей на C# и 1С для подключения к событиям. Использование DynamicMethod и ILGenerator. Представлены примеры для использовании событий System.IO.FileSystemWatcher (Ожидает уведомления файловой системы об изменениях и инициирует события при изменениях каталога или файла в каталоге.) и SerialPort (обработка сканера штрих кода подключенного к COM порту). Обертка позволяет использовать классы .Net только на языке 1С. Реализация 1C Messenger описанного здесь http://infostart.ru/public/434771/

12.11.2015    41625    Serginio    35       

Три способа получить дерево элементов иерархического справочника 50

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

Рассматривается применимость и недостатки следующих способов получения дерева 1) Запрос с использованием итогов по иерархии 2) Формирование дерева обходом выборки с упорядочиванием по иерархии 3) Формирование иерархии по списку элементов транзитивным замыканием

11.11.2015    61295    32ops    9       

Мультиинструментальный Brute Force 4

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

Решение задачи из Project Euler с помощью 1С, а также дополнительных программ, серверов и прочих хитростей.

30.10.2015    10221    scientes    4       

1С с "плюсами" 74

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

- Разработана методика подключения внешней компоненты, снимающая ограничения на типы данных аргументов и возвращаемого значения. - Проведено документирование основных типов данных (объектов, интерфейсов) платформы. - Разработан объект «Делегат» для реализации функциональных объектов (указатель-на-функцию). - Разработана концепция итератора произвольного доступа для основных контейнеров платформы с целью сопряжения со стандартной C++ библиотекой. - В процессе разработки механизм 1С классов (наследование, интерфейсы) для возможности использования парадигм объектно-ориентированного программирования на уровне кода.

14.10.2015    19577    IntelInside    47       

Знакомство с технологией Automation-сервер на примерах 33

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

В статье рассмотрены принципы работы технологии Automation-сервер на конкретных примерах.

28.09.2015    25616    niko11s    10       

Критерии отбора 82

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

Статья посвящена объекту конфигурации - критерий отбора. Поговорим о сущности этого объекта и о методах работы с ним.

24.09.2015    48317    niko11s    13       

По ссылке или по значению? Ключевое слово Знач и с чем его едят 196

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

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

12.08.2015    36120    Evil Beaver    239