|
Конвертация данных. Из 1С 7.7 Комплексной в 1С 8.2 Бухгалтерия 2.0 - КИ | ☑ | ||
---|---|---|---|---|
0
developer1c
28.04.16
✎
17:14
|
Не могу придумать как. Суть такая: в 7.7 спр. Контрагенты, есть реквизит ЮрФизЛицо, в нем выбирается элемент справочника "ЮрЛица", у которого есть реквизит ЮрАдрес и ФактАдрес; а в Бух 8.2 - Юрадрес и ФактАдрес хранятся в в регистре сведедений КонтактнаяИнфморация.
Как при помощи Конвертации 2.1 сделать перенос контактной информации? Что-то ума не приложу... |
|||
1
MaxS
28.04.16
✎
17:42
|
А почему не в БП 3.0 ? ;)
пмсм В ПКО Контрагенты после выгрузки выгрузить по правилу контактную информацию. |
|||
2
developer1c
03.05.16
✎
16:52
|
БП 3.0 там долгая история. пока решаем вопрос сделать бп 2.а дальше на 3 постепенно думать переход.
|
|||
3
GrVas
03.05.16
✎
17:36
|
(0) Я использовал из типовых
|
|||
4
hhhh
03.05.16
✎
17:40
|
(2) возьмите типовые правила и оттуда скопируйте этот кусок. Глупо с нуля такие вещи писать.
|
|||
5
GrVas
03.05.16
✎
17:52
|
ВходящиеДанные = СоздатьОбъект("СписокЗначений"); ВходящиеДанные.Установить("Адрес",Источник.ЮрФизЛицо.ЮрАдрес)
ПолучитьСтруктуруАдреса(); //Процедура ПолучитьСтруктуруАдреса() Адрес = ВходящиеДанные.Получить("Адрес"); АдресСписком = глРазложить(Адрес); Если СтрКоличествоСтрок(Адрес) <> 1 Тогда // недолжно быть переводов строк АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрЧислоВхождений(Адрес, ",") <> 9 Тогда // должно быть 9 запятых АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(1)) > 3 Тогда // код страны не > 3 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(2)) > 6 Тогда // индекс не > 6 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(3)) > 30 Тогда // наим.региона не > 30 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(4)) > 35 Тогда // наим.района не > 35 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(5)) > 35 Тогда // наим.города не > 35 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(6)) > 45 Тогда // наим.нас.пункта не > 45 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(7)) > 45 Тогда // наим.улицы не > 45 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(8)) > 10 Тогда // номер дома не > 10 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(9)) > 10 Тогда // номер корпуса не > 10 символов АдресСоответствуетТребованиямМНС = 0; ИначеЕсли СтрДлина(АдресСписком.ПолучитьЗначение(10)) > 10 Тогда // номер квартиры не > 10 символов АдресСоответствуетТребованиямМНС = 0; Иначе АдресСоответствуетТребованиямМНС = 1; КонецЕсли; Если АдресСоответствуетТребованиямМНС = 1 Тогда ВходящиеДанные.Установить("Поле1", АдресСписком.ПолучитьЗначение(2)); // индекс ВходящиеДанные.Установить("Поле2", АдресСписком.ПолучитьЗначение(3)); // регион ВходящиеДанные.Установить("Поле3", АдресСписком.ПолучитьЗначение(4)); // район ВходящиеДанные.Установить("Поле4", АдресСписком.ПолучитьЗначение(5)); // город ВходящиеДанные.Установить("Поле5", АдресСписком.ПолучитьЗначение(6)); // населенный пункт ВходящиеДанные.Установить("Поле6", АдресСписком.ПолучитьЗначение(7)); // улица ВходящиеДанные.Установить("Поле7", АдресСписком.ПолучитьЗначение(8)); // дом ВходящиеДанные.Установить("Поле8", АдресСписком.ПолучитьЗначение(9)); // корпус ВходящиеДанные.Установить("Поле9", АдресСписком.ПолучитьЗначение(10)); // квартира ТекПредставление = ""; Если СокрЛП(ВходящиеДанные.Получить("Поле1")) <> "" Тогда ТекПредставление = ТекПредставление + ", " + СокрЛП(ВходящиеДанные.Получить("Поле1")); КонецЕсли; Если СокрЛП(ВходящиеДанные.Получить("Поле2")) <> "" Тогда ТекПредставление = ТекПредставление + ", " + СокрЛП(ВходящиеДанные.Получить("Поле2")); КонецЕсли; Если СокрЛП(ВходящиеДанные.Получить("Поле3")) <> "" Тогда ТекПредставление = ТекПредставление + ", " + СокрЛП(ВходящиеДанные.Получить("Поле3")); КонецЕсли; Если СокрЛП(ВходящиеДанные.Получить("Поле4")) <> "" Тогда ТекПредставление = ТекПредставление + ", " + СокрЛП(ВходящиеДанные.Получить("Поле4")); КонецЕсли; Если СокрЛП(ВходящиеДанные.Получить("Поле5")) <> "" Тогда ТекПредставление = ТекПредставление + ", " + СокрЛП(ВходящиеДанные.Получить("Поле5")); КонецЕсли; Если СокрЛП(ВходящиеДанные.Получить("Поле6")) <> "" Тогда ТекПредставление = ТекПредставление + ", " + СокрЛП(ВходящиеДанные.Получить("Поле6")); КонецЕсли; Если СокрЛП(ВходящиеДанные.Получить("Поле7")) <> "" Тогда ТекПредставление = ТекПредставление + ", дом № " + СокрЛП(ВходящиеДанные.Получить("Поле7")); КонецЕсли; Если СокрЛП(ВходящиеДанные.Получить("Поле8")) <> "" Тогда ТекПредставление = ТекПредставление + ", корпус " + СокрЛП(ВходящиеДанные.Получить("Поле8")); КонецЕсли; Если СокрЛП(ВходящиеДанные.Получить("Поле9")) <> "" Тогда ТекПредставление = ТекПредставление + ", кв." + СокрЛП(ВходящиеДанные.Получить("Поле9")); КонецЕсли; Если СтрДлина(ТекПредставление) > 2 Тогда ТекПредставление = Сред(ТекПредставление, 3); КонецЕсли; ВходящиеДанные.Установить("Представление", ТекПредставление); Иначе ВходящиеДанные.Установить("Представление", Адрес); КонецЕсли; |
|||
6
Mikeware
03.05.16
✎
17:57
|
Чтоб новую тему не начинать: есть у кого-нибудь правила КД типовых ЗиК-УПП?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |