v0.2.0
Крупный релиз записи: 12 новых инструментов создания документов (возвраты,
складские операции, деньги, счета-фактуры, акт услуг). Все проверены боевым
POST-тестом (create → read → mark) на реальной базе — 1С приняла маппинг полей
и виды операций. Регламентные операции по-прежнему только читаются.
Исправлено
- Текст ошибки 1С больше не теряется. Ответ OData v3 кладёт ошибку в ключ
odata.error(с точкой), а извлекатель читалerror— из-за чего осмысленное
сообщение 1С (напр. «Не удалось записать: Счет-фактура выданный!») подменялось
голым «Ошибка сервера 1С (500)». Теперь поддержаны оба формата (v3 и v2/v4).
Выявлено боевым POST-тестом новых документов.
Добавлено
- Акт об оказании услуг (фаза 4):
create_services_actсоздаёт
«Акт об оказании производственных услуг» — услуги с учётом доходов/расходов по
номенклатурной группе (в отличие отcreate_act, который делает обычную реализацию
услуг). Номенклатурная группа (субконто счёта доходов 90.01) — обязательный параметр,
не угадывается. Счета строки (90.01/90.02/90.03, расчёты 62.01) резолвятся как у
реализации. Проводки Дт 62 Кт 90.01 (НДС 90.03). НЕпроведённым; dry-run/confirm.
«Поступление услуг» отдельного инструмента не требует — покрытоcreate_purchase.
(Итого — 55 инструментов: 21 чтение + 34 записи.) - Счета-фактуры (фаза 3), создание:
create_issued_invoice(счёт-фактура
выданный, вид «НаРеализацию») иcreate_received_invoice(полученный, вид
«НаПоступление»). Создаются НА ОСНОВАНИИ реализации / поступления: организация,
контрагент, договор, сумма и НДС наследуются от документа-основания, связь пишется
в шапку (ДокументОснование+_Type) и в ТЧ «ДокументыОснования». Для полученного
дату входящего счёта-фактуры продавца указывают вручную (её нет в поступлении).
Основание можно переопределить (baseDocumentEntity) — напр. отчёт комитенту.
Создаются НЕпроведёнными; dry-run/confirm. - Денежные документы (фаза 2), создание:
create_bank_writeoff(списание с
расчётного счёта),create_cash_receipt(ПКО),create_cash_payment(РКО).
Вид операции — обязательный параметр (бизнес-классификация, не угадывается:
ОплатаПоставщику / ПеречислениеНалога / ПрочийПриход / ВыдачаПодотчетномуЛицу и
т.п.). Контрагент полиморфный (Контрагент + _Type). Для оплаты поставщику/от
покупателя с договором заполняется «Расшифровка платежа» (сч. 60/62,
СпособПогашения=Автоматически); для налогов/ЗП/взносов — шапка без расшифровки.
Создаются НЕпроведёнными; dry-run/confirm. - Товарные складские документы (фаза 1), создание + построчное редактирование:
create_return_from_customer(возврат от покупателя),create_return_to_supplier
(возврат поставщику),create_transfer(перемещение между складами),
create_surplus(оприходование),create_writeoff(списание),create_inventory
(инвентаризация, не проводится). Счета учёта берутся из регистра/плана счетов
(как у поступления/реализации); возвраты переиспользуют логику продажи/закупки.
update_document_lines/add_document_line/remove_document_lineтеперь знают
эти типы. Создаются НЕпроведёнными; dry-run/confirm. Чтение — как и прежде через
search_documents/get_document. create_payout_order— создаёт «Платёжное поручение» (исходящая выплата контрагенту), всегда
НЕПРОВЕДЁННЫМ. Номер задаётся явно вызывающим (для зеркалирования уже отправленной банковской
платёжки тем же номером) — не автонумеруется, в отличие от прочихcreate_*. Счёт организации
и валюта (рубль, код 643) резолвятся автоматически, если не заданы явно. dry-run/confirm, как у
остальных инструментов записи.