Получить индекс по адресу 1с
Видеоролик выполнен в программе «1С:Зарплата и управление персоналом 8» версия 3.1.5.
ФИАС (Федеральная информационная адресная система) введена в соответствии с Федеральным законом от 28.12.2013 № 443-ФЗ, доступна на сайте ФНС, обеспечивает формирование, ведение и использование государственного адресного реестра.
Для идентификации адреса в этой системе используется уникальный номер адреса объекта в государственном реестре.
В программе «1С:Зарплата и управление персоналом 8» редакции 3 поддерживается возможность контроля корректности ввода адресов в соответствии с ФИАС. При этом адрес автоматически содержит уникальный номер адреса объекта, и если отчетность, например, передаваемая в ФСС в регионах «прямых выплат», подразумевает указание этого кода, то он подставляется автоматически.
Подключается проверка в меню Администрирование – Общие настройки - Виды контактной информации для выбранного вида адреса по ссылке Дополнительные настройки адреса. При установленном флаге Только российский адрес следует установить флаг Запрещать ввод некорректного адреса, выбрав вариант проверки по ФИАС.
Если вносимый в программу адрес не соответствует ФИАС, то предоставляется возможность самостоятельно проверить адрес на сайте ФИАС по одноименной ссылке.
В решениях «старого поколения» (программах «1С:Бухгалтерия 8» (ред. 2.0), «1С:Зарплата и управление персоналом 8» (ред. 2.5), «1С:Управление производственным предприятием 8» (ред. 1.3) и т. п.) и в продуктах «1С:Предприятие 7.7» по-прежнему доступен ручной ввод адресов, в том числе и уникального номера адреса объекта в государственном реестре. При этом не предусмотрены подсказки, автозаполнения и проверки корректности адресов. Уникальные коды адресов надлежит самостоятельно определить на сайте ФИАС и заполнить соответствующее поле. Единожды указанный адрес и его код сохраняются, и в дальнейшем используется в отчетах. При смене адреса сотрудника пользователям решений «старого поколения» придется самостоятельно указать код нового адреса.
Как переносить реквизиты выбранного элемента справочника в документ
Обращаюсь к вам за помощью! Ситуация такая: есть справочник с реквизитами, также есть документ, в.
У выбранного элемента нету реквизитов
Добрый день, Вот делаю заполнение таблицы, у ВидаВремени есть реквизит буквенный код, на толстой.
Автозаполнение реквизита ТЧ на основе выбранного элемента
Проблема такова. Имеется справочник со студентами, в котором имеются следующие реквизиты: ФИО.
Заполнить поля из выбранного элемента справочника
День добрый если несложно объяснить Своего ума не хватает. Есть справочник Прокат с реквизитами.
Есть на форме таблица значений, где я могу выбирать значения, вот с этой таблицы и нужно. Проблема в том, что у меня есть 2 вкладки и когда я перехожу между ними, то у меня во вкладке где таблица, Элементы.ТЗ.ТекущаяСтрока каждый раз увеличивается(по неведомым мне причинам), поэтому я не могу удалить. Нужно узнать индекс.
И каждый раз когда перехожу между вкладкой Общие и РС "Элементы.Список.ТекущаяСтрока" Возвращает, в данном случае, 'индекс' или что это не знаю, на 3 больше, т.е изначально первый эл - 0, второй -1 третий-2, перешёл между вкладками уже будет возвращать 3 4 5.
Вообще индекс можно получить так: Список.Индекс(тут элемент).
Элементы.Список.ТекущаяСтрока - разве не элемент возвращает? Мне выдаёт ошибку несоответствие типов
Александр321321, так на сервере нужно не через элемент обращатся, а через объект
Добавлено через 1 минуту
а ну да через объект не получить текущую строку
Добавлено через 1 минуту
а ну через выделенные строки можно получить индекс тогда наверное
Добавлено через 2 минуты
ну блин и элементы.Документы1.ТекущаяСтрока возвращает индекс
Так это понятно) Просто сейчас мне надо реализовать удаление и добавление элементов. А из-за того что я получаю непонятные цифры с "ТекущаяСтрока" вместо индекса, всё сбивается. Либо добавлять или удалять элемент, потом заново запускать форму ещё раз удалить/добавить и тд, то тогда всё отлично) Но это явно не ожидаемый функционал
Добавлено через 1 минуту
В том то и дело, что если я удалю второй элемент из 5, он удалится, а потом захочу удалить 5й элемент, выдаст ошибку выход за пределы массива, потому что Текущая строка будет возвращать 4, а настоящий индекс уже будет равняться 3м, а был равным 4м до удаления 2го элемента
Добавлено через 26 минут
Таким кодом я могу перебрать все элементы СЗ и получить их индексы, но при этом когда я перехожу по вкладкам, то индексы увеличиваются, в чём проблема то
После СЗ.Очистить() Очищаются значения, а индексы продолжаются, как их обнулить, мб в этом проблема
- Индекс,
- Регион,
- Город,
- Район,
- Улица,
- .
- информация до кодов адреса по ФИАС/КЛАДР и координат местонахождения.
Примером работы с механизмом этой обработки является стандартизация заведенных в учетной системе адресов, если не использовались никакие классификаторы, а адрес вводился произвольной строкой, как показано на примере:
Данная обработка будет полезна, как обычным, так и отраслевым организациям, так как зачастую необходимо знать не только Адрес данного контрагента, но и коды ФИАС адреса города, здания, объекта, координаты для интеграции с ГИС-системами. В частности это поможет в заполнении кодов ФИАС зданий пользователям учетных систем "Учет в управляющих компаниях ЖКХ, ТСЖ", так как на текущий момент заполнение кодов ФИАС автоматически там не реализовано. Также на основе механизмов данной обработки можено реализовать автоматическое заполнение адресных данных контрагента для учетных систем, где это не предусмотрено разработчиком.
В решении этих вопросов поможет данная обработка.
Обработка позволяет получить в следующие Данные об Адресе:
- HOUSE.HOUSEGUID , если дом найден в ФИАС по точному совпадению;
- HOUSEINT.INTGUID , если дом найден в ФИАС как часть интервала;
- ADDROBJ.AOGUID в противном случае.
- 0 — страна;
- 1 — регион;
- 3 — район;
- 4 — город;
- 5 — район города;
- 6 — населенный пункт;
- 7 — улица;
- 8 — дом;
- 90 — доп. территория;
- 91 — улица в доп. территории;
- -1 — иностранный или пустой.
- 1 — центр района (Московская обл, Одинцовский р-н, г Одинцово)
- 2 — центр региона (Новосибирская обл, г Новосибирск);
- 3 — центр района и региона;
- 0 — ни то, ни другое (Московская обл, г Балашиха).
Код точности координат qc_geo — точность координат адреса для курьерской доставки:
Код qc_geo | Описание |
---|---|
0 | Точные координаты |
1 | Ближайший дом |
2 | Улица |
3 | Населенный пункт |
4 | Город |
5 | Координаты не определены |
Инструкция по работе с обработкой
2) Заполнить Токен, ввести Количество подсказок и Адрес в обработке:
3) Результат будет загружен в табличную часть:
4) Получившийся результат по всем подсказкам можно вывести в печатную форму:
Основные плюсы обработки
1) Использование формата ответа в XML, что позволит обрабатывать ответ даже на старых версиях платформы - без использования JSON.
2) В данной версии использована новая версия API.
3) Использование Количества подсказок - вы сами можете регулировать сколько подсказок вы можете получить.
4) Вывод ответа в Табличную часть - вы можете видеть все возможные варианты подсказок по вашему запросу.
в более удобочитаемую таблицу, которую гораздо проще обрабатывать и загружать.
В 1С:ЗУП 3 возможны два варианта работы в адресным классификатором ФИАС (настройка производится пользователем с полными правами в разделе Администрирование – Интернет-поддержка и сервисы – Адресный классификатор ):
При выборе варианта Использовать веб-сервис 1С для ввода и проверки адресов классификатор хранится в интернете на веб-сервисе 1С. При вводе адреса автоматически подгружается актуальная информация по адресам и выбор происходит из классификатора из интернета. Поэтому в этом случае требуется иметь подключение к интернету.
В текущих версиях ЗУП 3 режима Использовать веб-сервис 1С для ввода и проверки адресов нет. Теперь адреса можно вводить в базу без загрузки классификатора, если подключена интернет-поддержка ( Администрирование — Интернет-поддержка и сервисы ).
Если классификатор загружен в базу, то при вводе адреса и его проверке будут использоваться сведения из программы, иначе адресные сведения будут получены через веб-сервис.
При выборе варианта Загружать классификатор в программу производится загрузка классификатора ФИАС в программу. В этом случае классификатор требуется периодически обновлять.
Ввод адресов 1С:ЗУП 3 отличается от ввода адресов в 1С:ЗУП 2.5. В 1С:ЗУП 2.5 были отдельные поля для ввода региона, района, города, населенного пункта. В 1С:ЗУП 3 ввод в поле Город, нас.пункт начинается сразу с ввода названия города или населенного пункта. Автоматически определяется регион и район:
Если в поле Город, нас.пункт нажать кнопку выбора, то откроется форма с четырьмя полями для ввода адреса.
В ФИАС номера домов загружены в классификатор, поэтому их можно выбирать из списка.
При вводе адреса почтовый индекс определяется автоматически.
Начиная с ЗУП 3.1.8 используется новый формат ввода адресов по ФИАС — см. Новый формат ввода адреса по ФИАС (ЗУП 3.1.8)
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
В данной публикации рассматривается операция загрузки Классификатора банков РФ в.Перед тем как вводить в программу основные сведения об организации.Коллеги, обратите внимание в ЗУП 3.1.8 использование веб-сервиса фирмы «1С»..
(1 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
В ЗУП 3.1.10.571 в разделе Администрирование – Интернет-поддержка и сервисы – Адресный классификатор нет возможности выбрать вариант «Использовать веб-сервис 1С для ввода и проверки адресов». Может потому, что ранее классификатор был загружен в программу, но кроме как «Загрузить классификатор» другой выбор не предлагает. А если один сотрудник с пропиской в Москве, а остальные из Сибири, неучто надо загружать классификатор Москвы? Думала временно установить переключатель и адрес задать через сервис — не получается. Статья актуальна?
Попробовали ввести адрес Московский — получилось. Сделали вывод, что если классификатор региона не загружен в базу — автоматически используется сервис 1С. Отлично, даже красноты после ввода адреса не было…
Это значит, что у Вас был загружен классификатор по Москве. Без загруженного классификатора можно только вручную ввести данные адреса.
Вот все знают, что если у реквизита поставить признак "индексировать", то создастся индекс, состоящий из 2-х колонок - самого реквизита и ссылки.
А если создать критерий отбора - то индекс создастся из одной колонки - только значения реквизита.
Зачем так сделано?
Ну и голосовалка, что лучше :)
Чтобы lookup не делать, чтобы получить ссылку из индекса.
В критерии отбора - ссылку из индекса получать не надо.
Попробуем плясать от этого?
(3) Концепция в (0) прекрасна.
Ей (концепцией) надо ткнуть какого-нибудь Одавида, который кричал про убогость индексов в 1С.
Гораздо чаще надо получить Ссылку на Контрагнета по ИНН, чем Наименование контрагента по ИНН.
Может там, при выполнении Критерия отбора - выбираются все поля записи и полюбому будет lookup, так нафига в индекс пихать Ссылку.
А какой смысл делать отбор по значению реквизита, а затем еще и по ссылке внутри одного значения реквизита. Кажется, что лучше.
вот так работает:
exec sp_executesql N'SELECT
T1.IDTRef,
T1.IDRRef
FROM (SELECT
P1 AS IDTRef,
T2._IDRRef AS IDRRef
FROM _Document142 T2 WITH(NOLOCK)
WHERE EXISTS(
SELECT 1
FROM _Document142_VT1884 T3 WITH(NOLOCK)
WHERE T2._IDRRef = T3._Document142_IDRRef AND (T3._Fld1886_TYPE = @P2 AND T3._Fld1886_RTRef = @P3 AND T3._Fld1886_RRRef = @P4))
UNION ALL SELECT
@P5 AS IDTRef,
T4._IDRRef AS IDRRef
FROM _Document187 T4 WITH(NOLOCK)
WHERE EXISTS(
SELECT 1
FROM _Document187_VT3790 T5 WITH(NOLOCK)
WHERE T4._IDRRef = T5._Document187_IDRRef AND (T5._Fld3800_TYPE = @P2 AND T5._Fld3800_RTRef = @P3 AND T5._Fld3800_RRRef = @P4))
UNION SELECT
@P5 AS IDTRef,
T6._IDRRef AS IDRRef
FROM _Document187 T6 WITH(NOLOCK)
SELECT 1
FROM _Document187_VT3790 T7 WITH(NOLOCK)
WHERE T6._IDRRef = T7._Document187_IDRRef AND (T7._Fld3801_TYPE = @P2 AND T7._Fld3801_RTRef = @P3 AND T7._Fld3801_RRRef = @P4))
UNION ALL SELECT
@P6 AS IDTRef,
T8._IDRRef AS IDRRef
FROM _Document153 T8 WITH(NOLOCK)
WHERE T8._Fld7075_TYPE = @P2 AND T8._Fld7075_RTRef = @P3 AND T8._Fld7075_RRRef = @P4
UNION ALL SELECT
@P7 AS IDTRef,
T9._IDRRef AS IDRRef
FROM _Document161 T9 WITH(NOLOCK)
WHERE T9._Fld2657_TYPE = @P2 AND T9._Fld2657_RTRef = @P3 AND T9._Fld2657_RRRef = @P4
UNION ALL SELECT
@P8 AS IDTRef,
T10._IDRRef AS IDRRef
FROM _Document164 T10 WITH(NOLOCK)
WHERE T10._Fld2815_TYPE = @P2 AND T10._Fld2815_RTRef = @P3 AND T10._Fld2815_RRRef = @P4
UNION ALL SELECT
@P9 AS IDTRef,
T11._IDRRef AS IDRRef
FROM _Document165 T11 WITH(NOLOCK)
WHERE EXISTS(
SELECT 1
FROM _Document165_VT2894 T12 WITH(NOLOCK)
WHERE T11._IDRRef = T12._Document165_IDRRef AND (T12._Fld2896_TYPE = @P2 AND T12._Fld2896_RTRef = @P3 AND T12._Fld2896_RRRef = @P4))
UNION ALL SELECT
P10 AS IDTRef,
T13._IDRRef AS IDRRef
FROM _Document167 T13 WITH(NOLOCK)
WHERE T13._Fld2991RRef = @P4
UNION ALL SELECT
P11 AS IDTRef,
T14._IDRRef AS IDRRef
FROM _Document189 T14 WITH(NOLOCK)
WHERE EXISTS(
SELECT 1
FROM _Document189_VT3843 T15 WITH(NOLOCK)
WHERE T14._IDRRef = T15._Document189_IDRRef AND (T15._Fld3856_TYPE = @P2 AND T15._Fld3856_RTRef = @P3 AND T15._Fld3856_RRRef = @P4))
UNION ALL SELECT
@P3 AS IDTRef,
T16._IDRRef AS IDRRef
FROM _Document171 T16 WITH(NOLOCK)
WHERE T16._Fld3246_TYPE = @P2 AND T16._Fld3246_RTRef = @P3 AND T16._Fld3246_RRRef = @P4
UNION ALL SELECT
P12 AS IDTRef,
T17._IDRRef AS IDRRef
FROM _Document172 T17 WITH(NOLOCK)
WHERE T17._Fld3324_TYPE = @P2 AND T17._Fld3324_RTRef = @P3 AND T17._Fld3324_RRRef = @P4
UNION ALL SELECT
P13 AS IDTRef,
T18._IDRRef AS IDRRef
FROM _Document182 T18 WITH(NOLOCK)
WHERE EXISTS(
SELECT 1
FROM _Document182_VT3660 T19 WITH(NOLOCK)
WHERE T18._IDRRef = T19._Document182_IDRRef AND (T19._Fld3662_TYPE = @P2 AND T19._Fld3662_RTRef = @P3 AND T19._Fld3662_RRRef = @P4))) T1', N'P1 varbinary(4),@P2 varbinary(1),@P3 varbinary(4),@P4 varbinary(16),@P5 varbinary(4),@P6 varbinary(4),@P7 varbinary(4),@P8 varbinary(4),@P9 varbinary(4),P10 varbinary(4),P11 varbinary(4),P12 varbinary(4),P13 varbinary(4)', 0x0000008E, 0x08, 0x000000AB, 0xA3C51CAFF76F613D11E32B207D93C65A, 0x000000BB, 0x00000099, 0x000000A1, 0x000000A4, 0x000000A5, 0x000000A7, 0x000000BD, 0x000000AC, 0x000000B6
т.е. даже не select top 1 where T15._Fld3856_TYPE = @P2 AND T15._Fld3856_RTRef = @P3 AND T15._Fld3856_RRRef = @P4 как я думал.
Мне нравится объяснение (2). Сразу из индекса получают и ссылки, без поиска в основной таблице. Актуально для методов СправочникМенеджер типа Выбрать(), НайтиПоРеквизиту() .
Читайте также: