Python в работе программиста 1С

Программирование - Инструментарий

обработка номеров

0
Python для помощи программисту 1С.

Для решения своих рабочих задач мне часто надо переводить столбец с номерами документов в строку с запятыми.

Например, столбец в несколько тысяч записей

 

1

2

3

4

5



5021

легко перевести в строку (1,2,3,4, ... 5021) с помощью скрипта на питоне.

Для выполнения подобных задач программиста 1С может помочь PyCharm Edu, распространяемый без ограничения времени работы. Скачать можно здесь

 

https://www.jetbrains.com/pycharm-edu/download/#section=windows

 

После установки надо создать новый Python file и определить текущую директорию питона.

В новом файле напишите:

 

Import os

print(os.getcwd())

и нажмите Выполнить (кнопка  с зеленым треугольником)

В каталог, который будет выведен в нижнем окне сообщений, положите файл с примером (original.txt)

Выполните новый скрипт

 

 

В этом же каталоге появится файл newf.txt, с результатом обработки.

0

Скачать файлы

Наименование Файл Версия Размер
пример исходного файла с номерами
.txt 34,41Kb
22.06.18
0
.txt 1 34,41Kb Скачать

См. также

Комментарии
Избранное Подписка Сортировка: Древо
1. Goleff74 138 22.06.18 17:59 Сейчас в теме
2. Aphanas 126 22.06.18 21:35 Сейчас в теме
Непонятно, как вызывать методы питона в 1С? Или наоборот, 1С в питоне?
Это что, реклама PyCharm Edu?
Чем это отличается от того, чтобы использовать для решения "рабочих задач" любой другой софт?
5. tiger12 4 26.06.18 10:36 Сейчас в теме
(2) Здесь я рассказываю о том, как можно использовать Питон. На свой вкус можно что-то другое выбрать.

Методы питона в 1С или 1Св питоне использовать не надо.

Скрипт работает в питоне. В питоне (PyCharm Edu создаем новый файл, и туда вставляем скрипт).
3. user1002362 23.06.18 01:23 Сейчас в теме
А если еще и писать по питоновски, то вообще 2 строчки получается...

with open('output.txt', 'w') as out_file:
out_file.write(','.join(open('input.txt', 'r').read().splitlines()))

Но, как тут уже заметили - зачем городить огород? 1С не умеет разворачивать строки? Пусть даже не так кратко и лаконично...
4. Nivanchenko 23.06.18 09:44 Сейчас в теме
Как бы, вот
МассивНомеровДокументов = Новый Массив;
МассивНомеровДокументов.Добавить("1");
МассивНомеровДокументов.Добавить("2");
МассивНомеровДокументов.Добавить("3");
МассивНомеровДокументов.Добавить("4");  
  
СтрокаСНомерами = СтрСоединить(МассивНомеровДокументов,",");
Показать
6. tiger12 4 26.06.18 10:37 Сейчас в теме
(4) А если несколько тысяч номеров, то руками в массив добавлять записи не пойдет.
7. TODD22 17 26.06.18 10:40 Сейчас в теме
(6)
А если несколько тысяч номеров, то руками в массив добавлять записи не пойдет.

Циклы запретили использовать?
8. tiger12 4 26.06.18 10:50 Сейчас в теме
(7) Циклом не пойдет, потому что номера расположены не подряд.
То есть, вместо 20 тысяч номеров надо включить в выборку только 2 тысячи или 5 тысяч.
9. TODD22 17 26.06.18 10:51 Сейчас в теме
(8)
То есть, вместо 20 тысяч номеров надо включить в выборку только 2 тысячи или 5 тысяч.

Условия в цикле нельзя сделать?
10. Nivanchenko 26.06.18 12:22 Сейчас в теме
(6) А как простите вы формируете столбец, для отправки в питон? Тоже наверное не руками. Как коллеги описали, есть циклы, запросы, да много чего. Всё упирается в конкретику задачи. Руками что-то добавлять это вообще не про нашего брата.
11. idmotar 04.09.18 18:38 Сейчас в теме
(6)я вот смотрю на ваше решение и начинаю понимать почему ненавидят все 1С программиста. Регулярные выражения вам ничего не говорят?
1. (чисто на 1с) открыть файл и регуляркой заменить переносы строк на "," и пробелы на пустые строки. все!!!.
2. Откройте notepad ++ и сделайте тоже самое с помощью "заменить".
Данная публикация не несет НИКАКОГО смыла за собой. Вы просто занимаете тут ссылку.
terroristish; yarunya; +2 Ответить
Оставьте свое сообщение