новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Евгений
Приватное сообщение
Новый заказчик

Требуется сделать python скрипт, который по API в базе 1С будет создавать документы

7 июня 2024 в 08:39:03 (24 недели 2 часа назад)
Текст задания
1С:Предприятие 8.3 (8.3.25.1287)
Бухгалтерия предприятия, редакция 3.0 (3.0.153.21)

Требуется сделать python скрипт, который по REST API в базе 1С на 1cfresh.com будет создавать ряд документов.

Пример вызова обращения к 1C:
GET https://msk1.1cfresh.com/a/ea/XXXXXX/odata/standard.odata/Catalog_Контрагенты?$format=json


Создаваемые сущности и документы:
- Контрагент
- Договор контрагента
- Документ: Отчёт комитента
- Документ: Бухгалтерская справка

База в облаке для экспериментов имеется. Документы для примера уже созданы в 1С.


Пример функций и как они будут вызываться. Предположу, что это неисчерпывающий перечень, но должен дать понять, что требуется.


def getOrCreateCounterparty(...):
# Получить или создать в 1С контрагента.
# Предусмотреть то, что контрагент может сменить статус. Вчера контрагент самозанятый, сегодня уже ИП

return counterparty


def getOrCreateContract(...):
# Получить или создать в 1С договор контрагента

return contract

def getOrCreateService(...):
# Получить или создать в 1С услугу для добавления в Отчёт комитента

return service

def getOrCreateComitentReport(...):
# Получить или создать в 1С документ Отчёт комитента

return counterparty


def getOrCreateAccountingInformation(...):
# Получить или создать в 1С операцию Бухгалтерская справка

return accountingInformation



counterparty = getOrCreateCounterparty(
inn=\\\'123456789\\\',
type=\\\'ИП\\\',
name=\\\'ИП Иванов Иван Иванович\\\',
... прочие нужные поля ...
)

contract = getOrCreateContract(
counterpartyID=counterparty.id,
contractType=\\\'С Принципалом\\\',
contractName=\\\'Договор №1\\\',
contractDate=\\\'2024.04.01\\\',
)

service = getOrCreateService(
type=\\\'service\\\',
name=\\\'Услуга 1\\\',
... прочие нужные поля ...
)

сomitentReport = getOrCreateComitentReport(
counterpartyID=counterparty.id,
contractID=contract.id,
reportDate=\\\'2024.04.30\\\',
services=[{
name:\\\'Услуга 1\\\',
count:\\\'3\\\',
summ:\\\'100\\\',
commission:\\\'10\\\'
},],
)


accountingInformation = getOrCreateAccountingInformation(
date=\\\'2024.04.30\\\',
companyINN=\\\'213215445454\\\',
descript=\\\'\\\',
comment=\\\'\\\',
table=[
{
debit:{
account:\\\'70.01\\\',
субконто1:\\\'\\\',
субконто2:\\\'\\\',
},
creeds:{
account:\\\'70.02\\\',
субконто1:\\\'\\\',
},
count: 1,
summ: 100,
},
]
)
0
Отклики (3)