Получить CARDCODE после создания документа
Получить CARDCODE после создания документа
Как получить CARDCODE после программного создания документа (при программном создании документа ExDocID не используется)?
Re: Получить CARDCODE после создания документа
GetPrimaryReestr()?
Правда, если речь только о первичных документах.
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
Речь о первичных.
Как я могу с помощью GetPrimaryReestr() получить именно тот документ, который создал, а не его дубль, например? Ведь документ с такими же реквизитами (номер, дата, сумма, контрагент) могут присутствовать?
Есть ли возможность считать CARDCODE имея IZDocument?
Как я могу с помощью GetPrimaryReestr() получить именно тот документ, который создал, а не его дубль, например? Ведь документ с такими же реквизитами (номер, дата, сумма, контрагент) могут присутствовать?
Есть ли возможность считать CARDCODE имея IZDocument?
Re: Получить CARDCODE после создания документа
Зачем, извините, геморрой с IZDocument? Да и я, если честно, в IZDocument CardCode не видел.PetroP писав: ↑16 грудня 2019, 14:55Речь о первичных.
Как я могу с помощью GetPrimaryReestr() получить именно тот документ, который создал, а не его дубль, например? Ведь документ с такими же реквизитами (номер, дата, сумма, контрагент) могут присутствовать?
Есть ли возможность считать CARDCODE имея IZDocument?
Можно же так:
GetPrimaryReestr(ВашТипДокумента, 1, ДатаДокумента, ДатаДокумента) (или ДатаНачалаИнтервала, ДатаКонцаИнтервала, если несколько документов за период).
В результате, согласно инструкции, получите таблицу, в которой будет CardCode.
Помимо CardCode там будет ExDocID, который Вы знаете.
Ну а дальше просто:
...
Код: Виділити все
ДокиСМедка = GetPrimaryReestr(ВашТипДокумента, 1, ДатаДока, ДатаДока);
Для каждого Док из ДокиСМедка Цикл
Если Док.ExDocID = ВашДокументВ1с.УникальныйИдентификатор() Тогда
КардКод = Док.CardCode;
КонецЕсли;
КонецЦикла;
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
Я не использую ExDocID. В том то и дело.
Re: Получить CARDCODE после создания документа
Если Вы создали документ "со стороны" без указания ExDocID - то это то же самое, что Вы создали его вручную в M.E.Doc.
Другого признака, что он был создан извне или не в самом M.E.Doc - нету.
Если в M.E.Doc есть 2 документа, например Акт №1 от 01.12.2019 г. и Акт №1 от 01.12.2019 г., и ни один документ не имеет ExDocID - Вы никак их не различите. CardCod'ы у них будут разные при том, что реквизиты - одинаковые. И понять, какой из них Вы создали вручную в M.E.Doc, а какой извне - не выйдет.
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
Мне не надо разделять на те, что созданы вручную, или те, что загружены программно.
Все что мне надо - задать соответствие документов в медке документам в моей учетной системе.
И именно по той причине, что документы в медок могут и создаваться вручную, и загружаться программно, я не могу этого сделать из-за недостатков как CARDCODE, так и EXDOCID.
Все что мне надо - задать соответствие документов в медке документам в моей учетной системе.
И именно по той причине, что документы в медок могут и создаваться вручную, и загружаться программно, я не могу этого сделать из-за недостатков как CARDCODE, так и EXDOCID.
Re: Получить CARDCODE после создания документа
У документа есть признак внешнего - EXDOCID.PetroP писав: ↑16 грудня 2019, 15:56Мне не надо разделять на те, что созданы вручную, или те, что загружены программно.
Все что мне надо - задать соответствие документов в медке документам в моей учетной системе.
И именно по той причине, что документы в медок могут и создаваться вручную, и загружаться программно, я не могу этого сделать из-за недостатков как CARDCODE, так и EXDOCID.
Он пуст.
Чего же Вы хотите? Второй признак? ZapasnoiEXDOCID? Или EtotDokNeMedkomSozdanID?
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
Считаю, что EXDOCID - вообще не нужен. Достаточно добавить метод получения CARDCODE для объекта IZDocument. Это решит все проблемы.
Т. е. создаем программно документ, записываем его (Save), при этом, как я понимаю, после удачной записи документа появляется этот CARDCODE. Именно в этот момент, пока еще есть "в руках" объект, необходимо получить CARDCODE.
Т. е. создаем программно документ, записываем его (Save), при этом, как я понимаю, после удачной записи документа появляется этот CARDCODE. Именно в этот момент, пока еще есть "в руках" объект, необходимо получить CARDCODE.
Re: Получить CARDCODE после создания документа
Что мешает программно засунуть в документ ExDocID?PetroP писав: ↑16 грудня 2019, 17:23Считаю, что EXDOCID - вообще не нужен. Достаточно добавить метод получения CARDCODE для объекта IZDocument. Это решит все проблемы.
Т. е. создаем программно документ, записываем его (Save), при этом, как я понимаю, после удачной записи документа появляется этот CARDCODE. Именно в этот момент, пока еще есть "в руках" объект, необходимо получить CARDCODE.
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
Підкажіть будь ласка,як страктура таблиці має бути для GetPrimaryReestr? Який саме метод повертає таблицю? GetPrimaryReestr має тільки тільки вхідні параметри. чи не так?
Re: Получить CARDCODE после создания документа
Структура описана в Инструкции по COM-методам M.E.Doc. Там много колонок.
Метод GetPrimaryReestr - и есть способ получения таблицы данных о документах. Таблицу Вы не передаете в метод, а получаете с его помощью. Указав, да, определённые аргументы (тип документов, направление и интервал дат (выписки)).
Т.е. указав, к примеру, GetPrimaryReestr(10100, 2, 01.11.2019, 30.11.2019) Вы получите таблицу с данными по ВСЕМ Налоговым накладным (их код типа документов - 10100), которые были Получены (т.е. имеют направление "Входящий", код типа направления - 2), которые были выписаны за ноябрь (в промежутке между 01.11.2019 и 30.11.2019).
Там же, в Инструкции, описаны все доступные коды типов документов, типов направлений и описание той или иной колонки.
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
В інструкції є перелік полів таблиці, але намає течнічоного опису цих полів(довжини поля та типу даних). Чи можете навести приклад наповнення таблиці з допомогою цього методу? а також технічний опис полів таблиці?Medoc Man писав: ↑16 грудня 2019, 22:45Структура описана в Инструкции по COM-методам M.E.Doc. Там много колонок.
Метод GetPrimaryReestr - и есть способ получения таблицы данных о документах. Таблицу Вы не передаете в метод, а получаете с его помощью. Указав, да, определённые аргументы (тип документов, направление и интервал дат (выписки)).
Т.е. указав, к примеру, GetPrimaryReestr(10100, 2, 01.11.2019, 30.11.2019) Вы получите таблицу с данными по ВСЕМ Налоговым накладным (их код типа документов - 10100), которые были Получены (т.е. имеют направление "Входящий", код типа направления - 2), которые были выписаны за ноябрь (в промежутке между 01.11.2019 и 30.11.2019).
Там же, в Инструкции, описаны все доступные коды типов документов, типов направлений и описание той или иной колонки.
Re: Получить CARDCODE после создания документа
Подскажите, можно ли в созданный вручную в медке документ, подписанный, отправленный и утвержденный программно засунуть ExDocID?
Как во входящий документ программно засунуть ExDocID?
Яркий пример. Делаю сейчас функционал актов сверки с контрагентами. По сути, акт сверки сложно отнести ко входящему / исходящему по сути - только по признаку "кто первый сделал" - мы или контрагент. Я не могу привязать к учетной системе акты сверки, созданные контрагентами, и акты сверки, созданные нами в медке (а не в учетной системе).
Re: Получить CARDCODE после создания документа
Ну если только для Вас...
- Типы значений | Показать
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
Верно, никак, но речь-то не об этом.
Вы говорили о программном создании документа, а не ручном:
Я объяснял уже, что если создали вручную - то сможете получить только его CardCode через GetPrimaryReestr для работы с ним.
При этом доступа к полям как через IZDataSets не будет.
Можете.
Просто не знаете как
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
Речь о том, что необходимо получить уникальный идентификатор для всех возможных вариантов: создание программно, создание вручную, получение контрагентом. Для всех этих случаев у медка есть CARDCODE - ничего нового выдумывать не надо.
Но! В варианте программного создания нет возможности получить CARDCODE созданного объекта IZDocument. Есть только безумно "кривой" вариант - создавать документ с ExDocID, а после по этому ExDocID искать документ через GetPrimaryReestr и, наконец, получать CARDCODE.
Раз не существует возможности получить CARDCODE имея IZDocument, прошу разработчиков создать такой метод (для справочников, например, что-то подобное есть для поля CODE, называется GetGenID). И в таком случае можно в принципе отказаться от ExDocID.
Re: Получить CARDCODE после создания документа
Честно, не понял ничего.PetroP писав: ↑17 грудня 2019, 11:52Речь о том, что необходимо получить уникальный идентификатор для всех возможных вариантов: создание программно, создание вручную, получение контрагентом. Для всех этих случаев у медка есть CARDCODE - ничего нового выдумывать не надо.
Но! В варианте программного создания нет возможности получить CARDCODE созданного объекта IZDocument. Есть только безумно "кривой" вариант - создавать документ с ExDocID, а после по этому ExDocID искать документ через GetPrimaryReestr и, наконец, получать CARDCODE.
Раз не существует возможности получить CARDCODE имея IZDocument, прошу разработчиков создать такой метод (для справочников, например, что-то подобное есть для поля CODE, называется GetGenID). И в таком случае можно в принципе отказаться от ExDocID.
- Рас | Показать
- Двас | Показать
OpenDocumentByCode виртуально открытает мне документ по CardCode, давая доступ к структуре и полям.
Что Вы пытаетесь сделать и что у Вас не получается - непонятно.
Зачем Вы упёрлись в IZDocument - тоже неясно.
Создавайте документы как угодно, хоть бубном - способ выше вернёт их Вам.
Если документы были созданы вручную - Вы их увидите и заберёте к себе в УС. Как там уже Вы будете выстраивать логику соответствия - это дело Ваше.
Если документы создаёте программно - то или указывайте ExDocID и не мучьте людей, или сразу после программного создания бегите за новосозданным CardCode.
Человек-волшебник
Людина-чарівник
Wizard man
Людина-чарівник
Wizard man
Re: Получить CARDCODE после создания документа
Чтобы понять, попробуйте ответить на простой вопрос: Как получить CARDCODE при программном создании первичного документа без использования ExDocID?