![]() |
|
Программно выполнить стандартные команды при создании документа | ☑ | ||
---|---|---|---|---|
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) Скорее всего там так же в конфигурации, либо в плане обмена вся логика зашита. Вот и хочу к этой логике подступиться
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |