|
Обработка каждой третьей строки текстового файла | ☑ | ||
---|---|---|---|---|
0
MaryanaR
17.09.24
✎
10:45
|
Всем доброго дня. Есть текстовый файл с данными поставки товара. Контрагент может предоставлять так и никак иначе.(Закрытый вопрос).
Делаю веб сервис по загрузке. Инфа о каждой поставке находится в 10 строках. Типа 1)Контрагент 2)Организация 3) Дата 4)Товар и т.д. Через 10 строк уже информация о новой поставке с теми же строками и с тем же порядком. Понимаю как обойти каждую строку файла текстового, но не понимаю, как заставить алгоритм обработки через 10 строк начинать работу заново, но продолжать шагать по строкам. Были бы ключевые слова, было бы понятно. Но их тут нет. Просто набор данных каждый в своей строке. |
|||
1
MaryanaR
17.09.24
✎
10:49
|
Если бы было всего 3 строки. То можно было бы проверять на четность. Но их тут 10....
|
|||
2
Builder
17.09.24
✎
10:50
|
Вкалывают роботы, а не человек.... :)
|
|||
3
MaryanaR
17.09.24
✎
10:53
|
Делить по порядку от 1 до 10, потом проверять результат на целое?
|
5 |
||
4
Галахад
17.09.24
✎
10:54
|
Гм. Если НомерСтроки % 10 = 0 Тогда ...
|
6 7 9 |
||
5
MaryanaR
17.09.24
✎
10:54
|
(3) фигня. Не могу понять все равно.
|
|||
6
MaryanaR
17.09.24
✎
11:13
|
(4) 50-ая строка тоже на 10 нацело поделится
|
|||
7
Гена
17.09.24
✎
10:58
|
(4) У нас же как раз десятичная система исчисления, поэтому достаточно, чтобы номер строки заканчивался на "1".
|
|||
8
breezee
17.09.24
✎
10:59
|
ИТ = ИТ + 1;
Если ИТ = 10 тогда ит = 0 |
10 |
||
9
MaryanaR
17.09.24
✎
11:00
|
(4) вы верно написали. Я поняла. Пусть будет 300 строк. Делим каждую на 10, и как только номер строки поделился нацело на 10, заканчиваем обработку и начинаем заново. Спасибо.
|
|||
10
MaryanaR
17.09.24
✎
11:01
|
(8) ну и так тоже. Спасибо.
|
|||
11
Irbis
17.09.24
✎
11:02
|
А добавить нужное число строк к нужной строке кто-то запретил?
|
|||
12
Builder
17.09.24
✎
11:02
|
главное что бы во всех документах было одинаковое количество товаров, а то весь алгоритм неожиданно рухнет :)
|
|||
13
Волшебник
17.09.24
✎
11:02
|
Процедура ОбработатьПоставкиИзФайла(ИмяФайла) // Открываем файл на чтение Если НЕ ФайлСуществует(ИмяФайла) Тогда Сообщить("Файл не найден: " + ИмяФайла); Возврат; КонецЕсли; ФайлТекста = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8); ДанныеТекста = Новый ТекстовФайлЧтения(ФайлТекста); // Бесконечный цикл для обработки строк файла Пока Истина Цикл // Считываем 10 строк для одной поставки Контрагент = ДанныеТекста.ПрочитатьСтроку(); Если Контрагент = Неопределено Тогда Прервать; КонецЕсли; Организация = ДанныеТекста.ПрочитатьСтроку(); Если Организация = Неопределено Тогда Прервать; КонецЕсли; Дата = ДанныеТекста.ПрочитатьСтроку(); Если Дата = Неопределено Тогда Прервать; КонецЕсли; Товар = ДанныеТекста.ПрочитатьСтроку(); Если Товар = Неопределено Тогда Прервать; КонецЕсли; // Далее идет обработка остальных строк... // Создаем документ "РеализацияТоваровУслуг" ДокументРеализации = Документы.РеализацияТоваровУслуг.СоздатьДокумент(); ДокументРеализации.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию(Контрагент); ДокументРеализации.Организация = Справочники.Организации.НайтиПоНаименованию(Организация); ДокументРеализации.Дата = СтрДата(Дата, Ложь); // Заполняем табличную часть СтрокаТаблицы = ДокументРеализации.Товары.Добавить(); СтрокаТаблицы.Номенклатура = Справочники.Номенклатура.НайтиПоНаименованию(Товар); // Сохраняем документ ДокументРеализации.Записать(); КонецЦикла; // Закрываем файл ДанныеТекста.Закрыть(); КонецПроцедуры |
14 17 |
||
14
MaryanaR
17.09.24
✎
11:21
|
(13) ой, спасибо большое. Очень помогли.
|
15 |
||
15
Волшебник
17.09.24
✎
11:59
|
(14) Спасибо ChatGPT
|
23 |
||
16
trad
17.09.24
✎
12:21
|
"Если Контрагент = Неопределено Тогда Прервать; КонецЕсли;"
Это ChatGPT такое написал? |
21 22 |
||
17
PLUT
17.09.24
✎
12:25
|
(13) всё не читал
ДанныеТекста = Новый ТекстовФайлЧтения(ФайлТекста); ГПТ новые заклинания умеет выдумывать для 1С? |
18 |
||
18
rbcvg
17.09.24
✎
13:03
|
(17) СтрДата(Дата, Ложь) туда же.
|
|||
19
Волшебник
17.09.24
✎
13:29
|
Это технические дефекты. Сами доработайте программный код. Общая идея и структура понятна же.
|
|||
20
Elf_80_lvl
17.09.24
✎
14:58
|
Что-то не вижу выхода из бесконечного цикла...
А вижу, всё норм |
21 |
||
21
trad
18.09.24
✎
15:24
|
||||
22
Волшебник
18.09.24
✎
15:45
|
(16) да
|
|||
23
mikecool
18.09.24
✎
20:32
|
(15) тут похоже чатгпт учит чатгпт - цикл замкнулся )))
|
28 |
||
24
Ёпрст
18.09.24
✎
20:38
|
Плохо, когда остаток от деления в школе не проходили
|
25 26 |
||
25
Гена
18.09.24
✎
20:54
|
(24) Остаток от деления на 10 есть просто последняя цифра самого числа.
(an*10n + an-1*10n-1 + ... + a1*10 + a0) / 10 = = an*10n-1 + an-1*10n-2 + ... + a1 + a0 / 10 |
|||
26
Злопчинский
18.09.24
✎
20:45
|
(24) в школе вон питон три года проходят на программировании.. взялся тут учить школьницу, сам правда питон в глаза не видел, но задачку решили...
. был удручен что нет встроенной функции в питоне, которая определяет что строка соответствует записи числа... |
29 |
||
27
Злопчинский
18.09.24
✎
20:45
|
задачка, правда смешная, больше времени ушло читать описание по базе питона...
|
|||
28
Волшебник
18.09.24
✎
21:23
|
(23) В статье на хабре излагается гипотеза, что модель ChatGPT o1 будет генерировать обучающие датасеты для версии GPT-5.
https://habr.com/ru/companies/ods/articles/843250/ Так что всё идёт по плану. Мы внутри wiki:Технологическая_сингулярность |
|||
29
Ёпрст
18.09.24
✎
21:27
|
(26) синтаксис удручает, но многие вещи делаются очень быстро. Писал торгового робота в своё время для крипты, на заре торговли электронами
|
32 |
||
30
Guk
18.09.24
✎
21:33
|
кстати, если в ChatGPT запульнуть задачку по 1С 7.7, вот тут его конкретно клинит. я пробовал...
|
31 |
||
31
Волшебник
18.09.24
✎
21:47
|
(30) Это к лучшему
|
|||
32
Злопчинский
19.09.24
✎
01:55
|
(29) пока про "срезы" читал - чуть мозг не сломал. вычурно очень работа с подстроками ;-) но может в этом есть какой-то скрытый смысл от меня ;-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |