Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Импорт Перечисления из 8.2 в 7.7          
rus80629 Подменю пользователя
сообщение 16.07.14, 19:28
Сообщение #1

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Ткните пожалуйста если это уже обсуждалось. Поиском пользовался кроме этого http://pro1c.org.ua/index.php?showtopic=3440 не нашел. Но моих мозгов не хватило понять по этой статье как решить мой вопрос.
Итак:
Есть импорт из 8.2 УТ 10 в Бух 7.7 через COMConnector OLE.
В табличной части документа (допустим Счет) необходимо получить значение СтавкаНДС. Но Так как тип Ссылка.Перечисление.... и у перечислений нет реквизитов не могу никак понять как его получить.
Спасибо за помощь...

logist Подменю пользователя
сообщение 16.07.14, 19:36
Сообщение #2

Про1С-ник
Иконка группы
Квалифицированный бухгалтерГений телепатии и социального моделированияЗа заслуги на форуме в 2010 годуМодератору Про1С (за заслуги в 2011 году)
Группа: Местный
Сообщений: 9564
Из: Kharkiv, UA
Спасибо сказали: 2539 раз
Рейтинг: 0

Курить эту сторону: ЗначениеВСтрокуВнутр / ЗначениеИзСтрокиВнутр


Signature
Личные бесплатные консультации не даю, для этого есть форум!

rus80629 Подменю пользователя
сообщение 16.07.14, 20:40
Сообщение #3

Молчаливый
*
Группа: Пользователи
Сообщений: 3
Спасибо сказали: 0 раз
Рейтинг: 0

Отладчик мне выдал ЗначениеВстроку(СтрТабЧасти.СтавкаНДС) = "{}"
Пока курил нашел такой способ.
БазаОле.XMLstring(БазаОле.Перечисления.СтавкиНДС.НДС20) можно использовать через условие.
Но все равно спасибо за помощь ))

Точнее вот так БазаОле.XMLstring(СтрТабЧасти.СтавкаНДС)

Markiz Подменю пользователя
сообщение 18.08.14, 13:11
Сообщение #4

Общительный
**
Группа: Пользователи
Сообщений: 15
Из: Kiev
Спасибо сказали: 20 раз
Рейтинг: 0

Цитата(rus80629 @ 16.07.14, 21:40) *
Отладчик мне выдал ЗначениеВстроку(СтрТабЧасти.СтавкаНДС) = "{}"
Пока курил нашел такой способ.
БазаОле.XMLstring(БазаОле.Перечисления.СтавкиНДС.НДС20) можно использовать через условие.
Но все равно спасибо за помощь ))

Точнее вот так БазаОле.XMLstring(СтрТабЧасти.СтавкаНДС)


//    Ном = база8.Перечисления.СтавкиНДС.Индекс(стр.СтавкаНДС);
//    Имя = база8.Метаданные().Перечисления.СтавкиНДС.EnumValues.Get(Ном).Name;

Например:
// Получить ставку НДС по объекту СтавкаНДС из 8.2
//  входящий параметр - ссчылка на реквизит "СтавкаНДС" из документа или элемента справочника 8.2
//
Функция ПолучитьВидНДС(инСтавкаНДС)
    Перем ном, имя;
    
    Если ПустоеЗначение(инСтавкаНДС) = 0 Тогда
        
        Попытка
            ном = база8.Перечисления.СтавкиНДС.Индекс(инСтавкаНДС);        // номер значения перечисления в 8.2
            имя = база8.Метаданные().Перечисления.СтавкиНДС.EnumValues.Get(Ном).Name;    // имя значения перечисления в 8.2
        Исключение
            // если попали в эту ветку, значит в исходном документе СтавкаНДС не определена
            имя = "БезНДС";
        КонецПопытки;    
        
        Если спрНиО.НайтиПоКоду(имя, 0) = 1 Тогда
            Возврат спрНиО.ТекущийЭлемент();
        Иначе    // в 8.2 есть "НеНДС"
            Если спрНиО.НайтиПоКоду(имя, 0) = 1 Тогда
                Возврат спрНиО.ТекущийЭлемент();
            КонецЕсли;
        КонецЕсли;
    Иначе    
        Возврат ПолучитьПустоеЗначение("Справочник.НалогиОтчисления");
    КонецЕсли;    
    
КонецФункции



 ! 

Правила, пункт 12: выделяйте код.
 


Сообщение отредактировал Vofka - 18.08.14, 14:04

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 16.06.25, 21:41
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!