Всем привет.
У меня началась Муравьиная движуха и возник вопрос.
Ситуация такая: с помощью Анта нужно перенести несколько полей. Но в метадате эти поля являются часть объекта.
значит ли это, что мне приедтся двигать весь объект полностью? (т.е. грузить ХМЛ с полным описанием объекта) или можно передвинуть только выборочные поля?
представим что мне нужно двигать весь объект.
в исходящем Орге на объекте есть поля А и Б.
в Орге назначения есть поля А и В.
я деплою в Орг назначения ХМЛ файл с полдным описанием объекта из исходящего Орга.
что будет с полем В? оно останется или будет при перезаписи объекта просто удалено?
спасибо
Заливка метадаты почти всегда работает аддетивно.
Если поле есть и его можно переписать, то перепишется.
Если хочешь что-то удалить то это уже destructivechanges
Кст., можно просто собрать xml c полями)
Это только для случая update. Для заливки первый раз такое не прокатывает.
Вопрос то как раз про обновление
вот-вот.
то есть я могу вот так добавить новые поля?
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata"><fields>
...
</fields></CustomObject>
Уайлдер прав - можно только загрузить часть объекта с полями для апдейта. Единственная особенность со значениями раскрывающихся списков - они перезаписываются для заливаемых полей.
так-так
вот как раз я пытался перезалить объект из Орга, где этот объект в расширенной версии в Орг где он в начальной версии. Т.е. расширенная версия включет много нового, и в моем понимании "ни в чем не нуждается"
и идет ошибка:
-- Error: Picklist value: NO in picklist: Processing_Completed__c not found (line 19971, column 18)
вроде новая версия больше чем старая, а чего-то не хватает...
так же особая группа ошибок - это аналогичные названия связей:
-- Error: There is already a Child Relationship named Human_Resources on Contact
недавно я устанавливал unmanaged package, так он не устанавливался из-за одинаковых названий связи на разных (!) объектах...
Просто поменяй имя связи, если срочно. Если не срочно, о разберись почему есть 2 связи с одним именем. Иногда правда салесфлос косячит с этим.
Вероятно у тебя есть зависимые пиклисты и в одном из них что-то не прописалось.
вот еще что заметил,
если просто выгрузить объект, то он приходит "одним куском" в который почти включено (кроме workflows)
а вот если выгрузить его в составе пакета, то он приходит "разложенным по полочкам": котлеты отдельно, поля отдельно.
Приведи 2 package.xml. что-то я не совсем понимаю что значит разложенное по полочкам.
ошибся, ошибся я.
все элементы объета как ListView, ValidationRule, поля все также включены в объектный ХМЛ, просто они отдельно, персонально описаны в перечне элементов в <Package> файле
Вот черт! случайно передвинул Антом старую версию пакету.
нужно все сносить под корень.
как с помощью Анта удалить все что было загружено?!
просто использовать "undeployCode" и тот же самый package.xml?!
Попробуй это Если будут вопросы, завадай.
все внимательно прочитал. не могу понять какой target запускать Антом?
точнее говоря это наверное будет Таск:
sf:deploy ?
sf:deploy ?
Да.
Вот тебе мой пример
<target name="destruct-R2QA">
<echo level="info">WARNING !!! Destructive Changes</echo>
<sf:deploy
username="${sf.username}"
password="${sf.password}${sf.token}"
serverurl="${sf.serverurl}"
zipFile="${basedir}/destructiveChanges.zip"
checkOnly="false"
trace="false"
logType="None"
rollbackOnError="false"
maxPoll="${sf.maxPoll}" pollWaitMillis="${sf.maxWaitMillis}"
allowMissingFiles="false"
ignoreWarnings="false"
runalltests="false" >
</sf:deploy></target>
создал destructiveChanges.xml с полным перечнем компонентов (скопировано из установочного package.xml)
вычистил в ноль package.xml (оставил только АПИ)
запускаю, ошибка: пишет что все элементы не указаны в package.xml:
triggers/ContractLookup.trigger -- Error: Not in package.xml
ладно, заполнил package.xml снова.
деплой падает на неизвестной ошибке...
ладно сейчас попробую использовать таск с указанными выше атрибутами...
Что за ошибка ?
не сохранил инфу.
старый пакет "руками и ногами" удалил.
новый установился, так я и не понял как програмно создавать папки, например папку для репортов, руками создал...
спасибо
Нужно в пакет положить xml с описанием папки.