Обновление в 1С по неявным параметрам

Здравствуйте!

Есть настроенная интеграция ТС + 1С, которая добавляет и обновляет данные в 1С по UID1C. К примеру Накладные в ТС и Накладные в 1С. Счета в ТС и Счета в 1С.
А вот как обновить, к примеру, в 1С Накладную (Реализация (акты, накладные)) установить галочку Подписан, а источник в ТС Продажа, также булевское поле Подписана.
В первом случае все просто - там всегда в 1С из ТС добавляется новая запись со связью по UID1C. И по этому UID1C можно затем обновлять данные в 1С.
В случае Продаж новые записи из ТС в 1С (и обратно) не попадают. Единственное, по какому признаку можно их связать - это номер Продажи в ТС (Пример: "П345") и комментарий в накладной 1С ("Продажа номер П345-06072015").
Как можно в этом случае поставив галочку в ТС в Продаже "Подписана", чтобы накладная в 1С была Подписана (установлена галочка Документ подписан).

Нравится

5 комментариев

Пример установки галочки в TS для компонента BoolDataControl с помощью sql запрос:

UPDATE tbl_Opportunity SET [Название поля] = 1 {WHERE [Условие отбора]}

Где

  • 1 = true (галка установлена)
  • 0 = false (галка не установлена)

Нет, в ТС ничего программно обновлять не надо.
Процесс такой:
Пользователь (менеджер) в ТС в Продаже в ручную ставит галочку "Подписана".
В 1С программно (возможно через скрипт в OnBeforeRecordExport) в нужной (связанной с этой Продажей) Накладной ставится галочка "Документ подписан".

Связь между Продажей (ТС) и Накладной (1С):
Продажа - Номер (Пример: "П345").
Накладная - Комментарий (Пример: "Продажа номер П345-0607201")

Как пример может быть Накладную (1C) можно выбрать кодом 1С?:

ВЫБРАТЬ РТУ.Проведен ИЗ
       Документ.РеализацияТоваровУслуг КАК РТУ
       ГДЕ РТУ.Комментарий ПОДОБНО "П345%"

Только как это реализовать в OnBeforeRecordExport?

А ещё можно было бы сделать очень просто:

ОБНОВИТЬ Документ.РеализацияТоваровУслуг SET Проведен = "1"
       ГДЕ Комментарий ПОДОБНО "П345%"

(где "Проведен" и есть "Документ подписан".)
Только 1С такого делать не позволяет.

Или как-то их попытаться сначало связать по UID1C?

Добавьте в таблицу Продажи (TS) поле UID1C с типом идентификатор, в котором будете хранить идентификатор с таблицы Накладная (1C) и работайте через него, это будет намного проще и избавит Вас от потенциальных ошибок

Поле UID1C в таблице Продажи (TS) присутствует. Каким образом связать это поле с идентификатором с таблицы Накладная (1C), если есть только вышеперечисленные условия (Номер Продажи - Комментарий 1С)?

Есть несколько вариантов:

  1. 1. Из TS в 1C (данные создаются в TS)
  2. При выполнении импорта из TS значение в поле UID1C таблицы Продажи (TS) отсутствует. В момент создания новой записи в 1C, мы запоминаем сгенерированное значение ID для таблицы Накладная (1C), после чего подставляем это значение в поле UID1C таблицы Продажи (TS)

  3. 2. Из 1C в TS (данные создаются в 1C)
  4. При выполнении экспорта данных из 1C в TS, мы уже знаем идентификатор в 1C. по этому сразу можем подставить значение в поле UID1C таблицы Продажи (TS)

  5. 3. Можно использовать шлюзовые таблицы для обмена данными между 1C и TS
Показать все комментарии