1С 7.7 ТИС. Загружаю шьрихкоды из эксель-таблицы поставщика. Но у него в колонке Штрихкод если он пуст то пишет #Н/Д то есть неопределенные данные.
Если в Эксель функции Если Ошибка и ЕСНД, которые должны обрабатывать эту ситуацию. Но как их задействовать в 1С 7.7 не понятно
ЕСНД(Штрихкод для проверки;0) Так хотелось бы...Но синтаксис использования ее в 1С 7.7 мне непонятен. Может кто знает подскажите
Попытка загрузить данные из файла экселя с формулами?
Если читаешь через OLE (СоздатьОбъект("Excel.Application")) то используй функции экселя же через COM/OLE
https://share.google/aimode/ztMcxylOaRBpQuXrY
например так:
//Обработка ошибок
фОшибка = 0;
Если фНеОбрабатыватьПотенциальныеОшибки <> 1 Тогда
Text = СокрЛП(cell.Text);
Если Text = "#ЗНАЧ!" Тогда
фОшибка = 1;
ИначеЕсли Text = "#ССЫЛКА!" Тогда
фОшибка = 1;
ИначеЕсли Text = "#Н/Д" Тогда
фОшибка = 1;
Иначе
Errors = cell.Errors; //странноватая, но более-менее гарантированная отработка ошибок
xlEvaluateToError = 1;
xlInconsistentFormula = 4;
фОшибка = 0;
Попытка
Если Errors.Item(xlEvaluateToError).Value = True Тогда
фОшибка = 1;
КонецЕсли;
Если Errors.Item(xlInconsistentFormula).Value = True Тогда
фОшибка = 1;
КонецЕсли;
Исключение
КонецПопытки;
КонецЕсли;
КонецЕсли;
Если фОшибка = 1 Тогда
яч = "";
Иначе
яч = СокрЛП(cell.Value);
КонецЕсли;
ПровШК=Excel.Cells(Сч,6).Text;
Если ПровШК="#Н/Д" Тогда
ТЗНом.Штрихкод="";
Иначе
ТЗНом.Штрихкод=Сред(СокрЛП(Excel.Cells(Сч,6).Value),2);
Состояние(""+Сч+" , "+Артикул);
КонецЕсли;
Да. Вот так работает
Основная теорема систематики: Новые системы плодят новые проблемы.