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

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, с результатом обработки.

13 Comments

  1. Goleff74

    СКД ж умеет.

    Reply
  2. Aphanas

    Непонятно, как вызывать методы питона в 1С? Или наоборот, 1С в питоне?

    Это что, реклама PyCharm Edu?

    Чем это отличается от того, чтобы использовать для решения «рабочих задач» любой другой софт?

    Reply
  3. user1002362

    А если еще и писать по питоновски, то вообще 2 строчки получается…

    with open(‘output.txt’, ‘w’) as out_file:

    out_file.write(‘,’.join(open(‘input.txt’, ‘r’).read().splitlines()))

    Но, как тут уже заметили — зачем городить огород? 1С не умеет разворачивать строки? Пусть даже не так кратко и лаконично…

    Reply
  4. Nivanchenko

    Как бы, вот

    МассивНомеровДокументов = Новый Массив;
    МассивНомеровДокументов.Добавить(«1»);
    МассивНомеровДокументов.Добавить(«2»);
    МассивНомеровДокументов.Добавить(«3»);
    МассивНомеровДокументов.Добавить(«4″);
    
    СтрокаСНомерами = СтрСоединить(МассивНомеровДокументов,»,»);
    

    Показать

    Reply
  5. tiger12

    (2) Здесь я рассказываю о том, как можно использовать Питон. На свой вкус можно что-то другое выбрать.

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

    Скрипт работает в питоне. В питоне (PyCharm Edu создаем новый файл, и туда вставляем скрипт).

    Reply
  6. tiger12

    (4) А если несколько тысяч номеров, то руками в массив добавлять записи не пойдет.

    Reply
  7. TODD22

    (6)

    А если несколько тысяч номеров, то руками в массив добавлять записи не пойдет.

    Циклы запретили использовать?

    Reply
  8. tiger12

    (7) Циклом не пойдет, потому что номера расположены не подряд.

    То есть, вместо 20 тысяч номеров надо включить в выборку только 2 тысячи или 5 тысяч.

    Reply
  9. TODD22

    (8)

    То есть, вместо 20 тысяч номеров надо включить в выборку только 2 тысячи или 5 тысяч.

    Условия в цикле нельзя сделать?

    Reply
  10. Nivanchenko

    (6) А как простите вы формируете столбец, для отправки в питон? Тоже наверное не руками. Как коллеги описали, есть циклы, запросы, да много чего. Всё упирается в конкретику задачи. Руками что-то добавлять это вообще не про нашего брата.

    Reply
  11. idmotar

    (6)я вот смотрю на ваше решение и начинаю понимать почему ненавидят все 1С программиста. Регулярные выражения вам ничего не говорят?

    1. (чисто на 1с) открыть файл и регуляркой заменить переносы строк на «,» и пробелы на пустые строки. все!!!.

    2. Откройте notepad ++ и сделайте тоже самое с помощью «заменить».

    Данная публикация не несет НИКАКОГО смыла за собой. Вы просто занимаете тут ссылку.

    Reply
  12. Afandi

    (1)

    умеет

    Покажите пожалуйста в СКД как такое сделать?

    Reply
  13. alsoftik

    (11) Я что не понимаю, наверно в публикации и в решение задачи, зачем здесь python? здесь все прекрасно решается «силами» самой 1С, в чем «прикол», да еще СКД приплели, да еще и регулярные выражения?

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *