|   |   | 
| 
 | Загрузить адреса в БП 3.0 | ☑ | ||
|---|---|---|---|---|
| 0
    
        zak555 12.08.15✎ 12:42 | 
        Есть на входе в структуре
 индекс регион Район .. как ранее хранился адрес в БП 2.0 какой функцией или процедурой из общих модулей бп 3.0 преобразовать его в нужный вид контактной информации ? не могу найти | |||
| 1
    
        lubitelxml 12.08.15✎ 12:45 | 
        (0) может проще новую версию классификатора скачать?     | |||
| 2
    
        asady 12.08.15✎ 12:46 | 
        (0) я прикручивал форму "ВводАдреса" из типовой обработки "ВводКонтактнойИнформации"
 где-то 95% адресов перенес | |||
| 3
    
        zak555 12.08.15✎ 12:47 | 
        (1) данные так извне предоставляются     | |||
| 4
    
        zak555 12.08.15✎ 12:47 | 
        (2) там чёрт ногу сломит     | |||
| 5
    
        asady 12.08.15✎ 12:49 | 
        (4) ну дык БСП - ептыть     | |||
| 6
    
        Aleksey 12.08.15✎ 12:52 | 
        это в модуле обновления искать надо     | |||
| 7
    
        Otkr 12.08.15✎ 12:52 | 
        (4) Посмотри перенос контактной информации из ЗиУП 2.5 в 3.0.
 Там используется УправлениеКонтактнойИнформацией.ЗаполнитьКонтактнуюИнформациюОбъектов(ДанныеЗаполнения), в БП 3.0 она тоже есть | |||
| 8
    
        zak555 12.08.15✎ 12:53 | 
        (6) нашёл ПереносКИПриОбновленииС20()     | |||
| 9
    
        Aleksey 12.08.15✎ 12:54 | 
        УправлениеКонтактнойИнформацией
 // Преобразует все входящие форматы контактной информации в XML. // // Параметры: // ЗначенияПолей - Строка, Структура, Соответствие, СписокЗначений - описание полей контактной информации. // Представление - Строка - представления. Используется, если невозможно определить представление из параметра. // ЗначенияПолей (отсутствие поля "Представление"). // ОжидаемыйВид - СправочникСсылка.ВидыКонтактнойИнформации, ПеречислениеСсылка.ТипыКонтактнойИнформации - // Используется для определения типа, если его невозможно вычислить по полю ЗначенияПолей. // // Возвращаемое значение: // Строка - XML данные контактной информации. // Функция КонтактнаяИнформацияВXML(Знач ЗначенияПолей, Знач Представление = "", Знач ОжидаемыйВид = Неопределено) Экспорт Результат = УправлениеКонтактнойИнформациейСлужебный.ПривестиКонтактнуюИнформациюXML(Новый Структура( "ЗначенияПолей, Представление, ВидКонтактнойИнформации", ЗначенияПолей, Представление, ОжидаемыйВид)); Возврат Результат.ДанныеXML; КонецФункции | |||
| 10
    
        zak555 12.08.15✎ 12:54 | 
        (7) там уже представление должно быть сформировано     | |||
| 11
    
        Otkr 12.08.15✎ 12:56 | 
        (10) В чем проблема? Все значения для формирования представления есть, формируй и передавай     | |||
| 12
    
        zak555 12.08.15✎ 12:59 | 
        (11) значит представление самому, ЗначенияПолей тоже
 я то думал, что есть какая-то функция , в которую передал структура например и полукчить всё, что тебе нужно а её нет ((( | |||
| 13
    
        Otkr 12.08.15✎ 13:02 | 
        (12) Посмотри говорю правила из 2.5 в 3.0, дернешь оттуда нужный код, там просто)     | |||
| 14
    
        zak555 12.08.15✎ 13:05 | 
        (13) нет по рукой     | |||
| 15
    
        zak555 12.08.15✎ 13:05 | 
        представление в какой последовательности  должно быть ?
 индекс, регион | |||
| 16
    
        zak555 12.08.15✎ 13:07 | 
        Представление = "Индекс, Регион, Район, Город, НаселенныйПункт, Улица, Дом, Корпус, Квартира";     | |||
| 17
    
        zak555 12.08.15✎ 13:08 | 
        Представление в таком виде хранится в бп 2.0 ?     | |||
| 18
    
        zak555 12.08.15✎ 13:38 | 
        походу надо из ЗначенияПолей получать предславление     | |||
| 19
    
        zak555 12.08.15✎ 13:46 | 
        хотя нет\
 ЗначенияПолей -- это же чьд | |||
| 20
    
        zak555 12.08.15✎ 13:47 | 
        *xml     | |||
| 21
    
        zak555 12.08.15✎ 14:25 | 
        что-то не могу найти, где идёт преобразование Представление  в ЗначенияПолей  ?     | |||
| 22
    
        zak555 12.08.15✎ 22:15 | 
        ап     | |||
| 23
    
        Otkr 12.08.15✎ 22:16 | 
        (22) Наоборот, представление собирается из значения полей. Посмотри форму ввода адреса     | |||
| 24
    
        zak555 12.08.15✎ 22:20 | 
        (23)
 ага Контекст = КонтекстФормыКлиент(); Результат = РезультатаВыбораПоОбновлениюФлагов(Контекст, ВозвращатьСписокЗначений); вот это уже вынос мозга | |||
| 25
    
        zak555 12.08.15✎ 23:46 | 
        Функция ПолучитьАдрес(Представление)
 ВидКИ = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; ////Нормализуем представление для использования в парсере КИ //Пока Лев(Представление, 1) = "," Цикл // Представление = Сред(Представление, 2); //КонецЦикла; // ////Парсим строку и удаляем пустые значения. //МногострочныйТекст = СтрЗаменить(Представление, ",", Символы.ПС); //Представление = ""; //Для А = 1 По СтрЧислоСтрок(МногострочныйТекст) Цикл // Подстрока = СокрЛП(СтрПолучитьСтроку(МногострочныйТекст, А)); // Если ЗначениеЗаполнено(Подстрока) Тогда Представление = Представление + Подстрока + ", "; КонецЕсли; //КонецЦикла; //Для А = 1 По ////Обрезаем лишнее //Представление = Лев(Представление, СтрДлина(Представление) - 2); //если поле Страна не заполнять, то программа при редактировании всё равно подставит Россию. СтруктураСтроки = Новый Структура("Тип, Страна, Вид, Представление, Регион, Город, ЗначенияПолей", Перечисления.ТипыКонтактнойИнформации.Адрес, "Россия", ВидКИ, Представление, "", "", ""); //Пытаемся привести представление КИ в объект XDTO для последующего преобразования в XML-представление ОбъектXDTOКИ = УправлениеКонтактнойИнформациейСлужебный.АдресXMLВXDTO("", СтруктураСтроки.Представление, СтруктураСтроки.Тип); Если НЕ УправлениеКонтактнойИнформациейСлужебный.АдресВведенВСвободнойФорме(ОбъектXDTOКИ) Тогда АдресРФ = УправлениеКонтактнойИнформациейСлужебный.РоссийскийАдрес(ОбъектXDTOКИ); Если АдресРФ <> Неопределено Тогда СтруктураСтроки.Город = АдресРФ.Город; СтруктураСтроки.Регион = АдресРФ.СубъектРФ; КонецЕсли; СтруктураСтроки.Представление = УправлениеКонтактнойИнформациейСлужебный.СформироватьПредставлениеКонтактнойИнформации(ОбъектXDTOКИ, ВидКИ); //Запишем уточнённое представление контактной информации УправлениеКонтактнойИнформациейСлужебный.ПредставлениеКонтактнойИнформации(ОбъектXDTOКИ, СтруктураСтроки.Представление); КонецЕсли; //При необходимости можно принудительно установить флаг корректной информации УправлениеКонтактнойИнформациейСлужебный.АдресВведенВСвободнойФорме(ОбъектXDTOКИ, Ложь); Возврат УправлениеКонтактнойИнформациейСлужебный.КонтактнаяИнформацияXDTOВXML(ОбъектXDTOКИ); КонецФункции | |||
| 26
    
        zak555 12.08.15✎ 23:46 | ||||
| 27
    
        zak555 12.08.15✎ 23:47 | 
        а именно Поручик     | |||
| 28
    
        zak555 12.08.15✎ 23:48 | 
        код 25 вернёт адрес в нужно представлении, если загружен соответствующий классификатор региона     | |||
| 29
    
        zak555 12.08.15✎ 23:48 | 
        вводить по типу 9 запятых
 //Представление = "Индекс, Регион, Район, Город, НаселенныйПункт, Улица, Дом, Корпус, Квартира"; | |||
| 30
    
        zak555 13.08.15✎ 00:37 | 
        (13) там тупо идёт копирование РС в ТЧ     | |||
| 31
    
        Otkr 13.08.15✎ 01:43 | 
        (30) Спасибо, поржал) Структуру РС и ТЧ хотя бы сравнил чтоли     | |||
| 32
    
        Aleksey 13.08.15✎ 02:01 | 
        (31) В том смысле что он хочет вновоможном формате XML, а при конвертации из ЗУП в ЗУП там старый формат в виде структуры, т.е. тупо копирование РС в структуру     | |||
| 33
    
        zak555 13.08.15✎ 07:40 | 
        (31) какой ты не понятливый =)     | |||
| 34
    
        Otkr 13.08.15✎ 07:46 | 
        (32) (33) Ну да, а (7) я туть для себя писал, да?)     | |||
| 35
    
        zak555 13.08.15✎ 07:50 | 
        (34) но не преобразует в хмл     | |||
| 36
    
        Otkr 13.08.15✎ 07:58 | 
        (35) Ндя... Все она делает, смотри внимательнее     | |||
| 37
    
        zak555 13.08.15✎ 10:12 | 
        (36) действительно, работает     | |||
| 38
    
        zak555 13.08.15✎ 10:13 | 
        АдресСтруктура = Новый Структура;
 АдресСтруктура.Вставить("Представление", "");//СтрокаКИ.Представление); АдресСтруктура.Вставить("Страна", "РОССИЯ"); АдресСтруктура.Вставить("КодСтраны", "643"); АдресСтруктура.Вставить("Индекс", СокрЛП(Объект.Индекс));//СтрокаКИ.Поле1); АдресСтруктура.Вставить("Регион", СокрЛП(Объект.Регион));//СтрокаКИ.Поле2); АдресСтруктура.Вставить("КодРегиона", ""); АдресСтруктура.Вставить("РегионСокращение", ""); АдресСтруктура.Вставить("Район", СокрЛП(Объект.Район));//СтрокаКИ.Поле3); АдресСтруктура.Вставить("РайонСокращение", ""); АдресСтруктура.Вставить("Город", СокрЛП(Объект.Город));//СтрокаКИ.Поле4); АдресСтруктура.Вставить("ГородСокращение", ""); АдресСтруктура.Вставить("НаселенныйПункт", СокрЛП(Объект.НаселенныйПункт));//СтрокаКИ.Поле5); АдресСтруктура.Вставить("НаселенныйПунктСокращение", ""); АдресСтруктура.Вставить("Улица", СокрЛП(Объект.Улица));//СтрокаКИ.Поле6); АдресСтруктура.Вставить("УлицаСокращение", ""); АдресСтруктура.Вставить("ТипДома", "Владение"); АдресСтруктура.Вставить("Дом", СокрЛП(Объект.Дом));//СтрокаКИ.Поле7); АдресСтруктура.Вставить("ТипКорпуса", "Сооружение"); АдресСтруктура.Вставить("Корпус", СокрЛП(Объект.Корпус));//СтрокаКИ.Поле8); АдресСтруктура.Вставить("ТипКвартиры", "Помещение"); АдресСтруктура.Вставить("Квартира", СокрЛП(Объект.Квартира));//СтрокаКИ.Поле9); АдресСтруктура.Вставить("Комментарий", "");//СтрокаКИ.Комментарий); Результат = ""; Для Каждого КлючИЗначение Из АдресСтруктура Цикл Если ПустаяСтрока(КлючИЗначение.Значение) = 1 Тогда Продолжить; КонецЕсли; Результат = Результат + ?(Результат = "", "", Символы.ПС) + КлючИЗначение.Ключ + "=" + СтрЗаменить(КлючИЗначение.Значение, Символы.ПС, Символы.ПС + Символы.Таб); КонецЦикла; ДанныеЗаполнения = Новый ТаблицаЗначений; ДанныеЗаполнения.Колонки.Добавить("Приемник"); ДанныеЗаполнения.Колонки.Добавить("ВидКИ"); ДанныеЗаполнения.Колонки.Добавить("СтруктураКИ"); ДанныеЗаполнения.Колонки.Добавить("КлючСтроки"); ВидКИ = Справочники.ВидыКонтактнойИнформации.ЮрАдресКонтрагента; //Для Каждого КИ Из Объект.КонтактнаяИнформация Цикл СтрокаЗаполнения = ДанныеЗаполнения.Добавить(); СтрокаЗаполнения.Приемник = Справочники.Контрагенты.СоздатьЭлемент(); СтрокаЗаполнения.ВидКИ = ВидКИ; СтрокаЗаполнения.СтруктураКИ = УправлениеКонтактнойИнформациейКлиентСервер.СтруктураЗначенийПолей(Результат, ВидКИ); //КонецЦикла; УправлениеКонтактнойИнформацией.ЗаполнитьКонтактнуюИнформациюОбъектов(ДанныеЗаполнения); | |||
| 39
    
        zak555 13.08.15✎ 10:13 | 
        НО не заполняется представление адреса     | |||
| 40
    
        zak555 13.08.15✎ 10:15 | 
        и всё же структура различная     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |