В презентации Terrasoft XRM Distribution на слайде под названием "Интеграция с 1С" встретил следующую фразу:
"Возможность поднятия окон 1С в Terrasoft"

Я знаю, что в базовом функционале Террасофт нет примера реализации этой функциональности.

Кто-то имел дело с открытием окон 1С из Террасофт? Когда это может пригодиться? Может есть какие-то жизненные примеры и как это реализуется.

Интересует версия 1С 8.1, 8.2, можно написать и по 7.7.

Нравится

2 комментария

Возможно, это поможет?

"Зверев Александр" написал:Возможно, это поможет?

Александр, спасибо за полезную ссылку, думаю пригодиться.

Показать все комментарии

Добрый день, хочу поделиться с вами скриптом, который помогает при разработке.
В данном скрипте, написаны часто используемые и полезные функции по работе с

  • Данными
  • Окнами
  • Бизнес процессы
  • И другие

Работа с данными
При работе с данными основными операциями являются - получить данные и записать.
Что бы каждый раз не писать для этого код, встречайте:
GetDatasetValue - для получения одного значения
GetDatasetValues - для получения множества значений
SetDatasetValue - для записи одного значения
SetDatasetValues - для записи множеств значений

Пример: необходимо получить имя контакта по его ID.
Для этого нужно написать вот такую функцию и вызвать ее.

function GetContactName(ContactID) {
        var Dataset = Services.GetNewItemByUSI('ds_Contact');
        ApplyDatasetFilter(Dataset, 'ID', ContactID, true);
        Dataset.Open();
        var Name = Dataset('Name');
        Dataset.Close();
        return Name;
}

function Main() {
        var SupervisorID = '{251FB9AC-C17E-4DF7-A0CB-D591FDB97462}';
        var Name = GetContactName(SupervisorID);
}

Но можно избежать написания функции GetContactName, используя GetDatasetValue,
тогда весь код для получения имени контакта станет вот таким

function Main() {
        var SupervisorID = '{251FB9AC-C17E-4DF7-A0CB-D591FDB97462}';
        var Name = GetDatasetValue('ds_Contact', SupervisorID, 'Name');
}

В GetDatasetValue написан уже код для получения значения.
Таким образом, мы сэкономили время на разработку и избавились от монотонной работы.

Для изменения контакту имени, мы будем использовать SetDatasetValue

SetDatasetValue('ds_Contact', ContactID, 'Name', NewName);

Здесь и фильтрация по ID записи и запись значения, все в одной строке.

Работа с окнами
При работе с окнами, часто возникает необходимость подключать детали в карточку редактирования.
Для этого, разработана функция которая это делает очень легко - IncludeDetailEdit
Для примера подключим деталь договоров в карточку продажи.
Все это опишем в одном методе IncludeDetails.

function IncludeDetails() {
        var Dataset = dlData.Dataset;
        var RecordID = Dataset('ID');  
        IncludeDetailEdit(wndContract, 'ds_Contract', 'OpportunityID', RecordID);
}

Нужно указать контейнер окна (WindowContainer) содержащий реестр договоров, датасет, поле для фильтрации договоров и ID записи по которой будем фильтровать.

Бизнес процессы
Работа каждого бизнес процесса начинается с его запуска, для этого будем использовать RunWorkflow

Запуск процесса с передачей в диаграмму контакта и контрагента.
Если вам ничего не потребуется передавать, тогда заполнять второй параметр не обязательно.

function StartProcess() {
        var Dataset = dlData.Dataset;
        var ContactID = Dataset('ContactID');
        var AccountID = Dataset('AccountID');
       
        RunWorkflow('wd_Sales', {
                'ContactID' : ContactID,
                'AccountID' : AccountID
        });
}

Нужно указать USI диаграммы и набор передаваемых параметров в диаграмму.
Параметры должны быть у виде объекта, где имя свойства будет равным имени параметра.

Это только маленькое описание по часто используемым функциям.

Нравится

Поделиться

0 комментариев
Показать все комментарии

Добрый день. Столкнулся с со следующей проблемой при импорте строк банковской выписки из 1С в Terrasoft CRM:

В функции OnBeforeRecordImport хочу проверить некоторые данные на основание которых принимается решение делать импорт строки или нет. Однако не все данные удается получить:

Например эти данные определяются:

Select1C.Содержание
"Оплата за оренду  згідно дог. № 221-10/Ар від 05. 02.2008 р.  у т.ч. ПДВ - 1166.67 грн."
Select1C.Заказ.Контрагент.Наименование
"Простір-Інформ"
Select1C.СуммаПлатежа
7900
Select1C.НомерСтроки
1
Select1C.НомерСтрокиДокумента
1

А вот эти нет, хотя они в документе 1С есть:

Select1C.НДС
undefined
Select1C.ПриходРасход
undefined
Select1C.ДокументЗаказ
undefined
Select1C.СуммаСНДС
undefined
Select1C.Счет
undefined
Select1C.ВидПриходаРасхода
undefined

Подскажите в чем может быть дело?

Нравится

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

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

Сталкивался с таким однажды. Попробуйте добавить эти поля в настройках соответствия, при чем соответствия со стороны Террасофта не назначайте - проблема должны исчезнуть.

Спасибо, уже сам разобрался, проблема была именно в этом.
Однако возникла другая проблема:
Мне нужно определить номер документа (договора или счета-фактуры) который привязан к данной строке банковской выписки в поле Заказ. Однако когда я пытаюсь получить его то поле Select1C.Заказ.Номер или Select1C.Заказ.Дата (дата документа) не определено:

Select1C.Заказ.Дата
undefined
undefined
undefined
Select1C.Заказ.Номер
undefined
undefined
undefined

в то же время например имя контрагента из документа я получить могу:

Select1C.Заказ.Контрагент.Наименование
"Українська дистрибуційна компанія"
"Партия Регионов"
"Кока-Кола Бевеpiджиз Укpаїна Лімітед"

А в родительской интеграции эти поля вытянуты?

Определяется ли Select1C.Заказ.Ссылка либо Select1C.Заказ.Наименование?

В родительской интеграции этих полей нет. Это атрибуты табличной части.
Давайте я вам несколько скриншотов выложу чтоб понятней было...

Проверьте свойства реквизитов "Заказ"а.

Также попробуйте найти документ заказа, а потом обратится к его реквизитам:

НайтиДокумент(ТекущийДок.СсылкаНаДокОсн)

Из всех реквизитов "Заказ"а доступен почемуто только "Контрагент":

Select1C.Заказ.Контрагент
{...}
Select1C.Заказ.Документ
undefined
Select1C.Заказ.Номер
undefined
Select1C.Заказ.Дата
undefined
Select1C.Заказ.Сумма
undefined

По поводу найти документ: Дмитрий я не совсем понял как это сделать... Нужно сначала создать какой-то объект 1С для поиска?

Попробуйте так:

var Number = null;
var Zakaz = Param.Obj1C.Документы.Заказ;
var ZakazViborka = Zakaz.Выбрать(null, Select1C.QueryLink.Ссылка);
//или
//var ZakazViborka = Zakaz.Выбрать(null, Select1C.Ссылка);
while(ZakazViborka.Следующий())
{
     Number = ZakazViborka.Номер;
}

Ошибки выдает. Если смотреть в дебагере:

Select1C.QueryLink
undefined
Select1C.Ссылка
undefined
Param.Object1C.Документы
undefined
Param.Object1C.Заказ
""

Валентин, даже не знаю, наверное потребуется удаленное подключение к Вашему рабочему месту.

Предлагаю Вам написать о проблеме на support@terrasoft.ru чтобы мы зарегистрировали обращение, и запланировали данный сеанс.

Дмитрий, спасибо уже разобрался. Оказывается нужно внимательней изучать имена реквизитов документа :-)

Показать все комментарии

Добрый день!
Настроил экспорт счетов из Terrasoft в 1С. Интеграция запускается по расписанию, раз в 2 часа.
Иногда нужно при создании счета в TS сразу отправить его в 1С.
Подскажите, пожалуйста, можно ли как-то запустить интеграцию для конкретной записи, чтобы остальные счета не трогать?

Нравится

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

Здравствуйте, Дмитрий!

Данный вопрос рассматривался в следующей теме: http://www.community.terrasoft.ru/forum/topic/8615

Пожалуйста, сообщите, если у Вас возникнут дополнительные вопросы.

Анна, спасибо за ответ.
А нет возможности запустить уже настроенную интеграцию, но возможно с каким-то параметром, например ID счета?

Здравствуйте, Дмитрий!

Да, возможно, пример описан тут:

http://www.community.terrasoft.ru/blogs/7632

Добрый день!
Анна, еще немного уточню вопрос. Можно ли запускать настроенную интеграцию из скрипта, например чтобы при при нажатии на кнопку в разделе "Счета" выбранный счет уходил в 1С?

Здравствуйте, Дмитрий!

Да, можно, но тогда без wnd_Autorun1C. Следует вызвать функцию ExportObject и передать в нее идентификатор записи. К скрипту, откуда мы ее вызываем, нужно будет подключить scr_Dataflow1CUtils

var Attr = GetNewDictionary();
Attr('#ID#') = RecordID;
ExportObject(null, DataflowID, ObjectID, Attr);

DataflowID - идентификатор синхронизации в разделе Интеграции;
ObjectID - идентификатор настроенной интеграции с определенной сущностью в конкретной интеграции;
RecordID - идентификатор создаваемой записи.

Большое спасибо, Анна. Попробую.

Показать все комментарии

Добрый день!
Стоит задача интеграции Terrasoft XRM Distribution с 1С: Бухгалтерия 8.
Допустим в 1С создали документ «Реализация товаров и услуг», в которой добавили и товары и услуги. Теперь нужно перенести его в Terrasoft.
В Terrasoft товары списываются складским документом с типом «Расходная накладная», а услуги реализованы разделом «Документы» с типом «Акт приема/передачи».
Подскажите, пожалуйста, каким образом поступаете в данной ситуации, как настроить импорт реализаций?

Нравится

4 комментария

Здравствуйте, Дмитрий.

Вы можете либо создавать один документ "Расходная накладная" и списывать в нем как продукты так и услуги, возможно добавив для продуктов с типом услуга какой либо доп. признак в Террасофте.
Либо создавать два документа, в один записывать товары, в другой - услуги.
Всю логику, разумеется, Вам необходимо будет написать в скриптах интеграции.

Спасибо. А есть какой-нибудь пример скрипта, как при импорте создать 2 документа?

Дмитрий, примера, к сожалению нет. Попробую для Вас написать примерный алгоритм:

Нa событии OnBeforeRecordImport подчиненной интеграции (в рамках которой вы импортируете табличную часть документа, т.е. продукты и услуги) необходимо определить тип продукта и
номер документа «Реализация товаров и услуг» в 1с.

Далее, получаем датасет складских документов, и фильтруем его по типу «Расходная накладная» и по номеру из 1с, если такого документа нет: создаем новый, после чего получаем его ID и добавляем продукты с типом товар в датасет продуктов в складском документе.
Параллельно фильтруем датасет складских документов по типу «Акт приема/передачи» и по номеру из 1с, если такого документа нет: создаем новый.

В обеих случаях - если такой документ уже есть - создавать новый не нужно, просто получаем его ID, и добавляем методом Append() товары/услуги в датасет продуктов в складском документе.

Спасибо. Буду пробовать.

Показать все комментарии

Добрый день, собственно вопрос в теме.
CRM ver 3.4.0
1C ver 7.7

Нравится

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

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

А в 1С разве нету поля сумма счета, которая равна сумме всех продуктов в табличной части?
Если нет, тогда только конфигурационно: в скрипте подчиненной интеграции(импорт табличной части), на событии OnBeforeRecordImport складывать суммы всех продуктов в какую либо переменную,
а на OnAfterImport записать куда либо в CRM.

Я такого поля не нашел, но может плохо искал т.к. 1С только начал изучать...
Можно привести пример кода того как высчитать сумму документа по его деталировке?

Здравствуйте, Валентин.

В 1С сумма считается программно, как сумма всех продуктов в табличной части, т.е. по факту действительно, сумма счета не хранится в каком либо поле в шапке объекта "Счет".

1

Проще всего провести импорт, а после уже импорта, заполнить сумму счета:

function FillSummOfInvoices()
{
var InvDataset= Services.GetNewItemByUSI('ds_Invoice');
var OffOfInvDataset = Services.GetNewItemByUSI('ds_OfferingInInvoice');
InvDataset.Open();
InvDataset.GotoFirst();
while(!InvDataset.IsEOF)
{
var InvoiceID = InvDataset('ID');
ApplyDatasetFilter(OffOfInvDataset, 'InvoiceID', InvoiceID, true);
OffOfInvDataset.Open();
OffOfInvDataset.GotoFirst();
var SumTotal = 0;
while(!OffOfInvDataset.IsEOF)
{
SumTotal = SumTotal + OffOfInvDataset('TotalAmount'); //где TotalAmount - поле суммы по продукту в счете
OffOfInvDataset.GotoNext();
}
InvDataset.Edit();
InvDataset('TotalAmount') = SumTotal; // где TotalAmount - поле суммы счета
InvDataset.Post();
InvDataset.GotoNext();
}
}

Спасибо Дмитрий! Я в этом направлении и начал копать, но столкнулся с тем что не импортируются строки счета-фактуры в CRM. Выкладываю скриншоты настройки импорта...

Валентин, по настройкам, вроде-бы все ок, ну а причину, кончено, сказать сложно...

Вот если бы Вы дали свою БД 1с + выгрузили Вашу настройку интеграции...

Насколько я понял у Вас 7.7 - недавно настраивал как раз интеграцию счетов + номенклатура (правда экспорт), вложу Вам данную интеграцию как вложение - попробуйте её загрузить и использовать как пример.

Спасибо, попробую - отпишусь.

Показать все комментарии

Terrasoft CRM 3.4.1
При синхронизации стало вылезать окно, что запись дублируется:

Идет синхронизация контрагентов по коду и по ИНН, эти поля у записей в 1С и террасофте совпадают, т.е. должно идти обычное обновление/изменение записи.
Но даже если я закрываю появившееся окно, или нажимаю "Сохранить новую запись", новая запись не появляется, а старая спокойно обновляется, т.е. от этого окна мне нет толка. А при автоимпорте точно также вылезает это окно, но так как происходит фоново, то я этого не вижу, а автосинхронизация дальше не идет.
Как сделать чтобы оно не выводилось, т.е. в каком скрипте, какую строчку закомментировать или же можно обойтись нескриптовыми средствами?

Нравится

1 комментарий

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

В настройках поиска дублей попробуйте удалить правило, которое завязано на раздел "Контрагенты".
В дальнейшем, его, конечно же, можно будет легко и быстро заново создать.

Показать все комментарии
Вопрос

На базе конфигурации ЦТО, была реализована следующая логика работы Terrasoft - 1С 8.2

1. В конфигурацию 1С загружаются необходимые области из КЛАДР. Terrasoft загружает данные КЛАДР из 1С в новые справочники и использует их в необходимых модулях.

2. Двухсторонняя синхронизация модуля Контрагенты, которая включает в себя:
Контрагент (Все поля карточки + КЛАДР), Контакты (все контакты данного контрагента с необходимыми реквизитами. Тел, адрес, почта и т.д.), ИНН + Банковские реквизиты один или несколько расчетных счетов (расчетный счет, КПП, ОГРН и т.д.) + синхронизация банков с адресами по КЛАДР.

В данной синхронизации существует как первичная выгрузка данных так и постоянный обмен при изменении записей в системах.

3. Двухсторонняя синхронизация номенклатуры в включает в себя:
Продукты Terrasoft (Все необходимые поля карточки) + единицы измерения данного продукта, Прайс-листы продуктов формируются исходя из документа ценообразования в 1С и привязывается к продукту Terrasoft.

4. Выгрузка списка складов из 1С

5. Выгрузка остатков товара:
Остатки по товарам выгружаются согласно накоплениям по регистрам из 1С, а так же существует обрезка по проверке последних актуальных данных остатков и догрузка их в Terrasoft.

