Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@inner-whisper
Copy link
Contributor

@inner-whisper inner-whisper commented May 21, 2021

Изменения

  • Добавлена поддержка полей agent_info и supplier_info (требуется, когда чек печатается агент, а продаваемый товар или услуга предоставляются отдельным поставщиком)

@inner-whisper inner-whisper changed the title добавил поддержку полей agent_info и supplier_info feat: Добавлена поддержка полей для поставщика товара/услуги May 25, 2021
@inner-whisper inner-whisper marked this pull request as ready for review May 25, 2021 16:05
@inner-whisper
Copy link
Contributor Author

@GeorgeGorbanev предлагаю в рамках данного PR добавить поддержку полей для указания поставщика.

Супер не уверен в том, что выбрал оптимальный способ передачи agent_info и supplier_info (через передачу каждого атрибута из этих хэшей отдельно), но пока сложно представляю, как лучше организовать валидацию этих хэшей.

@fizvlad fizvlad self-requested a review July 26, 2021 11:04
self.quantity = quantity.to_f
self.payment_method = payment_method.to_s
self.payment_object = payment_object.to_s
self.agent_type = agent_type
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Я бы предложил данное значение также приводить к строке, раз уж это делается для payment_method и payment_object

Suggested change
self.agent_type = agent_type
self.agent_type = agent_type.to_s

Comment on lines +34 to +38
def initialize(
config: nil, name:, price:, quantity: 1, payment_method:,
payment_object:, agent_type: nil, supplier_phones: nil,
supplier_name: nil, supplier_inn: nil
)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agent_info, судя по документации, очень большой объект: в нём может быть тип и три вложенных объекта с атрибутами других операторов (в сумме до 10 полей). Если в будущем понадобится добавить другие поля, то через опции это будет делать некрасиво, т.к. получим 20 опций в конструкторе.
Возможно, стоит добавить Atol::Request::PostDocument::Item::AgentInfo и Atol::Request::PostDocument::Item::SupplierInfo?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants