xxxxxxxxxx
public class AtualizarSY6Formulario {
public static void atualizarCampos() {
// Substitua 'NomeDaPlanilha' pelo nome real da planilha anexada
ContentDocumentLink[] links = [SELECT ContentDocument.Title, ContentDocument.LatestPublishedVersionId
FROM ContentDocumentLink
WHERE LinkedEntityId = 'ID_DO_SY6_Formulario' AND ContentDocument.Title = 'NomeDaPlanilha'];
if (links.size() > 0) {
// Obtenha o ID da versão mais recente do documento
Id contentVersionId = links[0].ContentDocument.LatestPublishedVersionId;
// Carregue o conteúdo do documento
ContentVersion content = [SELECT VersionData FROM ContentVersion WHERE Id = :contentVersionId LIMIT 1];
// Converta o conteúdo do documento para uma string
String conteudoPlanilha = content.VersionData.toString();
// Divida a string do conteúdo para obter linhas e colunas
String[] linhas = conteudoPlanilha.split('\n');
// Processar cada linha
for (String linha : linhas) {
String[] colunas = linha.split(',');
// Acesse os valores das colunas Etapa e Status
String etapa = colunas[0];
String status = colunas[1];
// Substitua 'ID_DO_SY6_Formulario' pelo ID real do registro SY6_Formulario
SY6_Formulario__c formulario = [SELECT Id, SY6_Etapa__c, SY6_Status__c FROM SY6_Formulario__c WHERE Id = 'ID_DO_SY6_Formulario' LIMIT 1];
// Atualize os campos SY6_Etapa__c e SY6_Status__c com os valores da planilha
formulario.SY6_Etapa__c = etapa;
formulario.SY6_Status__c = status;
// Atualize o registro SY6_Formulario__c
update formulario;
}
}
}
}