6. Выгрузка выставленных счетов из Terrasoft в 1С:
Счет в Terrasoft формируется в состоянии "подготовлен", после добавляются продукты в счет и при изменении состояния "получен клиентам" происходит:
а. Выгрузка счета в 1С.
б. Формирование первичных документов на основании счета (Товарная накладная, акт выполненных работ), если в счете присутствуют два типа продукта (товар или услуга) они автоматически привязываются к своим документам (товарная накладная или акт выполненных работ соответственно). Документы формируются в состоянии "подготовлен".

7. Выгрузка первичных документов из Terrasoft в 1С:
При изменении состояния документа (Товарная накладная или Акт выполненных работ) на "получен клиентом" выполняется следующая логика:
а. Terrasoft выгружает данный документ с необходимыми реквизитами для проводок данного документа включая проводки по счетам. В случае если созданный документ не может быть проведен по какой либо причине (Нехватка остатков), Terrasoft выдает сообщение об ошибке, и состояние данного документа изменяется на "не проведен" в Terrasoft и 1С (Реализация товаров и услуг). В случае успешного проведения создается документ "Реализация товаров и услуг" с необходимыми проводками по счетам и основным договорам контрагента.
б. При изменении документов в Terrasoft, в 1С отменяется проводка данного документа до изменения его на состояние "получен клиентом". Т.е. происходит перепроводка документа.
в. Также можно изменить начальный документ, т.е. счет, тогда будут пересчитаны все дочерние документы (Товарная накладная или Акт выполненных работ) и перепроведены в 1С.
г. Можно создать документы любого типа вручную и на них будет действовать вся логика синхронизации в зависимости от типа документа.

8. Оплата выставленных счетов в 1С:
а. При формировании платежного поручения в 1С (поступление денег на расчетный счет) есть возможность указать по какому счету была произведена оплата, тогда в Terrasoft создается операция с типом "приход" и у данного контрагента формируется финансовая часть на странице Контрагента. Так же счет на основании которого была произведена оплата изменяет состояние на оплачен.
б. В случае если в 1С не привязан счет, тогда формируется операция "Приход" и изменяется финансовая часть Контрагента.
в. Все операции формируются на расчетный счет организации т.к. операции наличной оплаты формируются другим способом. Таким образом страница финансов у контрагента содержит список неоплаченных счетов и информацию по задолженности как общей так и с расшифровкой по платежам.
г. При не полной оплате счета счет принимает состояние "частично оплачен" пока не будет произведена полная оплата, тогда к счету будет привязано несколько операций прихода.

9. Оплата наличными в Terrasoft или Касса в в 1С:
В Terrasoft формируются операции с типом "Приход/Расход" на основании этого в 1С формируются приходные или расходные кассовые ордера с проводками согласно типу операций. На данный момент реализованы следующие типы операций:
1. Поступление от покупателей
2. Выдача подотчетному лицу
3. Выдача заработной платы
4. Взнос наличными в банк (трансфер на расчетный счет)
Реализована функция проверки проводки документа и отмены проводки документа. Вся касса введется в Terrasoft.

10. Работа склада в Terrasoft:

Вариант 1:
Из Terrasoft в 1С
Приходная накладная - Приходная накладная
Расходная накладная - Расходная накладная
Перемещение - Перемещение товара
Инвентаризация склада - Инвентаризация склада
Синхронизация остатков по актуальности даты
и т.д.

Вариант 2:
Из Terrasoft в 1С
Приходная накладная - Поступление товара
Расходная накладная - Реализация товаров и услуг
и т.д.

Нравится

0 комментариев
Показать все комментарии
Вопрос

На базе конфигурации ЦТО, была реализована следующая логика работы Terrasoft - 1С 8.2

1. В конфигурацию 1С загружаются необходимые области из КЛАДР. Terrasoft загружает данные КЛАДР из 1С в новые справочники и использует их в необходимых модулях.

2. Двухсторонняя синхронизация модуля Контрагенты, которая включает в себя:
Контрагент (Все поля карточки + КЛАДР), Контакты (все контакты данного контрагента с необходимыми реквизитами. Тел, адрес, почта и т.д.), ИНН + Банковские реквизиты один или несколько расчетных счетов (расчетный счет, КПП, ОГРН и т.д.) + синхронизация банков с адресами по КЛАДР.

В данной синхронизации существует как первичная выгрузка данных так и постоянный обмен при изменении записей в системах.

3. Двухсторонняя синхронизация номенклатуры в включает в себя:
Продукты Terrasoft (Все необходимые поля карточки) + единицы измерения данного продукта, Прайс-листы продуктов формируются исходя из документа ценообразования в 1С и привязывается к продукту Terrasoft.

4. Выгрузка списка складов из 1С

5. Выгрузка остатков товара:
Остатки по товарам выгружаются согласно накоплениям по регистрам из 1С, а так же существует обрезка по проверке последних актуальных данных остатков и догрузка их в Terrasoft.

6. Выгрузка выставленных счетов из Terrasoft в 1С:
Счет в Terrasoft формируется в состоянии "подготовлен", после добавляются продукты в счет и при изменении состояния "получен клиентам" происходит:
а. Выгрузка счета в 1С.
б. Формирование первичных документов на основании счета (Товарная накладная, акт выполненных работ), если в счете присутствуют два типа продукта (товар или услуга) они автоматически привязываются к своим документам (товарная накладная или акт выполненных работ соответственно). Документы формируются в состоянии "подготовлен".

7. Выгрузка первичных документов из Terrasoft в 1С:
При изменении состояния документа (Товарная накладная или Акт выполненных работ) на "получен клиентом" выполняется следующая логика:
а. Terrasoft выгружает данный документ с необходимыми реквизитами для проводок данного документа включая проводки по счетам. В случае если созданный документ не может быть проведен по какой либо причине (Нехватка остатков), Terrasoft выдает сообщение об ошибке, и состояние данного документа изменяется на "не проведен" в Terrasoft и 1С (Реализация товаров и услуг). В случае успешного проведения создается документ "Реализация товаров и услуг" с необходимыми проводками по счетам и основным договорам контрагента.
б. При изменении документов в Terrasoft, в 1С отменяется проводка данного документа до изменения его на состояние "получен клиентом". Т.е. происходит перепроводка документа.
в. Также можно изменить начальный документ, т.е. счет, тогда будут пересчитаны все дочерние документы (Товарная накладная или Акт выполненных работ) и перепроведены в 1С.
г. Можно создать документы любого типа вручную и на них будет действовать вся логика синхронизации в зависимости от типа документа.

8. Оплата выставленных счетов в 1С:
а. При формировании платежного поручения в 1С (поступление денег на расчетный счет) есть возможность указать по какому счету была произведена оплата, тогда в Terrasoft создается операция с типом "приход" и у данного контрагента формируется финансовая часть на странице Контрагента. Так же счет на основании которого была произведена оплата изменяет состояние на оплачен.
б. В случае если в 1С не привязан счет, тогда формируется операция "Приход" и изменяется финансовая часть Контрагента.
в. Все операции формируются на расчетный счет организации т.к. операции наличной оплаты формируются другим способом. Таким образом страница финансов у контрагента содержит список неоплаченных счетов и информацию по задолженности как общей так и с расшифровкой по платежам.
г. При не полной оплате счета счет принимает состояние "частично оплачен" пока не будет произведена полная оплата, тогда к счету будет привязано несколько операций прихода.

9. Оплата наличными в Terrasoft или Касса в в 1С:
В Terrasoft формируются операции с типом "Приход/Расход" на основании этого в 1С формируются приходные или расходные кассовые ордера с проводками согласно типу операций. На данный момент реализованы следующие типы операций:
1. Поступление от покупателей
2. Выдача подотчетному лицу
3. Выдача заработной платы
4. Взнос наличными в банк (трансфер на расчетный счет)
Реализована функция проверки проводки документа и отмены проводки документа. Вся касса введется в Terrasoft.

10. Работа склада в Terrasoft:

Вариант 1:
Из Terrasoft в 1С
Приходная накладная - Приходная накладная
Расходная накладная - Расходная накладная
Перемещение - Перемещение товара
Инвентаризация склада - Инвентаризация склада
Синхронизация остатков по актуальности даты
и т.д.

Вариант 2:
Из Terrasoft в 1С
Приходная накладная - Поступление товара
Расходная накладная - Реализация товаров и услуг
и т.д.

Нравится

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

Александр, здравствуйте.
Не совсем понял, у Вас есть какие-то вопросы в рамках этой интеграции?

Вопросов нет, ждем Ваших...:smile:

Александр все что вы описали - это реализовано или вы хотите реализовать? если это реализовано поделитесь опытом синхронизации контрагентов между 1С и Террасофтом. Какой путь, подход, методы использовали для достижения результата. как отлеживали изменения как в террасофте так и в 1С, какие промежуточные хранилища использовали для анализа действительно изменились данные или человек в слове Михаил стер букву "и" и добавил "и". как методы инструменты использовали при первичной синхронизации Контрагентов. это и касается номенклатуры. В Номенклатуре меня интересует как синхронизировали Свойства и Характеристики Номенклатуры.

Здравствуйте, Михаил.

Думаю, Александр Вам обязательно ответит, пока дам Вам некоторые свои рекомендации.

1. Синхронизацию контрагентов можно провести штатным способом, с помощью мастера интеграции. С некоторыми реквизитами может возникнуть проблемы, в таком случае рекомендую импортировать/экспортировать его "точечно" в рамках скрипта интеграции.
2. В базовом функционале не возможно анализировать что именно были изменено. Просто сравнивается дата последнего обновления записи, и дата указанная в настройках интеграции, и соответственно, если дата посл. синхронизации < дата посл. обновления записи - запись импортируется/экспортируется. Дополнительный анализ необходимо реализовать самостоятельно.
3. По поводу характеристик номенклатуры, ИМХО, лучше всего реализовать импорт номенклатуры в рамках интеграции счетов, причем в "скриптовом" режиме.

Здравствуйте, Михаил.

Прошу прощения за долгий ответ...
Да у нас это уже все реализовано и полностью работает у заказчика. Что касаемо Ваших вопросов при синхронизации контрагентов между 1С и Террасофтом, использовали стандартную настройку со стороны TS для интеграции полей по умолчанию все остальное писалось скриптом, временное хранилище данных не использовали. по поводу изменения данных то TS сам неплохо отрабатывает событие по изменению. Со стороны 1С писалась своя обработка по выгрузке. При первичном импорте тоже самое, что касаемо выгрузке номенклатуры и цены сразу могу сказать, что лучше писать скрипт и не тратить время на настройки утилиты интеграции т.к. ценообразование в 1С довольна не простая штука и у каждой конфигурации она своя все зависит от целей проекта. Да "синхронизировали Свойства и Характеристики Номенклатуры". Хотел так же указать на один маленький нюанс, при синхронизации первичной документации (Товарной накладной, Актов и т.д.) лучше не использовать метод проводки документов стандартный (имею введу галочку в интеграции проводить документ). Т.к. он не выявляет ошибки при проводке документов, а написать свою функцию проводки документов с возможностью перехвата log ошибок и выдавать предупреждения пользователю (как пример нет товара в поступлении при списании).

Если есть еще вопросы пишите по возможности ответим можно сюда nemov.exe@gmail.com

P.S. На сегодняшний день пишем свой модуль для работы с базой TS через web.

Показать все комментарии

На базе конфигурации ЦТО, была реализована следующая логика работы Terrasoft - 1С 8.2

1. В конфигурацию 1С загружаются необходимые области из КЛАДР. Terrasoft загружает данные КЛАДР из 1С в новые справочники и использует их в необходимых модулях.

2. Двухсторонняя синхронизация модуля Контрагенты, которая включает в себя:
Контрагент (Все поля карточки + КЛАДР), Контакты (все контакты данного контрагента с необходимыми реквизитами. Тел, адрес, почта и т.д.), ИНН + Банковские реквизиты один или несколько расчетных счетов (расчетный счет, КПП, ОГРН и т.д.) + синхронизация банков с адресами по КЛАДР.

В данной синхронизации существует как первичная выгрузка данных так и постоянный обмен при изменении записей в системах.

3. Двухсторонняя синхронизация номенклатуры в включает в себя:
Продукты Terrasoft (Все необходимые поля карточки) + единицы измерения данного продукта, Прайс-листы продуктов формируются исходя из документа ценообразования в 1С и привязывается к продукту Terrasoft.

4. Выгрузка списка складов из 1С

5. Выгрузка остатков товара:
Остатки по товарам выгружаются согласно накоплениям по регистрам из 1С, а так же существует обрезка по проверке последних актуальных данных остатков и догрузка их в Terrasoft.

6. Выгрузка выставленных счетов из Terrasoft в 1С:
Счет в Terrasoft формируется в состоянии "подготовлен", после добавляются продукты в счет и при изменении состояния "получен клиентам" происходит:
а. Выгрузка счета в 1С.
б. Формирование первичных документов на основании счета (Товарная накладная, акт выполненных работ), если в счете присутствуют два типа продукта (товар или услуга) они автоматически привязываются к своим документам (товарная накладная или акт выполненных работ соответственно). Документы формируются в состоянии "подготовлен".

7. Выгрузка первичных документов из Terrasoft в 1С:
При изменении состояния документа (Товарная накладная или Акт выполненных работ) на "получен клиентом" выполняется следующая логика:
а. Terrasoft выгружает данный документ с необходимыми реквизитами для проводок данного документа включая проводки по счетам. В случае если созданный документ не может быть проведен по какой либо причине (Нехватка остатков), Terrasoft выдает сообщение об ошибке, и состояние данного документа изменяется на "не проведен" в Terrasoft и 1С (Реализация товаров и услуг). В случае успешного проведения создается документ "Реализация товаров и услуг" с необходимыми проводками по счетам и основным договорам контрагента.
б. При изменении документов в Terrasoft, в 1С отменяется проводка данного документа до изменения его на состояние "получен клиентом". Т.е. происходит перепроводка документа.
в. Также можно изменить начальный документ, т.е. счет, тогда будут пересчитаны все дочерние документы (Товарная накладная или Акт выполненных работ) и перепроведены в 1С.
г. Можно создать документы любого типа вручную и на них будет действовать вся логика синхронизации в зависимости от типа документа.

8. Оплата выставленных счетов в 1С:
а. При формировании платежного поручения в 1С (поступление денег на расчетный счет) есть возможность указать по какому счету была произведена оплата, тогда в Terrasoft создается операция с типом "приход" и у данного контрагента формируется финансовая часть на странице Контрагента. Так же счет на основании которого была произведена оплата изменяет состояние на оплачен.
б. В случае если в 1С не привязан счет, тогда формируется операция "Приход" и изменяется финансовая часть Контрагента.
в. Все операции формируются на расчетный счет организации т.к. операции наличной оплаты формируются другим способом. Таким образом страница финансов у контрагента содержит список неоплаченных счетов и информацию по задолженности как общей так и с расшифровкой по платежам.
г. При не полной оплате счета счет принимает состояние "частично оплачен" пока не будет произведена полная оплата, тогда к счету будет привязано несколько операций прихода.

9. Оплата наличными в Terrasoft или Касса в в 1С:
В Terrasoft формируются операции с типом "Приход/Расход" на основании этого в 1С формируются приходные или расходные кассовые ордера с проводками согласно типу операций. На данный момент реализованы следующие типы операций:
1. Поступление от покупателей
2. Выдача подотчетному лицу
3. Выдача заработной платы
4. Взнос наличными в банк (трансфер на расчетный счет)
Реализована функция проверки проводки документа и отмены проводки документа. Вся касса введется в Terrasoft.

10. Работа склада в Terrasoft:

Вариант 1:
Из Terrasoft в 1С
Приходная накладная - Приходная накладная
Расходная накладная - Расходная накладная
Перемещение - Перемещение товара
Инвентаризация склада - Инвентаризация склада
Синхронизация остатков по актуальности даты
и т.д.

Вариант 2:
Из Terrasoft в 1С
Приходная накладная - Поступление товара
Расходная накладная - Реализация товаров и услуг
и т.д.

Нравится

Поделиться

0 комментариев
Показать все комментарии