Добрый день. Подскажите, пожалуйста, как удалить строки с пустыми значениями , пробовал делать проверку на пустую строку, но пустые строки не исчезли
&НаКлиенте
Процедура Загрузить(Команда)
// Вставить содержимое обработчика.
ЗагрузитьИзDBF();
Если ПроверкаЕдИзмНоменклатуры Тогда
Для Каждого Строка Из ТЧ Цикл
Товар = СокрЛП(Строка.ТоварНаим);
КодНомПДКС = СокрЛП(Строка.ТоварКод);
Номенклатура = ПолучитьНоменклатуру(КодНомПДКС);
КодЕдИзмПДКС = СокрЛП(Строка.КодЕдИзмПДКС);
НаимЕдИзмПДКС = СокрЛП(Строка.НаимЕдИзмПДКС);
Товар1С = Номенклатура;
КодЕдИзм1С = Код1СПолучить(Товар1С);
ЕдИзм1СНаим = ЕдИзм1СПолучить(Товар1С);
Кавычка = Прав("",1);
НаимЕдИзм1С = Кавычка+ЕдИзм1СНаим+Кавычка;
ТекСтрТабОшибокЕдИзмНоменклатуры = ТабОшибокЕдИзмНоменклатуры.Добавить();
Если Не КодЕдИзм1С=КодЕдИзмПДКС Тогда
ТекСтрТабОшибокЕдИзмНоменклатуры.Номенклатура = Товар1С;
ТекСтрТабОшибокЕдИзмНоменклатуры.ЕдИзм1С = (НаимЕдИзм1С+", "+КодЕдИзм1С);
ТекСтрТабОшибокЕдИзмНоменклатуры.ЕдИзмПарадокс = (НаимЕдИзмПДКС+", "+КодЕдИзмПДКС);
ТекСтрТабОшибокЕдИзмНоменклатуры.РезультатПроверки = ("Различаются наименование или код единицы измерения");
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
ПоказатьПо теме из базы знаний
Найденные решения
Зачем так все усложнять.
В отбор ставишь те поля таблицы, которые нужно проверять на пустоту.
В моем примере это Код и Наименование.
Отбор = Новый Структура("Код,Наименование","","");
МассивПустыхСтрок = ТабЗнач.НайтиСтроки(Отбор);
Для Каждого СтрокаМассива из МассивПустыхСтрок Цикл
ТабЗнач.Удалить(СтрокаМассива);
КонецЦикла;
В отбор ставишь те поля таблицы, которые нужно проверять на пустоту.
В моем примере это Код и Наименование.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(6) Да вроде все норм с ней )) Или как то иначе работать должно? Просто тут единицы измерения из дбф файла уже в кавычках идут, а в 1с без, соответственно по условию проверки ед измерения по наименованию уже будут различия, вот я кавычки и добавил ))
Прикрепленные файлы:
(10) ок,ща я напишу как у меня было изначально =)
КодНомПДКС = СокрЛП(Строка.ТоварКод);
Номенклатура = ПолучитьНоменклатуру(КодНомПДКС);
КодЕдИзмПДКС = СокрЛП(Строка.КодЕдИзмПДКС);
НаимЕдИзмПДКС = СокрЛП(Строка.НаимЕдИзмПДКС);
//НаимЕдИзмПДКС = СтрЗаменить(СокрЛП(Строка.НаимЕдИзмПДКС,"""",""); ////вот это не отработало
Товар1С = Номенклатура;
КодЕдИзм1С = Код1СПолучить(Товар1С);
ЕдИзм1СНаим = ЕдИзм1СПолучить(Товар1С);
НаимЕдИзмПДКСБезКавычек = СтрЗаменить(НаимЕдИзмПДКС ,"""",""); ///// это тоже не отработало
Показать
(15) ну смотри, изначально единица измерения в 1с у меня была м. , после данной манипуляции я получил "м.", в пдф файле единица измерения так же "м." . У меня условие было на сравнение ед измерения по наименованию, соответственно, м. и "м." для программы уже будут как разные единицы измерения, из за отсутствия кавычек. Я стал убирать кавычки, но это не сработало, ну а если это не сработало, значит надо идти в обратном направлении и добавлять кавычки туда, где они отсутствуют . В общем как то так =)
(24) Спасибо,ща попробую =) А обработчик нашел в инете, поиск и замена значений. Он работает по принципу консоли запросов, как я понял. Открываешь,вводишь что заменить и на что. Мне просто надо данные в 1с заменить на данные из дбф файла, не знаю, поможет ли мне функция стрзаменить,но я попробую)
Зачем так все усложнять.
В отбор ставишь те поля таблицы, которые нужно проверять на пустоту.
В моем примере это Код и Наименование.
Отбор = Новый Структура("Код,Наименование","","");
МассивПустыхСтрок = ТабЗнач.НайтиСтроки(Отбор);
Для Каждого СтрокаМассива из МассивПустыхСтрок Цикл
ТабЗнач.Удалить(СтрокаМассива);
КонецЦикла;
В отбор ставишь те поля таблицы, которые нужно проверять на пустоту.
В моем примере это Код и Наименование.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот