Нужна помощь!

1. user1296699 20.11.19 15:12 Сейчас в теме
Всем привет. Есть файл дбф в нем колонка "account" (значения в ней по 10 цифр). Мне на основе этогоДБФ надо создать другой, чтобы в колонке "account" остались только записи начинающиеся с 123. Подскажите как реализовать?
По теме из базы знаний
Найденные решения
8. DmitriyTih 20.11.19 15:46 Сейчас в теме
(5) Например так:
Если Лев(ЗначениеВКолонкеaccount, 3) = "123" Тогда
// Исполняем необходимые действия
КонецЕсли;
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. DmitriyTih 20.11.19 15:23 Сейчас в теме
(1) Считываем данные из dbf
ФайлDBF = Новый XBase; 
	ФайлDBF.Кодировка = КодировкаXBase.OEM;
	ФайлDBF.ОткрытьФайл(ПутьКФайлу,,Истина); 
	ФайлDBF.Первая(); 
	
	НомерТекущейСтроки = 0;

	Пока НЕ ФайлDBF.ВКонце() Цикл
// .....
Показать


При обходе строки создаем новый dbf и если записи в колонке "account" начинаются с 123, то записываем строку.
5. user1296699 20.11.19 15:36 Сейчас в теме
(2) вот как написать что они именно начинаютмя с 123 а не совпадают с 123
8. DmitriyTih 20.11.19 15:46 Сейчас в теме
(5) Например так:
Если Лев(ЗначениеВКолонкеaccount, 3) = "123" Тогда
// Исполняем необходимые действия
КонецЕсли;
9. user1296699 20.11.19 15:53 Сейчас в теме
11. DmitriyTih 20.11.19 16:09 Сейчас в теме
(9) Пожалуйста! Да, и будьте внимательны с типами. Если преобразовываете строку в число, а число в строку. При преобразовании строки в число могут пропасть, например, лидирующие нули, и при обратном преобразовании числа в строку уже получаться разные значения.
3. PriestVI 20.11.19 15:24 Сейчас в теме
(1) А на каком этапе именно возникли проблемы? По загрузке/выгрузке из/в дбф статей очень много.
4. user1296699 20.11.19 15:35 Сейчас в теме
(3)Именно как выбрать которые начинаются на 123....читает все нормально...
Процедура ЗагрузитьДанныеИзФайла()
ПутьКФайлу = Новый Файл(Каталог);
ИмяФайла = Лев(ПутьКФайлу.ИмяБезРасширения,8)+".dbf";
ПолныйПутьФайла = КаталогВременныхФайлов()+ИмяФайла;
КопироватьФайл(КаталогБиллинг,ПолныйПутьФайла);
ФайлDBF = Новый XBase;
ФайлDBF.ОткрытьФайл(ПолныйПутьФайла,,Истина);
ФайлDBF.Первая();
Реквизит1.Очистить();
Пока НЕ ФайлDBF.ВКонце() Цикл
НоваяСтрока = Реквизит1.Добавить();
НоваяСтрока.Packid = СокрЛП(СтрЗаменить(ФайлDBF.Packid," ",""));
НоваяСтрока.Dt = СокрЛП(СтрЗаменить(ФайлDBF.Dt," ",""));
НоваяСтрока.Tp = СокрЛП(СтрЗаменить(ФайлDBF.Tp," ",""));
НоваяСтрока.Account = СокрЛП(СтрЗаменить(ФайлDBF.Account," ",""));
НоваяСтрока.Service = СокрЛП(СтрЗаменить(ФайлDBF.Service," ",""));
НоваяСтрока.Target = СокрЛП(СтрЗаменить(ФайлDBF.Target," ",""));
НоваяСтрока.Usr = СокрЛП(СтрЗаменить(ФайлDBF.Usr," ",""));
НоваяСтрока.Dtinp = СокрЛП(СтрЗаменить(ФайлDBF.Dtinp," ",""));
НоваяСтрока.Receipt = СокрЛП(СтрЗаменить(ФайлDBF.Receipt," ",""));
НоваяСтрока.Dtpay = СокрЛП(СтрЗаменить(ФайлDBF.Dtpay,""," "));
НоваяСтрока.Payorder = СокрЛП(СтрЗаменить(ФайлDBF.Payorder," ",""));

ФайлDBF.Следующая();
КонецЦикла;
ФайлDBF.ЗакрытьФайл();
КонецПроцедуры
6. DJDUH 17 20.11.19 15:38 Сейчас в теме
7. PriestVI 20.11.19 15:39 Сейчас в теме
(4) СтрНачинаетсяС()
Должно подойти.
10. user1296699 20.11.19 15:54 Сейчас в теме
(7) Почему то не получается...все равно все строки выдает. Помогло (8)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот