Я пытаюсь создать запись в Salesforce, используя встроенную вставку simple-salesforce. В этой записи есть новые поля "Время" Salesforce, которые приводят к сбою импорта. Мой вопрос в том, как я могу форматировать (или иным образом изменять) значения времени, чтобы запись была принята командой simple-salesforce .insert()
.
Мой код выглядит следующим образом:
record = [{'Name': 'Event XZY',
'Event_Date__c': '2018-09-28',
'Start_Time__c': '16:00:00.000Z',
'End_Time__c': '18:00:00.000Z'}]
sf.bulk.Custom_Event_Object__c.insert(record)
Ошибка, которую я получаю, является стандартным и Response content: {'exceptionCode': 'InvalidBatch', 'exceptionMessage': 'Records not processed'}.
Формат полей времени не был изменен, когда данные были импортированы из другого объекта. Когда я удаляю поля "Время", запись создается успешно. Я также пробовал форматировать временные поля как 'T16:00:00.000Z'
, " '16:00:00Z'
, " '16:00:00z'
и '4 pm'
, но никто не работал. Вставка также отлично работает при экспорте в csv и загружается приложением Data Loader.
Я думаю, что ваш формат неправильный в течение секунд: https://developer.salesforce.com/docs/atlas.en-us.dataLoader.meta/dataLoader/data_loader_dates.htm?search_text=date
"Действительны только даты в пределах определенного диапазона. Самая ранняя действительная дата - 1700-01-01T00: 00: 00Z GMT или сразу после полуночи 1 января 1700 года. Самая последняя действительная дата - 4000-12-31T00: 00: 00Z GMT или сразу после полуночи 31 декабря 4000. Эти значения компенсируются вашим часовым поясом. Например, в часовом поясе Тихого океана самая ранняя действительная дата - 1699-12-31T16: 00: 00 или 16:00 31 декабря 1699 года ".
В ваших примерах вы добавите дополнительный 0 до символа часового пояса Z, попробуйте сделать:
'Start_Time__c': '16:00:00.00Z',
'Start_Time__c': '18:00:00.00Z'
безрезультатно