Необхідно визначити вид документу MULTIDOC, для вхідних документів, програмно. Наприклад, є список:
Питання:
1) Чи це взагалі можливо, наприклад методом GetPrimaryReestr() - або комбінацією з іншими
2) Якщо ні, то чи можливо отримати програмно значення з поля "Найменування" (на скріні - крайнє справа). Спробуємо визначати за вмістом.
MULTIDOC. Визначення виду
Re: MULTIDOC. Визначення виду
1. У меня получилось только через комбинацию GetPrimaryReestr с OpenDocument(ByCode/ByExDocID).
Из GetPrimaryReestr я беру идентификатор (CardCode/ExDocID), затем по нему открываю документ (OpenDocument) и через обращение к датасету открытого документа забираю значение поля DOC_NAME.
2. Наверно, практичнее всего было бы просто добавить поле DOC_NAME в возвращаемый GetPrimaryReestr'ом датасет.
Но конструкция выше работает исправно, хотя и довольно много действий требуется, чтоб просто извлечь наименование документа.
Из GetPrimaryReestr я беру идентификатор (CardCode/ExDocID), затем по нему открываю документ (OpenDocument) и через обращение к датасету открытого документа забираю значение поля DOC_NAME.
2. Наверно, практичнее всего было бы просто добавить поле DOC_NAME в возвращаемый GetPrimaryReestr'ом датасет.
Но конструкция выше работает исправно, хотя и довольно много действий требуется, чтоб просто извлечь наименование документа.
- Пріклад | Показать
- Різультат | Показать
Востаннє редагувалось 28 травня 2021, 14:54 користувачем Medoc Man, всього редагувалось 1 раз.
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: MULTIDOC. Визначення виду
В продовження теми: Тип "Інші документи" також необхідно ідентифікувати. Але вказаний код не спрацьовуює. Як визначити назву документу для типу "Інші документи"?
Полів DOC_NAME, DOCNAME - не знаходить (при спробі їх отримання Медок закривається)
//--------------------------------
Побажання на майбутнє: ідеально, щоб метод GetPrimaryReestr() повертав це поле. Видно, це єдине поле, яке дозволить хоч якось ідентифікувати тип вхідного документу. Наразі, ці два типи (мультидок, інші документи) портять всю статистику впровадження ЕДО у клієнта. "Невідомий тип документу", нікого не влаштовує, крім відправників, які полегшують собі роботу, а отримувач має потім проблему ідентифікації.
Для розуміння ситуації: компанія вирішила повністю перейти на ЕДО. Не тільки вихідні, але і вхідні документи. Наради відбувються часто. Періодично, показуючи статистику керівництву, виникає ситуація, умовно так: 20% - акти, 20% - накладні, 10% акти звіряння, 40% рахунки. І 10% невідомого типу (мультидок та інші документи). Керівництво бажає знати, що то за документи.
Полів DOC_NAME, DOCNAME - не знаходить (при спробі їх отримання Медок закривається)
//--------------------------------
Побажання на майбутнє: ідеально, щоб метод GetPrimaryReestr() повертав це поле. Видно, це єдине поле, яке дозволить хоч якось ідентифікувати тип вхідного документу. Наразі, ці два типи (мультидок, інші документи) портять всю статистику впровадження ЕДО у клієнта. "Невідомий тип документу", нікого не влаштовує, крім відправників, які полегшують собі роботу, а отримувач має потім проблему ідентифікації.
Для розуміння ситуації: компанія вирішила повністю перейти на ЕДО. Не тільки вихідні, але і вхідні документи. Наради відбувються часто. Періодично, показуючи статистику керівництву, виникає ситуація, умовно так: 20% - акти, 20% - накладні, 10% акти звіряння, 40% рахунки. І 10% невідомого типу (мультидок та інші документи). Керівництво бажає знати, що то за документи.
Re: MULTIDOC. Визначення виду
В Вашем примере, шаблон BADM_DU попросту не имеет поля DOC_NAME (DOCNAME или как-либо иначе). Это можно легко проверить, просто экспортировав описание полей шаблона.
Название, которое Вы видите в реестре - это сугубо название самого шаблона первичного документа, установленное автором (создателем) шаблона и оно фиксированное (т.е. не может быть изменено при заполнении документа - только при редактировании шаблона).
Для таких случаев, если название документа сильно требуется, можно ещё одним топорным способом его извлекать из метода GetTemplates, путём перебора всех шаблонов и фильтрации по чаркоду. Т.е. просто использовать наименование шаблона как наименование документа.
Но такой способ непроизводителен , и чем больше предприятию будет доступно шаблонов, тем дольше, соответственно, будет выполняться отбор.
- Дополнил прошлый пріклад | Показать
- Різультат | Показать
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man