На бета версии, если из панели управления масштабированием запустить обновление окружения, выдаст результат - Ошибка
Код
"The conditional check 'common_manage == 'update_packages'' failed. The error was: cannot import name shlex_quote\n\nThe error appears
to have been in '/etc/ansible/roles/common/tasks/update_packages.yml': line 3, column 3, but may\nbe elsewhere in the file depending on the exact
syntax problem.\n\nThe offending line appears to be:\n\n# configure oldkernel limits\n- name: get server options\n ^ here\n"}
fatal: [server1]: FAILED! => {"failed": true, "msg": "The conditional check 'common_manage == 'update_packages'' failed.
The error was: cannot import name shlex_quote\n\nThe error appears to have been in '/etc/ansible/roles/common/tasks/update_packages.yml': line 3, column 3,
but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n# configure oldkernel limits\n-
name: get server options\n ^ here\n"}to retry, use: --limit @/etc/ansible/common.retry
Александр Кунташов, со своей стороны делаю все что могу - тикеты в ТП, форум. Пока воз и ныне там) Видимо сейчас силы брошены на новый бэк офис.
Мы, с вашей подачи проблему уже локализовали - не указана организация. А включение неск. организаций только поможет устранить последствия в конкретном счете. Проблему "как так произошло" оно не устранит.
Так что никаких общих фраз у меня нет, только конкретные вопросы и пожелания.
Чтобы сделать модуль лучше, было бы неплохо видеть более удобный лог, напрмер с реальной информацией что попало в обмен а что нет. Счет без организации это явная ошибка. На стороне 1С такое не поддерживается и модуль по хорошему должен это сигнализировать. Увы 1c программиста для чтения исходников у меня пока нет и мягко говоря это "перебор" для обеспечения минимальной работы "готового продукта".
Понимаете, проблема не в том, что вот конкретно данный счет синкнулся плохо и нужно срочно всеми силами его загрузить. Проблема в том что системно очень часты сбои в синхронизации, которая происходит просто в стерильных условиях. Типовая конфа, очень маленький поток документов. Хотелось бы грубые ошибки отловить чтобы они не мешали во внедрениях.
Цитата
Александр Кунташов написал: Включите режим отладки - увидите реальные запросы и ответы REST API.
В курсе, но это не "рабочий режим", это именно отладка. Т.е, когда бухгалтер синхронизирует вручную, его не попросишь смотреть в отладку и парсить глазами вебхуки)
В интерактивной синхронизации реализован лог для пользователя, но он именно что вводит в заблуждение, а не показывает реальную картину. В журнале синхронизации тоже самое. Вот посмотрите, как много работы выполнено модулем . Знаете сколько реально обменялось данных? ноль.
Понимаете кейс простой - я вижу что с синхронизацией частые проблемы, её надо постоянно контроллировать. Следовательно либо нужно доводить логику обмена до ума, чтобы она хотя бы в стерильных условиях работала стабильно, либо сообщала о проблемах, либо, если это невозможно, просто можно было глазами за ней следить стоять над душой (худший сценарий).
Везде видны здавые идеи - уведомления на почту, уведомления в систему уведомлений 1С, но по факту вот вам обмен не сработал корректно ошибок нет. Ну конечно фатал еррора нет, но обмен то все равно не состоялся корректный.
Для ежедневного рабочего кейса тупого стерильного обмена Б24-1с БП сколько надо человек в отделе поддержки и бухгалтерии?) Может все таки достаточно одного в команде Битрикс24 чтобы это пофиксить?
Не рабочий этот вариант... - во первых это изменит все формы в конфе и добавит неудобств, в тч. во внедрениях. Нормальный бухалтер всегда спросит - какого черта вы повключали? Во вторых это тупиковый путь - не решать проблемы логике модуля, а сочинять костыли на стороне клиента. Костыли рождают костыли. В работе модуля не заявлено что он требует учет нескольких организаций и у нас ведь штатная интеграция с распросраненной конфой 1с , она должна работать и без "Нескольких организаций" в базе.
Я слежу за модулем с самого начала и тестирую с первых бет. Конечно он хорош и сильно лучше того, что было в 2018. Но блин если остались баги, остались недосмотры, которые реально мешают в работе, и это не тысяча строк кода, можно же все это решить системно на уровне разработчика?
Александр Кунташов, большое спасибо за подробный разбор. Да вы правы, организация одна и в форме не выводится. И да, действительно в этом счете она не подставилась (в печатной форме счета можно видеть пустоту)
Цитата
Скорее всего с Б24 эта единственная организация не синхронизирована. В результате счет создается, но организация в нем не заполнена.
Однако! На стороне Б24 в счете организация продавец указана. С 1С она синхронизирована, (есть все идентификаторы в 1с и они корректные). Другие счета синхронизируются нормально.
Александр Денисюк говорил что все зависимые сущности сихронизируются автоматически. Опять же не понятно синхронизируются или только один раз выгружаются? Этот вопрос уже задавал недавно в этой теме - какая логика синхронизации организаций, но ответа не получил.
Было бы все таки замечательно получить комментарий разработчиков - как должна работать синхронизация организаций.
И второе - сейчас я практически каждую синхронизацию делаю вручную и смотрю лог. Практически всегда лог бесполезен потому что не показывает реальный обмен - что выгружено и куда, а тупо спамит заученными фразами "Формирование пакета выгрузки", "Выгрузка" и тд.
У меня как у партнера половина фич не работает и разбираться очень трудно. С клиентами вообще притормозил все интеграции, потому что ьез регулярного сидения в модуле оно стабильно не работает.
Александр Денисюк, можно расчитывать на более надежный лог? Например чтобы модуль показывал только реально что обенивает, а не просто писал в лог что он молодец и все обменял, хотя по факту данных ноль?
Александр Денисюк, я написал что БП. Типовая. Значит так не должно быть. А можете все таки поделиться как должно быть? Документации же нет, на что ориентироваться?
Александр Денисюк, можете пояснить какая логика создания договоров при обмене Б24>БП? Обменялись счетами - на стороне 1с у счета поле договора значится Договор - WEB, но само поле заблокировано Сам договор при этом не создался. При поступлении оплаты от клиента нельзя привязать оплату к счету, поскольку 1с сначала требует указать договор, а его нет и поле залочено.
Напомните пожалуйста, сихронизация с БП поддерживает только один реквизит в карточке Компании? Если нужно выставить счет этому же клиенту но на другие реквизиты - создавать отдельную Компанию?
Александр, я вроде подробно все расписываю, в предыдущем посте так и пишу
Цитата
В список изменений попадает сам счет на оплату, и банковский реквизит.
Реквизит регистрируется к изменению. Тут проблем нет. Проблемы происходят на этапе обмена и в том, что лог не детализирует факт выгрузки\невыгрузки. Он на любых данных у вас пишет что выгрузка произошла. Хотя по факту может быть и нет. Запросы REST тоже не формируются (по банковским реквизитам), а по счету формируются.
Согласны, это не нормально - говорить что все выгрузилось, но по факту не выгружать?
Реальная ситуация: Включаем галкой синхронизацию только счетов. Пока что cписок изменений пуст. Берем счет на оплату, которым ранее уже обменивались, редактируем на стороне 1с, например крайний срок оплаты, и добавляем у нашей Организации новый банковский р\с.
В список изменений попадает сам счет на оплату, и банковский реквизит.
Запускаем синк изменений - в логе красота! Формируем. выгражаем, счет, реквизит, все круто! Написано русским же языком "Завершение выгрузки обьектов с типом Банковский реквизит"
Смотрим в Б24 - счет синхронизировался, а банковский реквизит нет, смотрим на стороне 1С - идентификатора у реквизита не появилось. В логах ошибок нет, список изменений пуст, неотправленных пакетов - ноль.
И это заметьте при включеном режиме отладки. Что я должен исправить? Хоть бы в лог об этом пукнул хотя бы, было бы понятно. А так тупо реквизит не выгружает и говорит что выгрузил. сидишь и гадаешь - почему не выгрузилось ничего.
Александр Денисюк, помогите разобраться, кейс только выгрузки из 1с, БП:
1. Правильно я понимаю что основные настройки синхронизации влияют на все виды синхронизации (ручная, реалтайм, расписание, по кнопке "открыть в Б24")?
1.1. Если выключена синхронизации счетов или сам обьект не попадает в отборы, то по кнопке открыть в Б24 счет не выгрузится?
1.2. Если синхронизация включена для счета, но выключена для номеклатуры, то номенклатура из счета выгрузится, так как является зависимым документом?
2. Правильно я понимаю что кнопка "открыть в Б24" - записывает текущий обьект в "зарегистрированые изменения" + запускает синхронизацию с типом "синхронизация по кнопке открыть в б24", при этом по факту выгружается весь список зарегистрированных изменений на данным момент, а не только обьект который мы хотим открыть?
3. Сейчас каждая синхронизация впустую нагружает портал и 1С, пытаясь каждый раз выгрузить из 1С Контакты, которые не нужны в Б24 и часто имеют некачественные данные. Я пытаюсь исключить их из синхронизации, но не получается. Очень прошу вас добавить галку отключения обмена контактными лицами. Зачем создается дополнительная нагрузка на REST и проблемы во внедрениях, если эти данные чаще всего тупо не нужны? В моей практике клиенты воспринимают это как излишний мусор и доп-работу по чистке всего этого. А бухгалтера в БП работают с цифрами - им вообще что там у контрагента в БП за контактные лица.
3. Можно ли научить модуль работать в режиме единичной синхронизации документа, чтобы можно было принудительно выгрузить любой обьект через кнопку - открыть в б24, при этом независимо от глобальных настроек, и не выгружалось все что накопилось в режиме изменений - а только этот документ?
Это просто отличный и удобный кейс для обмена документами "по требованию".
Спасибо.
Александр Денисюк, мы передаём из стандартного поля в стандартное, но почему то игнорируете типы полей... пользователь в любом случае там пишет текст но он не знает что в 1с не поддерживается форматирование, бухгалтер видит в счете белиберду. Странная позиция, особенно если учесть что для пользователя полезная нагрузка в поле это именно текст. никто не знает что оно там под капотом html. Какой смысл пытаться в plain передать html не очищая и ломая полезный смысл по дороге. Не знаю. вы сами говорите корму надо html - выведут в форму допреквизит нужного типа. А так только чтобы проблемы дополнительные создаются) потом удивляются почему там мусор какой то а не комментарии
1. На стороне Б24 в Счете, поля комментарий и комментарий менеджера - с форматированием. На стороне БП 3.0 plaintext. Если чуть-чуть не то вставить в поле - в 1с прилетят теги. Хорошо бы очищать это дело по дороге..
2. Поля комментариев перепутаны местами. "Комментарий" счета Б24 прилетает в реквизит "пользовательский комментарий". "Комментарий менеджера" прилетает в просто "Комментарий"
Согласитесь, по смыслу адекватно было бы Комментарий > Комментарий Комментарий менеджера > Пользовательский комментарий. А лучше реквизит тоже переименовать в "комментарий менеджера". Зачем множить сущности?
И так в модуле полно вещей которые непонятным языком описаны, без полдня экспериментов не поймешь как работает.
Вот например название полей удаления - загадка для любого кто не умеет читать мысли. Обрабатывать в 1С, это что? Под обработкой можно что угодно понимать. Человек может подумать - Вот я счет в 1С удалил - нужно это обработать и отправить в Б24. Значит ставлю обрабатывать в 1С!
Другой человек скажет - я удалил в Б24, теперь нужно обработать счет в 1С и удалить его там! Ведь фактически в Б24 только триггер сработал, а обработать счет надо на стороне 1с. Значит ставлю галку обрабатывать в 1С! А оно не работает...
А на самом деле - хорошая документация решает...
По русски было бы так и написать. -"Помечать на удаление в 1с если удален в Б24. -"Удалять в Б24 если помечен на удаление в 1с"
Длинно, зато понятно.
Уверен что вы знаете как оно на самом деле работает и можете описать на форуме, но хорошо когда просто читаешь доку и делаешь, а не дергать занятых людей банальными вопросами...
Александр Денисюк, 1. использовалось только сопоставление контрагентов - сопоставил 5 штук. 2. Технически не первая. В первый раз синхронизация не пошла потому что была ошибка вида "Невозможно выполнить синхронизацию, включите в базе использование доп.реквизитов". Там была сразу ошибка ничего не успело обменяться толком. После этого я отключил синхронизацию пользовательских полей, но уже пошли ошибки обмена которые я выше описал. Возможно в логике не учитывается этот сценарий.
Александр Денисюк, это первая синхронизация, выгрузка пользовательских полей вообще отключена. Решение ещё настолько сырое что даже при чистом первоначальном обмене выдаёт ошибки? А вариант багов в модуле не рассматривается?)
1С:Предприятие 8.3 (8.3.16.1063) БП 3.0 (3.0.75.109) Последний модуль.
2. Пошла первая синхронизация, полезли ошибки с полем контакта. 3. Выгрузились несколько контактных лиц в контакты б24, совершенно в бесполезном виде. Можно это как то отключить? С контактами в 1с никто не работает но они в базу попадают при заполнении по инн, а потом летят в битрикс.
Александр Денисюк, как реализовано создание контрагента Б24 > 1С БП 3.0, если в Б24 забиты ИНН и КПП филиала?
В БП 3.0 для обособленных подразделений обязательным реквизитом указывается тип контрагента, и головное подразделение.
Сейчас что происходит, филиалы выгружаются просто как контрагенты?
2. Где нибудь есть исчерпывающая документация на модуль синхронизации? Раньше к старым версиям был doc файлик с описанием всех функций, а сейчас? это конечно круто, но вот тут уже 60 страниц вопросов и нюансов которых в глянцевом хелпе нет. Кроме парсинга форума вариантов нет разобраться в нюансах работы модуля?
В последней версии наблюдается такое поведение: 1. При ручной синхронизации модуль уведомлений спамит в оповещения столько раз сколько попыток настроено. (достаточно одного уведомления на цикл синхронизации, а ошибки и проблемы уже в любом случае администратор может изучить по логам) 2. Если не очистить оповещения, они будут назойливо повторять каждые несколько минут. Это можно где-то настроить?
3.
Цитата
Архитектура это не поддерживает. Точнее так можно сделать, но потом сложнее поддерживать. Ведь с выгрузкой объекта должна выгрузиться вся связанная информация. Например документ - перед его выгрузкой должно выгрузится(если ранее не было засинхронизировано) компания/контакт, товары..
Но тем не менее, насколько я вижу сейчас - при попытке ручой выгрузки через кнопку "открыть в Б24" , например, Счета - система выгрузит автоматом контрагента, номенклатуру и счет. Т.е. по цепочке всё что нужно для выгрузки счета.
И тут есть какая то бага. Например счет-контрагент-номенклатура у меня выгрузилось
А вот создал только тестовую номенклатуру - пытаюсь её выгрузить через открыть - пишет не удается. НО по факту выгружается на портал и проставляются ID. Т,е. все работает но модуль говорит что не работает. И повторные нажатия открыть в Б24 ни к чему не приводят - говорит ошибка выгрузки.
1. 2. 3.
Баг?
4. Будет ли поддержка штатного поля БП3.0 "цена продажи" у номенклатуры? Сейчас вся номенлкатура выгружается без этих цен.
Александр Денисюк, у вас в последнем посте по обновлению скриншоты не подтянулись (недоступны).
Можете еще подсказать, по вопросам: 1. Будет ли в ручном сопоставлении возможность сопоставить товары (по артикулу, наименованию(например по точному или по совпадению n символов названия)? 2. Сейчас есть возможность руками выгрузить элемент в Б24,нажав ссылку "Открыть в Б24", и если обьекта нет в Б24 - он выгрузится и привяжется. А можно ли как то обновить данные по одному обьекту, не выполняя при этом синхронизацию изменений? (она затронет все изменившиеся документы, а не один конкретно). 3. Будет ли поддержка штатного поля БП3.0 "цена продажи" у номенклатуры? Сейчас вся номенлкатура выгружается без цен.
Александр Денисюк написал: Модуль не может быть простой и подходить сразу всем. Если делать кучу опций, то он станет сложным для настройки. Мы смотрим по запросам клиентов. Если многим тот или иной функционал нужен - реализуем. Десятки клиентов просили, чтобы контактные лица выгружались.
Я понимаю что вы хотите сказать, но вы тоже, надеюсь, понимаете что описан простой кейс любого обычного малого бизнеса, а не какие то хитрые интеграции.
В малом бизнесе, где 3 менеджера и бухгалтер, используется Б24 + 1С БП, вы врядли найдете менеджеров, которые работают c контактом клиента одновременно в Б24 и в 1С, плюс еще платит за дополнительные клиентские лицензии 1С. У нас менеджеров больше, но уверяю вас никто даже не знает что там есть какие то контактные данные в 1С. А вот когда оно в Б24 всё повылазит, тогда начнут выть о дублях.
Сводка Минусы текущего решения (принудительной выгрузки контактных лиц)) Риск дубликатов контактов в справочнике Б24 Загружаем непроверенные данные (ФИО из ЕГРЮЛ без контактной информации, либо с устаревшей или непроверенной) Дергаем REST понапрасну, тратим время и ресурсы портала на обмен и синхронизацию информации которая не нужна. Тратим время на ручную обработку дубликатов на стороне Б24 Обходные решения - создают еще больше проблем - (выгружать контрагентов-юрлица в Контакты Б24 - будет кошмар, просто потому что нарушает логику системы. чертыхаться с фильтрами - тоже не рабочее решение)
Плюсы: Кто то из клиентов просил, не понятно для каких кейсов..
Решение: Иметь возможность настроить - выгружать\не выгружать контактные лица контрагентов в Б24.
Итого, логику и здравый смысл я уже как мог озвучил, надеюсь вы найдете возможность рассмотреть этот простой кейс. Спасибо.
Александр Денисюк написал: Это не относится к модулю, а к самому Б24. Нужно переделывать саму форму в Б24 счета. Это вроде как делают сейчас..
В счетах Б24 сейчас реализована поддержка генератора документов и отображение списка сгенерированных документов, наподобие ленты. Насколько я вижу на стороне Б24 всё уже есть. На стороне модуля только бы сделать...
Цитата
Александр Денисюк написал: 3. Кнопка открыть в Б24 не работает для контактов с "#" - урл неправильный тогда.Проверил. У меня ошибка не моделируется.
Смотрите, у контакта в последнем апдейтах в ID может быть # При нажатии отктыть - это поле подставляется в URL, получается адрес вида контакт не откроется. Потому что правильный URL без решетки .
Цитата
Александр Денисюк написал: Не планируется. Для этого есть модуль 1С:Синхронизация
Бэк офис - выгружает печатные формы, но не создает сущности "Счет". По нему нельзя делать автоматизации и роботов, связанных с оплатами. Синхронизация - выгружает сущности, но не теряет печатную форму. Получается в простейшей задаче - "Хочу выгрузить документ и печатную форму и отправить клиенту" сейчас надо либо оба модуля ставить, либо пытаться продублировать форму еще и на стороне конструктора Б24 (что довольно трудно, поскольку возможности ограничены)
Цитата
Александр Денисюк написал: Так наиболее оптимально. Большинству так удобнее. Если не хотите, чтобы контактные лица не выгружались - можете выгружать юр лица и физ лица в контакты. Тогда контактные лица выгружены не будут.
Не понятно в чем оптимальность? В ЕГРЮЛ чаще нет контактных данных (телефоны почты) директоров только ФИО. Мы понимаем что работа с клиентом ведется в CRM и там всё для этого есть - интеграция телефонии, почты, лидогенерация, месенеджеры. Вообще счет выставляется уже после того как с клиентом связались - значит уже есть какая то карточка и какие то данные, в Б24 уже есть всё заполненное менеджерами. И вот при обмене с 1с начинают выгружаться мертвые контактные лицы (без контактных данных), которые еще и будут дублировать существующие, в случае ошибки сопоставления.
Очевидно это мусор, и если есть кому он нужен - пусть влючают. Но что делать тем кому мусор не нужен?
Предложение выгружать физлица и юрлица в контакты - понять не могу... Правильно я вас услышал, для B2B бизнеса вы предлагаете из 1С контрагентов, юридические лица всякие ООО Ромашка выгружать в справочник "Контакты" Б24?