Загрузка из 1С вложения в документ MULTIDOC
-
- Повідомлень: 24
- З нами з: 11 вересня 2020, 16:21
Загрузка из 1С вложения в документ MULTIDOC
Доброго дня!
Хотелось бы создать обработку для группового создания из 1С Универсальных документов (шаблон MULTIDOC).
Читаю документацию, и не могу найти, как при создании можно передать в документ вложение.
Сохранить у себя можно через GetAppendixSign(), а вот как наоборот, передать вложение в Медок?
Хотелось бы создать обработку для группового создания из 1С Универсальных документов (шаблон MULTIDOC).
Читаю документацию, и не могу найти, как при создании можно передать в документ вложение.
Сохранить у себя можно через GetAppendixSign(), а вот как наоборот, передать вложение в Медок?
Re: Загрузка из 1С вложения в документ MULTIDOC
AddAppendix()
-
- Повідомлень: 24
- З нами з: 11 вересня 2020, 16:21
Re: Загрузка из 1С вложения в документ MULTIDOC
Скажите пожалуйста, а поле "ID" для ИД документа в 1С у него есть?
Или только те поля, которые видны в документе?
Или только те поля, которые видны в документе?
Re: Загрузка из 1С вложения в документ MULTIDOC
1) exdocid = Строка(Документ.УникальныйИдентификатор()); //узнать ИД документа в 1С. Далее используем его в функции создания документа (и проверки статуса).
2) Передать в Медок можно любые поля, которые в конструкторе шаблона справа (т.е. не только видимые) по имени поля.
2) Передать в Медок можно любые поля, которые в конструкторе шаблона справа (т.е. не только видимые) по имени поля.
-
- Повідомлень: 24
- З нами з: 11 вересня 2020, 16:21
Re: Загрузка из 1С вложения в документ MULTIDOC
Это понятно.Inkognito писав: ↑06 листопада 2020, 12:071) exdocid = Строка(Документ.УникальныйИдентификатор()); //узнать ИД документа в 1С. Далее используем его в функции создания документа (и проверки статуса).
2) Передать в Медок можно любые поля, которые в конструкторе шаблона справа (т.е. не только видимые) по имени поля.
Пытаюсь заполнить контрагента.
Код: Виділити все
Если ЗначениеЗаполнено(СокрЛП(СведенияОПокупателе.КодПоЕДРПОУ)) Тогда
rsMain.Fields.Item("SIDE_SHORTNAME_K").Value = СокрЛП(Документ.Контрагент.Наименование);
rsMain.Fields.Item("SIDE_EDRPOU_K").Value = СокрЛП(СведенияОПокупателе.КодПоЕДРПОУ);
Сообщить(СокрЛП(СведенияОПокупателе.КодПоЕДРПОУ));
Иначе
rsMain.Fields.Item("SIDE_SHORTNAME_K").Value = СокрЛП(Документ.Контрагент.Наименование);
rsMain.Fields.Item("SIDE_EDRPOU_K").Value = СокрЛП(СведенияОПокупателе.КодПоДРФО);
Сообщить(СокрЛП(СведенияОПокупателе.КодПоДРФО));
КонецЕсли;
Подскажите пожалуйста, что не так
Re: Загрузка из 1С вложения в документ MULTIDOC
Если в "Реестре первичных документов" в полях ЕДРПОУ/Наименование (контрагента) отображаются значения, значит передали верно, и в документе просто другие поля отображаются. А если и в "Реестре первичных документов" не отображаются данные контрагента, то это уже мистика - может метод Post() и/или Save() не вызваны в конце кода?
-
- Повідомлень: 24
- З нами з: 11 вересня 2020, 16:21
Re: Загрузка из 1С вложения в документ MULTIDOC
Вот полный код процедуры и скрин того, что заполнилось.
Затык именно с полем "Контрагент". Не заполняется ни в документе, ни в журнале
Код: Виділити все
Процедура Формирование_MULTIDOC (App, pd, orgId, Документ, Бланк, ИД)
Попытка
Doc = pd.OpenOrCreateDocument(orgId, Бланк, , , ИД, 0);
Попытка
Doc.DisableScripts();
Исключение
Сообщить(НСТР("ru = 'Не подключена возможность передачи данных между M.E.Doc и Вашей учетной системой. С условиями подключения можно ознакомиться в разделе «Інтеграція» в M.E.Doc'; uk = 'Не підключено можливість передачі даних між M.E.Doc та Вашою обліковою системою. З умовами підключення можливо ознайомитись у розділі «Інтеграція» в M.E.Doc'"));
ВызватьИсключение
КонецПопытки;
СведенияОПокупателе = обПолучитьРеквизитыКонтрагента(Документ.Контрагент, Документ.Дата);
СведенияОПоставщике = обПолучитьРеквизитыФирмы(Документ.Фирма, Документ.Дата);
rsMain = Doc.DataSets();
rsMain.Edit();
rsMain.Append();
rsMain.Post();
ДатаДокумента =Документ.Дата;
rsMain.Fields.Item("DOCDATE").Value = ДатаДокумента;
rsMain.Fields.Item("NUM").Value = ПолучитьНомерНаПечать(Документ);
rsMain.Fields.Item("FIRM_NAME").Value = СокрЛП(СведенияОПоставщике.ПолноеНаименование);
rsMain.Fields.Item("FIRM_EDRPOU").Value = СокрЛП(СведенияОПоставщике.КодПоЕДРПОУ);
Если ЗначениеЗаполнено(СокрЛП(СведенияОПокупателе.КодПоЕДРПОУ)) Тогда
rsMain.Fields.Item("SIDE_SHORTNAME_K").Value = СокрЛП(Документ.Контрагент.Наименование);
rsMain.Fields.Item("SIDE_EDRPOU_K").Value = СокрЛП(СведенияОПокупателе.КодПоЕДРПОУ);
Сообщить(СокрЛП(СведенияОПокупателе.КодПоЕДРПОУ));
Иначе
rsMain.Fields.Item("SIDE_SHORTNAME_K").Value = СокрЛП(Документ.Контрагент.Наименование);
rsMain.Fields.Item("SIDE_EDRPOU_K").Value = СокрЛП(СведенияОПокупателе.КодПоДРФО);
Сообщить(СокрЛП(СведенияОПокупателе.КодПоДРФО));
КонецЕсли;
rsMain.Fields.Item("DOC_NAME").Value = "РН "+ПолучитьНомерНаПечать(Документ);
rsMain.Post();
Doc.Save();
Исключение
КонецПопытки
КонецПроцедуры
-
- Повідомлень: 24
- З нами з: 11 вересня 2020, 16:21
Re: Загрузка из 1С вложения в документ MULTIDOC
Если не заполнять поле SIDE_SHORTNAME_K, то перед открытием выгруженного документа код ОКПО виден в журнале электронных документов, потом исчезает
-
- Повідомлень: 24
- З нами з: 11 вересня 2020, 16:21
Re: Загрузка из 1С вложения в документ MULTIDOC
Да! В справочнике Медка такой контрагент есть, ручным поиском в справочнике по ОКПО находит
-
- Повідомлень: 24
- З нами з: 11 вересня 2020, 16:21
Re: Загрузка из 1С вложения в документ MULTIDOC
Почему не выбирается из справочника по передаваемому значению? Вручную выбирается, через СОМ - нет.
Не тот тип? Принудительно назначал тип "Строка".... тоже не идет.
Не нравится длина строки? У меня восемь символов, поле - 10. Добавлял в конце два пробела, тоже нет.
Возможно, можно принудительно выбрать из справочника через BEFORE_SPR ?
Не тот тип? Принудительно назначал тип "Строка".... тоже не идет.
Не нравится длина строки? У меня восемь символов, поле - 10. Добавлял в конце два пробела, тоже нет.
Возможно, можно принудительно выбрать из справочника через BEFORE_SPR ?