|
Программно выполнить стандартные команды при создании документа |
☑ |
0
K1RSAN
24.05.24
✎
08:29
|
В общем поставили сейчас задачу из обработки программно создавать реализацию, чтобы она даже не открывалась.
Но в форме документа же куча обработок, которые при запуске выполняются, выбор счетов, автозаполнение части полей - думаю, можно ли как-то получить форму создаваемого документа и выполнить в нем эти самые процедуры, чтобы не пришлось делать заполнение руками.
|
|
1
Ненавижу 1С
24.05.24
✎
08:33
|
(0) есть мнение что вам поставили задачу создавать реализацию на основании каких-то данных. Например, заказов клиента. Так вот выполнить
ДокОбъектРеализация.Заполнить(СсылкаНаЗаказ);
В любом случае дергать формы в бизнес-логике это плохо. Если уж нужно дозаполнять "как в форме" - посмотрите какие обработчики бизнес-логики дергаются из формы.
|
|
2
K1RSAN
24.05.24
✎
09:05
|
(1) Да, так и есть.
Просто в типовом варианте при создании реализации форма передается в общий модуль, где заполняются стандартные реквизиты, хотел их как-нибудь подключить, чтобы вручную не писать заполнение
|
|
3
DJ Anthon
24.05.24
✎
09:10
|
(2) в 1С часто много алгоритмов, которые работают на клиенте, а на сервере аналогов нет, приходится писать их аналоги на сервере, иногда это очень нудная и долгая работа, но так правильнее всего. а еще 1С любит переписывать свои документы и алгоритмы и потом твой код заполнения уже не будет работать с этим же документом и его придётся переписывать.
|
|
4
K1RSAN
24.05.24
✎
09:44
|
(3) Видимо придется самому это писать (
Просто я боюсь, что какой-то реквизит забуду заполнить, отчего спустя месяц, когда надо будет месяц закрывать - это вылезет и потребуется срочно переписывать и перепроводить документы в авральном режиме.
|
|
5
PLUT
24.05.24
✎
09:51
|
(4) ну как вариант, созданный программно документ сравнить с "ручным" документом.
сериализуешь в тексты документ-"handmade" и документ-созданный программно
и сравниваешь в каком-нибудь kdiff или банально в 1С - Сравнить файлы...
в kdiff удобнее разницу увидеть между документами
|
|
6
Skylark
24.05.24
✎
09:55
|
Можно сгенерить структуру повторяющую документ, потом дополнить её нужными реквизитами формы. И вызвать серверную процедуру заполнения подсунув ей эту структуру, которая почти всегда успешно мимикрирует по тип "ДанныеФормыСтруктура".
После отработки процедуры заполнения, данные из структуры переносим в объект документа.
|
|
7
K1RSAN
24.05.24
✎
10:35
|
(5) (6) Спасибо, попробую
|
|
8
Мультук
24.05.24
✎
11:43
|
(0)
Это БП ?
1) При обмене (например с УТ) БП успешно создает реализации НЕ используя форму документа.
2) Можно просто сравнивать "эталонный" документ и созданнный вручную с помощью консоли запросов
|
|
9
K1RSAN
24.05.24
✎
12:14
|
(8) Скорее всего там так же в конфигурации, либо в плане обмена вся логика зашита. Вот и хочу к этой логике подступиться
|
|