Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

improve DX in add batch methods #305

Open
mesilov opened this issue Jul 29, 2022 · 0 comments
Open

improve DX in add batch methods #305

mesilov opened this issue Jul 29, 2022 · 0 comments
Assignees
Labels
2.x issue related with 2.x sdk version improve DX developer experience improvement

Comments

@mesilov
Copy link
Owner

mesilov commented Jul 29, 2022

foreach ($this->serviceBuilder->getCRMScope()->deal()->batch->add($rawDeals) as $addDealResult) {
   $dealIdList[] = $addDealResult->getId();
}

в rawDeals лежит массив сделок на добавление, в add они добавятся через батч, он нарежет всё как надо, добавит и вернёт уже через генератор айдишники добавленных сделок

Vlad Bazhanov

через генератор? а как сопоставляются добавляемые сделки и их id? т.е. если я добавляю данные через рест, а потом в локальной системе нужно привязать айди сделки (зачемто) к каждой отдельной сущности, что я добавил, то как?

Maxim

хороший вопрос, я его решаю так: это зона ответственности разработчика, в клиентском коде пусть сам решает что там ему надо.
если мы говорим про связь сужностей в двух системах, то у тебя должно быть поле по которому идёт связь, какой нить UUID, ну собственно у тебя:

  • есть система А в которой есть данные и uuid
  • ты в Б24 отправил массив сделок у которых в пользовательском поле эти uuid
  • тебе вернули их id (добавленных)
    по id ты выбрал и сопоставил
    можно конечно использовать ключи массива со сделками как идентификаторы и прокидывать их, например

Vlad Bazhanov

я не пробовал вашу библиотеку, может у вас можно выполнить метод добавления другим способом, а это дополнительный "сахар" для частного кейса
на вскидку вариантов много: позволять задавать код запроса и по нему получать ответ/callback(с проброской кастомных данных/запроса в метод, вместе с результатом)/возвращать запрос и ответ в итераторе

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.x issue related with 2.x sdk version improve DX developer experience improvement
Projects
None yet
Development

No branches or pull requests

1 participant