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

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)
Оставьте свое сообщение
Вакансии
1С-Программист (интегратор Битрикс24)
Санкт-Петербург
зарплата от 150 000 руб. до 250 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 100 000 руб.
Временный (на проект)

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Программист
Санкт-Петербург
зарплата от 180 000 руб. до 240 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб. до 250 000 руб.
Полный день