| Цитата |
|---|
| Александр Нимгиров написал: В чем может быть причина? Ставки так и не подгрузились |
|
|||
|
|
|
|
|||
|
|
|
|
|||||||
|
|
|
Пока порядок счетов на портале не меняется, основным стабильно остаётся один и тот же счёт — поэтому вариант «оба счёта сразу, основной выбран» работает. Но когда вы перещёлкиваете основной счёт в Битриксе, портал переупорядочивает список реквизитов, и при следующей синхронизации последним в списке оказывается уже другой счёт — он и становится основным в 1С. Отсюда и «уезжание» основного счёта в этих шагах. |
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
В КА/УТ нет реквизита «основной банковский счёт», который загрузка могла бы переписывать. Поэтому при добавлении нового счёта в Битрикс и последующей синхронизации этот счёт создаётся в 1С как обычный. Реквизита «основной банковский счёт» есть в конфигурациях 1С БП и УНФ. Там логика такая - если загружается новый банковский счет из Б24 в 1С, только тогда меняется основной банковский счет (то есть последний добавленный всегда считается основным). Если новых банковских счетов не создается, то основной не меняется. |
|||
|
|
|
По вопросу банковских счетов: коротко: это ожидаемое поведение — 1С не сбивает основной счёт. Причина в том, как устроен обмен: Со стороны Битрикс24 к каждому контрагенту может быть привязано несколько банковских счетов, но сам механизм API не передаёт признак «какой из них основной» — в данных обмена приходит только номер счёта, БИК, банк, валюта и признак активности. Признак основного счёта, который проставляется в 1С, из Битрикс24 в принципе не приходит. Поэтому при каждом обмене действует следующий порядок:
То есть 1С не «переключает» основной счёт на произвольный другой: если основной счёт уже выбран в 1С, обмен его сохраняет. Счёт меняется на «последний привязанный» только в ситуации, когда основной счёт в 1С ещё не был выделен либо когда последовательность загрузки счетов меняется — тогда первым загруженным становится другой счёт, и именно он автоматически принимается как основной. |
|||
|
|
|
|
|||
|
|
|
Разобрал ваш феномен — подозрение верное: дело именно в незавершённой двусторонней связке, и причинный механизм такой. По связке заказа и «http-ссылки Дела в таймлайне каждый раз заново». Связка «сделка ↔ заказ» держится на идентификаторе: в заказ 1С пишется внешний код сделки, а в сделку — ссылка на заказ (Дело). Кнопка «создать заказ в сделке» (интеграция сервисов) создаёт заказ в 1С напрямую, минуя обмен по стадиям — поэтому заказ появляется даже при «н.з.». Но поскольку для этой сделки обмен по стадиям у вас запрещён, обратная часть привязки (запись ID заказа в сделку и постановка заказа к обратной выгрузке из 1С) не завершается. Отсюда два симптома, которые вы видите:
Чтобы двусторонняя связка была полноценной, сделку нужно один раз прогнать штатным обменом без «н.з.» на её текущей стадии — тогда связка зафиксируется и дальше обновления пойдут штатно. Либо, если ручное создание принципиально, оформить так, чтобы на стадиях, где заказ уже создан, «н.з.» не стояло (только «не обновлять» для существующих), иначе обратная выгрузка закрыта. По парадоксу «не обновлять + н.з. на 1-й стадии → заказ не создаётся». Это не ошибка, а особенности трактовки: «н.з.» на стадии означает не только «не обновлять», но и «не создавать» заказ для сделок этой стадии. Поэтому, чтобы заказ создавался на 1-й стадии, на ней «н.з.» ставить нельзя. А защиту от перезаписи уже существующих заказов даёт отдельная настройка «не обновлять для существующих заказов» — она с созданием на 1-й стадии не конфликтует. Итого по вашим трём инструментам:
Под каждую задачу лучше подходит свой инструмент, и «н.з.» на 1-й стадии одновременно с целью «создавать заказ на 1-й стадии» несовместим — их нужно развести. |
|||||||
|
|
|
|
|||
|
|
|
Проверил начиная с релиза 4.4.0.3 до текущего логика по доп реквизитам не менялась. Вы с более старого обновлялись? Еще уточните - в каком наборе лежат те 7 доп.реквизитов Партнера? (Похоже на "Справочник_Партнеры_Общие"), а программа смотрит тут - "Справочник_Партнеры". |
|||
|
|
|
|
|||||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
Счёт подберётся, если подходящих под организацию+валюту+направление ровно один, либо у организации заполнен «Основной банковский счет». Счёт не подберётся (→ пусто → при проведении «Банковский счет не указан»), когда подходящих счетов несколько и основной не задан, либо форма оплаты/направление отсекает все счета.
При обмене коннектор читает существующий «Заказ клиента», заново заполняет его по алгоритму и перезаписывает. Если в этот момент пользователь 1С открыл тот же заказ и набивает товары — возникает конфликт: либо платформа выдаёт «объект изменён», либо коннектор своей записью перезатирает то, что пользователь ещё не сохранил. Это встроенное поведение штатного коннектора. Бороться можно несколькими способами: А. Настройками коннектора (без доработок):В настройках синхронизации сделок/заказов включить «не обновлять» для уже существующих заказов, Б. Организационно/процессно. Не давать пользователям 1С править заказы, которые синхронизируются с Битрикс24, «вживую» в моменты активного обмена — либо согласовать, что «владельцем» заказа является портал, а правки в 1С делаются в те периоды, когда обмен приостановлен. В. Доработать модуль. Над проверкой «объект изменён» мы тоже думаем, может в дальнейшем оптимизируем этот процесс, пока думаем как лучше. |
|||||
|
|
|
По складу: обновление сделки в Битрикс24 (в т.ч. добавление активности в таймлайн) перезаписывает Заказ клиента целиком, восстанавливая склад из соглашения — ручное значение на стороне 1С сбрасывается. Поле «Склад» заполняется так:
Что делать: в настройке синхронизации по сущности «Сделка/Заказ» поменять заполнение реквизита «Склад» с предопределённого алгоритма на «Свой алгоритм» (или, если нужен склад строго из соглашения, закрепить в своём алгоритме правило «не трогать склад, если он уже заполнен в 1С»). Это делается 1С-программистом в расширении. По банковскому счёту: заказ из сделки заполняется основным счётом организации; ошибка возникает из-за того, что основной счёт не выделен однозначно / не настроен маппинг счетов.Предопределённый алгоритм «Банковский счет» для УТ: коннектор сам счёт не выбирает — он просто просит типовой механизм УТ «дай основной счёт по умолчанию».
|
|||
|
|
|
|
|||
|
|
|
Готовим адаптацию под старую платформу 8.3 много запросов уже об этом. |
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||
|
|
|
|
|||||||||||||
|
|
|