написал: В журнале регистрации эта ошибка фигурировала как "Преобразование значения к типу Булево не может быть выполнено". Тык .Уточните, это баг или фича? Является ли необходимость включения синхронизации контактов известной ошибкой текущей версии коннектора и можно ли безопасно отключить контакты после обновления модуля?
Баг, фикс есть, будет в ближайшем релизе
Добрый день, по совету включил синк контактов и все заработало, НО из 1с в б24 передаются, а из б24 в 1с нет. И в настройках синка увидел что одна галка не стоит, и после нажатия на нее она не проставляется. Как можно пофиксить? Скрин:
Так же дважды сталкивались с проблемой:
Баг обмена Б24↔1С — усечение товарных позиций до 50 (потеря данных)
Суть. При синхронизации (особенно полной/принудительной) документы с числом позиций больше 50 приходят в 1С только с первыми 50 строками. Остальные теряются, сумма документа пересчитывается под 50 строк. Обнаружено на 10 счетах.
Причина (наиболее вероятная). Коннектор читает табличную часть из Б24 REST (crm.deal.productrows.get / crm.item.productrow.list), который возвращает максимум 50 записей за вызов и требует пагинации (start = 0, 50, 100 …). Коннектор берёт только первую страницу (50) и дальше не листает.
Что нужно исправить: 1. При чтении позиций листать все страницы (start += 50, пока ответ содержит 50 записей / пока есть next), собирать полный список, потом писать в 1С. 2. Граничный случай: если пришло ровно 50 — не считать это полным, делать дозапрос следующей страницы (иначе «ровно 50» и «>50» неразличимы). 3. Проверить обмен по всем табличным частям (счета, реализации, заказы, УПД) — не только счетам. 4. До фикса — не запускать полную принудительную синхронизацию по документам с >50 позиций (режет данные). 5. Желательно — лог/алерт, если у документа при записи в 1С стало ровно 50 позиций, а в источнике было больше.
Добрый день. По первому вопросу - фикс будет в ближайшем релизе. По второму - "crm.deal.productrows.get" - нигде в коде не используется. А crm.item.productrow.set — коннектор шлёт все строки одним вызовом, без разбиения. А читает данные коннектор с портала до тех пор пока не вернет менее 50 значений. Это есть и в текущем и во всех старых релизах.
Код
Пока Истина Цикл
ПараметрыЗапроса = "&start=-1&order[id]=ASC&filter[>id]=" +Строка(Ид) + ТелоЗапроса;
...
Для каждого ТекЭлемент Из МассивДанных:
Результат.Добавить(ТекЭлемент);
Ид = ТекЭлемент.id; // ключ — id последней строки страницы
Если МассивДанных.Количество() < 50 Тогда Возврат; // пока ровно 50 — читаем дальше
КонецЦикла;
А можно как то пофиксить? Просто два раза уже обрезало счета при полной синхронизации, приходится из реализаций восстанавливать либо если ее нет, вручную
Фикс очень ждем, работа хромает. Ориентировочная дата фикса не известна еще?
написал: В журнале регистрации эта ошибка фигурировала как "Преобразование значения к типу Булево не может быть выполнено". Тык .Уточните, это баг или фича? Является ли необходимость включения синхронизации контактов известной ошибкой текущей версии коннектора и можно ли безопасно отключить контакты после обновления модуля?
Баг, фикс есть, будет в ближайшем релизе
Добрый день, по совету включил синк контактов и все заработало, НО из 1с в б24 передаются, а из б24 в 1с нет. И в настройках синка увидел что одна галка не стоит, и после нажатия на нее она не проставляется. Как можно пофиксить? Скрин:
Так же дважды сталкивались с проблемой:
Баг обмена Б24↔1С — усечение товарных позиций до 50 (потеря данных)
Суть. При синхронизации (особенно полной/принудительной) документы с числом позиций больше 50 приходят в 1С только с первыми 50 строками. Остальные теряются, сумма документа пересчитывается под 50 строк. Обнаружено на 10 счетах.
Причина (наиболее вероятная). Коннектор читает табличную часть из Б24 REST (crm.deal.productrows.get / crm.item.productrow.list), который возвращает максимум 50 записей за вызов и требует пагинации (start = 0, 50, 100 …). Коннектор берёт только первую страницу (50) и дальше не листает.
Что нужно исправить: 1. При чтении позиций листать все страницы (start += 50, пока ответ содержит 50 записей / пока есть next), собирать полный список, потом писать в 1С. 2. Граничный случай: если пришло ровно 50 — не считать это полным, делать дозапрос следующей страницы (иначе «ровно 50» и «>50» неразличимы). 3. Проверить обмен по всем табличным частям (счета, реализации, заказы, УПД) — не только счетам. 4. До фикса — не запускать полную принудительную синхронизацию по документам с >50 позиций (режет данные). 5. Желательно — лог/алерт, если у документа при записи в 1С стало ровно 50 позиций, а в источнике было больше.
написал: Какой ужасный коннектор, я просто в шоке. Попытался обновить ключ авторизации, так теперь и счета из б24 в 1с не создаются. Хотя ключ в итоге обновлен, ошибки после записи больше нет, но синхронизация не работает никаким образом. кто нибудь разобрался с этим?
при синхронизации сейчас дает критическую ошибку:
Код
{(8, 34)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И СчетНаОплатуПокупателю.Ссылка < <? >>= &П
{Битрикс 24 КомплексБПФреш ОбщийМодуль.Б 24 _КС_ВыгрузкаСервер.Модуль( 420 )}:ТаблицаОбъектовОбменаВыгрузки = Запрос.Выполнить().Выгрузить();
{Битрикс 24 КомплексБПФреш ОбщийМодуль.Б 24 _КС_ОбщегоНазначенияВызовСервера.Модуль( 2296 )}:Б 24 _КС_ВыгрузкаСервер.ФормированиеПакетовДанных(СтруктураНастроек, ТипДанных);
{Битрикс 24 КомплексБПФреш ОбщийМодуль.Б 24 _КС_ОбщегоНазначенияВызовСервера.Модуль( 2235 )}:СформироватьИОтправить(СтруктураНастроек, СтруктураНастроек.ТипыОбъектовОбмена.Счет 2 );
{Битрикс 24 КомплексБПФреш ОбщийМодуль.Б 24 _КС_ОбщегоНазначенияВызовСервера.Модуль( 2159 )}:ОбработатьЭлементОчередиВыполненияВыгрузки(СтруктураНастроек, ЭлементОчереди);
{Битрикс 24 КомплексБПФреш ОбщийМодуль.Б 24 _КС_ОбщегоНазначенияВызовСервера.Модуль( 1625 )}:ПроверитьОчередьВыполненияВыгрузки(СтруктураНастроек, ОчередьВыгрузки);
{Битрикс 24 КомплексБПФреш ОбщийМодуль.Б 24 _КС_ОбщегоНазначенияВызовСервера.Модуль( 998 )}:ЗапуститьВыполнениеОчередиВыгрузки(СтруктураНастроек);
{Битрикс 24 КомплексБПФреш ОбщийМодуль.Б 24 _КС_ОбщегоНазначенияВызовСервера.Модуль( 929 )}:ВыполнитьСинхронизацию(НастройкаПодключения, ВидСинхронизации, ПолнаяСинхронизация, ВыполнятьЗагрузку, ВыполнятьВыгрузку);
{( 1 )}:Б 24 _КС_ОбщегоНазначенияВызовСервера.ВыполнитьСинхронизациюПоФоновомуЗаданию(Параметры[ 0 ],Параметры[ 1 ])
{ОбщийМодуль.ОбщегоНазначения.Модуль( 6334 )}:Выполнить(СтрокаВызова); // АПК:487 Исполняемый код безопасен.
{ОбщийМодуль.ДлительныеОперации.Модуль( 1851 )}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль( 1812 )}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);
{ОбщийМодуль.ДлительныеОперации.Модуль( 1825 )}:ВызватьИсключение(Уточнение.Текст, Уточнение.Категория,, СтекЗапуска, ИнформацияОбОшибке);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка, ОшибкаКонфигурации]
по причине:
Ошибка при вызове метода контекста (Выполнить)
[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
{( 8 , 34 )}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И СчетНаОплатуПокупателю.Ссылка < <? > > = &П
Причина ошибки — не в коде, а в пользовательском настройке отбора в настройках синхронизации счёта. Параметр &П генерируется платформой СКД из сохранённого отбора по полю «Ссылка», у которого правое значение — строка неограниченной длины / несовместимого типа (например, отбор введён/импортирован с текстовым значением вместо ссылки). Платформа подставляет его в условие СчетНаОплатуПокупателю.Ссылка = &П и падает с «Нельзя сравнивать поля неограниченной длины». Что нужно сделать: В 1С открыть Настройки синхронизации → сущность «Счёт» (Счет2) на этой настройке подключения. Найти отбор по полю «Ссылка» (или по полю документа счёта) в настройках отборов выгрузки — у него правое значение типа «Строка»/текстовое. Удалить такой отбор или перевыбрать значение как ссылку на документ (через выбор из списка), затем сохранить. Повторить выгрузку. Это дефект данных настройки обмена, а не кода расширения — править код/схему не нужно. Если после очистки отборов ошибка повторится — пришлите точный текст отбора, который сохранён по счёту, разберу детальнее.
Добрый вечер, да, верно. Позже обнаружил этот отбор и отключил. Ошибка ушло но синхронизация не наладилась. Искал разные настройки которые могли измениться после обновления не нашел. Тестил - создавал счета в 1с и б24, ничего не передавалось, "Неотправленный пакеты" только копились. Позже удалил их, и в синхронизации вообще ничего не выходило(в логе синхронизации). В итоге запустил полную синхронизацию, и ушел. Через какое то время, не знаю из за нее или нет, счета в 1с и б24 появились, только вместе с этим появилось и много других счетов, откуда взялись не знаю, может какие то старые - но не ясно где они хранились.
Буду тестить на выходных, смотреть работает или нет. Сейчас вроде при редактировании счета на другой стороне данные меняются. Но печатная форма из 1с в б24 так и не летит ( по умному сценарию)
Георгий маракулин написал: Добрый день! Проблема с синхронизацией данных в счетах и контрагентах наблюдается уже 3-ий день. Синхронизация смарт-процессов происходит только при ручной синхронизации изменений. В это же время синхронизация счетов и контрагентов не работает даже при ручной синхронизации. В журнале взаимодействий можно видеть историю и ошибки. . Что вы можете порекомендовать в этой ситуации? Синхронизация в целом сейчас не работает.
Какой ужасный коннектор, я просто в шоке. Попытался обновить ключ авторизации, так теперь и счета из б24 в 1с не создаются. Хотя ключ в итоге обновлен, ошибки после записи больше нет, но синхронизация не работает никаким образом. кто нибудь разобрался с этим?
при синхронизации сейчас дает критическую ошибку:
Код
{(8, 34)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И СчетНаОплатуПокупателю.Ссылка <<?>>= &П
{Битрикс24КомплексБПФреш ОбщийМодуль.Б24_КС_ВыгрузкаСервер.Модуль(420)}:ТаблицаОбъектовОбменаВыгрузки = Запрос.Выполнить().Выгрузить();
{Битрикс24КомплексБПФреш ОбщийМодуль.Б24_КС_ОбщегоНазначенияВызовСервера.Модуль(2296)}:Б24_КС_ВыгрузкаСервер.ФормированиеПакетовДанных(СтруктураНастроек, ТипДанных);
{Битрикс24КомплексБПФреш ОбщийМодуль.Б24_КС_ОбщегоНазначенияВызовСервера.Модуль(2235)}:СформироватьИОтправить(СтруктураНастроек, СтруктураНастроек.ТипыОбъектовОбмена.Счет2);
{Битрикс24КомплексБПФреш ОбщийМодуль.Б24_КС_ОбщегоНазначенияВызовСервера.Модуль(2159)}:ОбработатьЭлементОчередиВыполненияВыгрузки(СтруктураНастроек, ЭлементОчереди);
{Битрикс24КомплексБПФреш ОбщийМодуль.Б24_КС_ОбщегоНазначенияВызовСервера.Модуль(1625)}:ПроверитьОчередьВыполненияВыгрузки(СтруктураНастроек, ОчередьВыгрузки);
{Битрикс24КомплексБПФреш ОбщийМодуль.Б24_КС_ОбщегоНазначенияВызовСервера.Модуль(998)}:ЗапуститьВыполнениеОчередиВыгрузки(СтруктураНастроек);
{Битрикс24КомплексБПФреш ОбщийМодуль.Б24_КС_ОбщегоНазначенияВызовСервера.Модуль(929)}:ВыполнитьСинхронизацию(НастройкаПодключения, ВидСинхронизации, ПолнаяСинхронизация, ВыполнятьЗагрузку, ВыполнятьВыгрузку);
{(1)}:Б24_КС_ОбщегоНазначенияВызовСервера.ВыполнитьСинхронизациюПоФоновомуЗаданию(Параметры[0],Параметры[1])
{ОбщийМодуль.ОбщегоНазначения.Модуль(6334)}:Выполнить(СтрокаВызова); // АПК:487 Исполняемый код безопасен.
{ОбщийМодуль.ДлительныеОперации.Модуль(1851)}:ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова);
{ОбщийМодуль.ДлительныеОперации.Модуль(1812)}:ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры, ПараметрыВыполнения);
{ОбщийМодуль.ДлительныеОперации.Модуль(1825)}:ВызватьИсключение(Уточнение.Текст, Уточнение.Категория,, СтекЗапуска, ИнформацияОбОшибке);
[ОшибкаВоВремяВыполненияВстроенногоЯзыка, ИсключениеВызванноеИзВстроенногоЯзыка, ОшибкаКонфигурации]
по причине:
Ошибка при вызове метода контекста (Выполнить)
[ОшибкаВоВремяВыполненияВстроенногоЯзыка]
по причине:
{(8, 34)}: Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
И СчетНаОплатуПокупателю.Ссылка <<?>>= &П
написал: Тут тоже желательно в тех поддержку. Нужно смотреть запросы, логи.
Выраженная проблема появилась именно после обновления коннектора. И это не первый раз, когда после обновления коннектора происходит такая ситуация. Что примечательно, даже при выключенной синхронизации счетов из 1С в б24 происходит их создание в б24, что прямо отключено в настройках интеграции объектов. Эта проблема также решается через тех поддержку 1С? К сожалению, не могу по каким-то причинам приложить скриншоты к сообщению
Сейчас тоже обратил внимание что после обновления, печатная форма счета из 1с перестала приходить(при умном сценарии "Экспорт из 1С" тоже не приходит). И сегодня при редактировании счета в 1с (увеличил колво шт у одной позиции) - счет в б24 не редактируется, то есть синхронизация не работает, при принудительной синхронизации тоже.
написал: Добрый день, после обновления заметил что вкладка Битрикс24 в 1сфреш изменилась, урезалась настройка. Где сейчас производится настройка коннектора? Банально сапоставление учетных записей б24 и 1с поправить не нашел где.
Добрый день нужно в настройках синхронизации включить галку CRM. Не учли чтобы она автоматом установилась при обновлении
После включения галки - была ошибка о "Не удалось выгрузить настройки на портал, проверьте журнал взаимодействий. Скорее всего нужно обновить токен.". Может в этом дело? что за токен нужно обновить?
Добрый день, после обновления заметил что вкладка Битрикс24 в 1сфреш изменилась, урезалась настройка. Где сейчас производится настройка коннектора? Банально сапоставление учетных записей б24 и 1с поправить не нашел где.
И очень интересует когда в коннекторе реализуют возможность создания и выбора договоров из 1с. Приходится костылить самому.