Удаление лишних строк при выгрузке из Excel файла
Стоит задача: "Сделать выгрузку из Эксель файла". У меня не получается удалить лишние строки после самой выгрузки, удаляется только одна.
ДанныеФайла.Очистить();
ТабДок=Новый ТабличныйДокумент;
ТабДок.Прочитать(ИмяВФ,СпособЧтенияЗначенийТабличногоДокумента.Значение);
ВысСтрок=ТабДок.ВысотаТаблицы;
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДоговорРаботыУслуги.Ссылка КАК Ссылка,
| ДоговорРаботыУслуги.Номер КАК Номер,
| ДоговорРаботыУслуги.Представление КАК Представление,
| ДоговорРаботыУслуги.Организация.Наименование КАК Организация
|ИЗ
| Документ.ДоговорРаботыУслуги КАК ДоговорРаботыУслуги";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Для Стр=2 по ВысСтрок Цикл
СтрТз=ДанныеФайла.Добавить();
СтрТз.Дата=ТекущаяДата();
СтрТз.Номер=ВыборкаДетальныеЗаписи.Номер;
СтрТз.ТипДокумента=Лев(ВыборкаДетальныеЗаписи.Представление,24);
СтрТз.Организация=ВыборкаДетальныеЗаписи.Организация;
СтрТз.Сотрудник=ТабДок.Область(Стр,2).Текст;
СтрТз.Сумма=ТабДок.Область(Стр,5).Текст;
СтрТз.Начало=Объект.ДатаНачала;
СтрТз.Окончание=Объект.ДатаОкончания;
СтрТз.МесяцНачисления=Объект.Месяц;
СтрТз.Комментарий="";
КонецЦикла;
КонецЦикла;
СтрокиДляУдаления = Новый Массив;
Для Каждого CтрТз из ДанныеФайла Цикл
Если СтрТз.Сумма="" Тогда
СтрокиДляУдаления.Добавить(CтрТз);
КонецЕсли;
КонецЦикла;
Для Каждого CтрТз из СтрокиДляУдаления Цикл
ДанныеФайла.Удалить(CтрТз);
КонецЦикла;
ПоказатьПо теме из базы знаний
- Полезные приемы при работе с Excel из 1С (Версия 3.1)
- Прыг-Скок...или из MS EXCEL в 1С (8.2) (открытый код)
- Загрузка документов и номенклатуры из Excel в 1С "одним нажатием": УПД, ТОРГ-12, отчеты маркетплейсов, заказы, счета, прайсы
- Универсальная загрузка данных формата Excel
- Загрузка цен из Excel в 1С: БП 3.0, БП 3.0 КОРП
Найденные решения
(1)
p.s.
Запрос в таком виде вернет все документы, вероятно нужен отбор условие по конкретному документу (ссылке) или по какому-то другому реквизиту
Для Стр=2 по ВысСтрок Цикл
Сумма=ТабДок.Область(Стр,5).Текст;
Если Сумма="" Тогда
Продолжить;
КонецЕсли;
СтрТз=ДанныеФайла.Добавить();
...
СтрТз.Сумма=Сумма;
p.s.
Запрос в таком виде вернет все документы, вероятно нужен отбор условие по конкретному документу (ссылке) или по какому-то другому реквизиту
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
p.s.
Запрос в таком виде вернет все документы, вероятно нужен отбор условие по конкретному документу (ссылке) или по какому-то другому реквизиту
Для Стр=2 по ВысСтрок Цикл
Сумма=ТабДок.Область(Стр,5).Текст;
Если Сумма="" Тогда
Продолжить;
КонецЕсли;
СтрТз=ДанныеФайла.Добавить();
...
СтрТз.Сумма=Сумма;
p.s.
Запрос в таком виде вернет все документы, вероятно нужен отбор условие по конкретному документу (ссылке) или по какому-то другому реквизиту
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот