Адреса

Модуль "Адреса"

Функции

    ЗакончитьИзменениеАдресов
    КопироватьАдрес
    НачатьИзменениеАдресов
    ПереименоватьОбъект
    ПроверитьАдресПоКладру
    РедактироватьАдрес
    СинхронизироватьАдресПоКладру
    СоздатьАдрес
    СоздатьОбщийАдресПоКодам
    УдалитьАдрес
    Адреса

Объекты и типы

    Адрес
    МодульАдресов

Функции модуля "Адреса"

ЗакончитьИзменениеАдресов

Формат вызова:
ЗакончитьИзменениеАдресов; /*только чтение*/


КопироватьАдрес

Формат вызова:
КопироватьАдрес(Старый, Новый: Адрес); /*только чтение*/

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


НачатьИзменениеАдресов

Формат вызова:
НачатьИзменениеАдресов; /*только чтение*/


ПереименоватьОбъект

Формат вызова:
ПереименоватьОбъект(УровеньОбъекта, Исходный, Конечный: целое); /*только чтение*/


ПроверитьАдресПоКладру

Формат вызова:
ПроверитьАдресПоКладру(Адрес: Адрес): строка; /*только чтение*/


РедактироватьАдрес

Формат вызова:
РедактироватьАдрес(Адрес: Адрес; Дом, Корпус, Квартира, ПочтовыйИндекс: строка; [ПолныйАдрес = нет]: целое): целое; /*только чтение*/

описание:
Для уже имеющегося объекта адрес (возможно пустого) производится интерактивное редактирование параметров адреса.


СинхронизироватьАдресПоКладру

Формат вызова:
СинхронизироватьАдресПоКладру(Адрес: Адрес); /*только чтение*/


СоздатьАдрес

Формат вызова:
СоздатьАдрес: Адрес; /*только чтение*/

описание:
Создает объект Адрес.

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

включить "Справочники", "Адреса";
переменные
  А: Адрес;
  
  функция Split(Str, Pat, str1, str2: строка): целое;
  переменные
    is     : целое;
  начало
    is    := Позиция(Pat, Str);
    если is = 0 тогда
      результат := Нет
    иначе
    начало
      результат := Да;
      str1 := Подстрока(Str, 1, is - 1);
      str2 := Подстрока(Str, is + Длина(Pat), Длина(Str) - Длина(str1));
    конец;
  конец;  

  функция СтрокаВАдрес(Стр: строка): Адрес;
  переменные
    адр              : Адрес;
    part, rest       : строка;
    type, name       : строка;
    i, j, k          : целое;
    ГорРайон         : строка;
  начало
    адр         := СоздатьАдрес;
    i := Split(Стр, ', ', part, rest);
    если i <> 0 тогда
    начало
      i := Split(part, '. ', type, name);
      если Строчные(type) входит ['г', 'гор', 'город'] тогда
      начало
        адр.Город := КлючПоСправочнику("Города", name);
        адр.Город.Тип := КлючПоСправочнику("Сокращения адреса", type);
      конец
      иначе
      начало
        адр.НаселенныйПункт := КлючПоСправочнику("Населенные пункты", name);
        адр.НаселенныйПункт.Тип := КлючПоСправочнику("Сокращения адреса", type);
      конец;
      i := Split(rest, ', ', part, rest);    // теперь в part либо Городской район, либо Улица
      j := Позиция('р-н', part); k := Позиция('район', part); 
      если (j > 0) или (k > 0) тогда
      начало
        если j > 0 тогда
        начало
          ГорРайон := УбратьПробелы(ЗаменитьТекст(part, 'р-н', ''));
          адр.ГородскойРайон := КлючПоСправочнику("Городские районы", ГорРайон);
        конец;
        если k > 0 тогда
        начало
          ГорРайон := УбратьПробелы(ЗаменитьТекст(part, 'район', ''));
          адр.ГородскойРайон := КлючПоСправочнику("Городские районы", ГорРайон);
        конец;
        i := Split(rest, ', ', part, rest);    
      конец;  
// улица
      i := Split(part, '. ', type, name);
      адр.Улица := КлючПоСправочнику("Улицы", name);
      адр.Улица.Тип := КлючПоСправочнику("Сокращения адреса", type);
      i := Split(rest, ', ', part, rest);
      если i = 0 тогда // только дом
      начало
        i := Split(rest, '. ', type, name);
        адр.Дом := name;
      конец
      иначе // дом и квартира
      начало
        i := Split(part, '. ', type, name);
        адр.Дом := name;
        i := Split(rest, '. ', type, name);
        адр.Квартира := ЗаменитьТекст(name,' ','');
      конец   
    конец;
    результат   := адр;
  конец;
  
начало
  ОчиститьОкноВывода;
  А := СтрокаВАдрес("г. Рыбинск, ул. Зои Космодемьянской, д. 4, кв. 20");
  ВывестиТекст(А.Текст);
конец

Результат:

г. Рыбинск, ул. Зои Космодемьянской, д.4, кв.20


СоздатьОбщийАдресПоКодам

Формат вызова:
СоздатьОбщийАдресПоКодам(Страна, Регион, Район, Город, НаселенныйПункт, Улица, ГородскойРайон: целое): Адрес; /*только чтение*/

описание:
Создает объект Адрес с общими для нескольких конкретных адресов параметрами: Страна, Регион, Район, Город, НаселенныйПункт, Улица, ГородскойРайон. В дальнейшем, для конкретного адреса может быть проведена корректировка.


УдалитьАдрес

Формат вызова:
УдалитьАдрес(Адрес: Адрес); /*только чтение*/

описание:
Удаляет объект Адрес.


Адреса

Формат вызова:
Адреса: МодульАдресов; /*только чтение*/


Типы модуля "Адреса"

Адрес

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

функции объекта:

  IsShared
  Город
  ГородскойРайон
  ДатаРегистрации
  Дом
  Индекс
  Квартира
  Классификация
  КодНО
  Корпус
  НаселенныйПункт
  ОКАТО
  Офис
  Район
  Регион
  Страна
  Текст
  Телефон
  Улица
  ЭлАдрес
  ВидДома
  ВидКвартиры
  ВидКорпуса
  ВидОфиса
  ВидСтроения
  Загрузить
  ЗемельныйУчасток
  Идентификатор
  МашиноМесто
  Опции
  Поселение
  Сохранить
  Строение
  ЭлементПланСтруктуры

IsShared

Формат вызова:
Адрес.IsShared: целое;


Город

Формат вызова:
Адрес.Город: Города;

описание:
Возвращает город, в котором прописан текущий сотрудник


ГородскойРайон

Формат вызова:
Адрес.ГородскойРайон: Городские_районы;

описание:
При делении города на районы, возвращает район города.


ДатаРегистрации

Формат вызова:
Адрес.ДатаРегистрации: Дата;


Дом

Формат вызова:
Адрес.Дом: строка;

описание:
Возвращает номер дома, где прописан текущий сотрудник


Индекс

Формат вызова:
Адрес.Индекс: строка;

описание:
Возвращает почтовый индекс текущего сотрудника


Квартира

Формат вызова:
Адрес.Квартира: строка;

описание:
Возвращает номер квартиры, где прописан текущий сотрудник


Классификация

Формат вызова:
Адрес.Классификация: строка;


КодНО

Формат вызова:
Адрес.КодНО: строка;

описание:
Возвращает код НО текущего сотрудника


Корпус

Формат вызова:
Адрес.Корпус: строка;

описание:
Возвращает номер коруса, где прописан текущий сотрудник


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

Формат вызова:
Адрес.НаселенныйПункт: Населенные_пункты;

описание:
Возвращает название населенного пункта, в котором прописан текущий сотрудник


ОКАТО

Формат вызова:
Адрес.ОКАТО: строка;

описание:
Значение по Общероссийскому классификатору объектов административно-территориального деления. Первые два разряда - регион РФ, следующие три разряда - район или округ, следующие 3 - город или п.г.т, следующие три - село, деревня...


Офис

Формат вызова:
Адрес.Офис: строка;

описание:
Номер офиса помещения.


Район

Формат вызова:
Адрес.Район: Районы;

описание:
Возвращает название района, в котором прописан текущий сотрудник


Регион

Формат вызова:
Адрес.Регион: Регионы;

описание:
Возвращает название региона, где прописан текущий сотрудник


Страна

Формат вызова:
Адрес.Страна: Страны;

описание:
Возвращает название страны, в которой прописан текущий сотрудник


Текст

Формат вызова:
Адрес.Текст: строка; /*только чтение*/

описание:
Возвращает полный адрес по прописке текущего сотрудника


Телефон

Формат вызова:
Адрес.Телефон: строка;

описание:
Возвращает номер домашнего телефона текущего сотрудника


Улица

Формат вызова:
Адрес.Улица: Улицы;

описание:
Возвращает название улицы, где прописан текущий сорудник


ЭлАдрес

Формат вызова:
Адрес.ЭлАдрес: строка;

описание:
Возвращает электронный адрес текущего сотрудника


ВидДома

Формат вызова:
Адрес.ВидДома: целое;


ВидКвартиры

Формат вызова:
Адрес.ВидКвартиры: целое;


ВидКорпуса

Формат вызова:
Адрес.ВидКорпуса: целое;


ВидОфиса

Формат вызова:
Адрес.ВидОфиса: целое;


ВидСтроения

Формат вызова:
Адрес.ВидСтроения: целое;


Загрузить

Формат вызова:
Адрес.Загрузить(Узлы: СтруктурныйСписок); /*только чтение*/


ЗемельныйУчасток

Формат вызова:
Адрес.ЗемельныйУчасток: строка;

описание:
Обозначение земельного участка.


Идентификатор

Формат вызова:
Адрес.Идентификатор: строка;


МашиноМесто

Формат вызова:
Адрес.МашиноМесто: строка;

описание:
Обозначение машиноместа.


Опции

Формат вызова:
Адрес.Опции: целое;

описание:
Битовое свойство для расширеня свойств объекта Адрес.


Поселение

Формат вызова:
Адрес.Поселение: Селькое_городское_поселение;


Сохранить

Формат вызова:
Адрес.Сохранить(Узлы: СтруктурныйСписок); /*только чтение*/


Строение

Формат вызова:
Адрес.Строение: строка;

описание:
Обозначение строения.


ЭлементПланСтруктуры

Формат вызова:
Адрес.ЭлементПланСтруктуры: Элементы_планировочной_структуры;


МодульАдресов

функции объекта:

  НайтиАдрес
  Подключение

НайтиАдрес

Формат вызова:
МодульАдресов.НайтиАдрес(Узлы: СтруктурныйСписок; [Список]: СписокОбъектов): Адрес; /*только чтение*/


Подключение

Формат вызова:
МодульАдресов.Подключение: Подключение; /*только чтение*/