|
есть ли программный код , дублирующий интеранктивное создание нового документа ? | ☑ | ||
---|---|---|---|---|
0
alpha78
28.03.22
✎
11:55
|
Здравствуйте, скажите пожалуйста, кто знает, есть ли программный код , дублирующий интеранктивное создание нового документа ? Спасибо
|
|||
1
lEvGl
гуру
28.03.22
✎
11:56
|
что это означает
|
|||
2
arsik
гуру
28.03.22
✎
11:57
|
Похоже на эльфийский. Не могу прочитать. (с)
|
|||
3
PLUT
28.03.22
✎
11:57
|
(0) в VBA это называется "запись макроса"?
|
|||
4
Chai Nic
28.03.22
✎
11:58
|
Неа. К сожалению, обратиться к процедурам модуля формы без явного создания формы невозможно.
|
|||
5
PLUT
28.03.22
✎
11:59
|
(0) как вариант: если у нового документа есть основание, то в обормотке заполнения подсмотри - как интеранкитвно создается новый документ
|
|||
6
vde69
28.03.22
✎
12:00
|
открыть форму обьекта
|
|||
7
Лирик
28.03.22
✎
12:04
|
||||
8
lodger
28.03.22
✎
12:07
|
(0) качаете дистрибутив 1с:Тестировщик.
жмёте записать действия. выполняете интерактивное создание нового документа жмёте завершить запись сценария. дорабатываете сценарий напильником. жмёте повторить сценарий N раз. |
|||
9
mikecool
28.03.22
✎
12:08
|
Конфигуратор, Сервис - "Запустить для записи журнала действий пользователя"
|
|||
10
lEvGl
гуру
28.03.22
✎
12:09
|
(8) в 1с сделали запись макроса?
|
|||
11
Лирик
28.03.22
✎
12:20
|
(8) (9) (10) Коллеги, вы не в теме. Это уже 3я ветка ТС. У человека "не заполняется СтавкаНДС" в коде:
Объект = Документ.ххх.Создать(); ..... Объект.Записать(РежимЗаписиДокумента); А вот при открытии заполняется. Вот беда. И понять, что надо заполнить нужные реквизиты именно объекта - не хотим. Хотим иметь метод Объект.ВыполнитьВсеОбработчикиФормыПриСозданииНовогоДокумента(). |
|||
12
vde69
28.03.22
✎
12:40
|
(11) тогда ему просто надо вызвать
Объект = Документ.ххх.Создать(); Объект.Заполнить(КакиеТоДанныеДляЗаполнения); Объект.Записать(РежимЗаписиДокумента); |
|||
13
Serg_1960
28.03.22
✎
13:01
|
(28) Нет. Программное и интерактивное заполнение документов - антагонисты :) Не за что.
|
|||
14
Serg_1960
28.03.22
✎
13:03
|
Тьфу :) Вместо (28) --> (0)
|
|||
15
Chai Nic
28.03.22
✎
13:07
|
(12) Это если "Объект.Заполнить()" существует и что-то делает. Но чаще всего заполнение производится в модуле формы, а иногда даже &НаКлиенте. Приходится закатывать солнце вручную. Это прискорбно. Не реализовали в 1с возможности обращения к процедурам модуля формы без наличия открытой формы на клиенте, к сожалению.
|
|||
16
vde69
28.03.22
✎
13:11
|
(15) во всех типовых работать будет
|
|||
17
unbred
28.03.22
✎
13:40
|
(11) возможно, у него НДС на форме считается. (вдруг он сам там написал)
Док = Документ.СоздатьДокумент(); Док.Записать(); Форма = Док.Ссылка.ПолучитьФорму("ФормаСКрутымАлгоритмомВычисленияНДС"); //тут есть офигенная Экспортная процедура или функция НДС = Форма.КрутойАлгоритмВычисленияНДСНаФормеИбоНех(); |
|||
18
Лирик
28.03.22
✎
13:57
|
Ну поупражняйтесь, поупражняйтесь. :)
99% парню задали задачу "автоматически создать документы Платежные поручения входящие" (уж откуда они там прилетели не важно). Во входящих данных Контрагент и сумма. Человек написал обработку с кодом: Объект = Документы.ПлатежноеПоручениеВходящее.СоздатьОбъект(); Объект.Контрагент = ДанныеИзВне.Контрагент; Объект.Сумма = ДанныеИзВне.Сумма; Объект.Записать(РежимЗаписи); Документ открывает ставка НДС не заполнена. Руками создает - заполнена, ЧЗНХ?!!!! История вопроса тут. подскажите пожалуйста, как программно создать действие по интерактивному созданию документ как автоматически заполнить реквизит формы при программном создании документа (УТП, обыч ф |
|||
19
DGorgoN
28.03.22
✎
13:59
|
(18) Мде...
|
|||
20
Chai Nic
28.03.22
✎
14:26
|
(18) Да, это целый квест - заполнить типовой документ программно. Причем ещё делают так, что реквизиты, которые пользователь не должен заполнять - и не отображаются в форме. А ещё и в подписках при записи может что-то делаться. Я как-то сталкивался, заполняю реквизит в объекте, потом делаю .Записать() - а он становится пустым. Заполнение документа в типовой из кода - задача крайне нетривиальная.
|
|||
21
lEvGl
гуру
28.03.22
✎
14:39
|
дааа заполнить документ это целое дело..
но если посмотреть глубжее, то возможно человек хочет код платформы, он на ++ кажется |
|||
22
Лирик
28.03.22
✎
14:52
|
(20) Позвольте не согласится. Делаете образец (документ, элемент справочника) интерактивно, записываете, смотрите как и чем заполнены все реквизиты. Пожалуйста готово. Да, есть сложные объекты, заполнение одних реквизитов которых зависит от данных в других, но если разбираешься в предметной области ничего сложного. Плюс отловить алгоритмы заполнения в отладчике - достаточно просто. А уж у регламентируемых "сверху" документов, таких как ППВ, ПКО и прочее - абсолютно просто все. Задача ТС - из этих.
|
|||
23
Конструктор1С
28.03.22
✎
15:25
|
(20) да, в типовых тот ещё мазафакинг можно встретить
|
|||
24
rudnitskij
28.03.22
✎
15:30
|
(18) а просто к своей процедуре дописать заполнение ставки НДС - этот вариант был отброшен как слишком примитивный?
|
|||
25
Chai Nic
28.03.22
✎
15:34
|
(22) Так хочется не заполнять все 100 реквизитов, найти необходимый минимум, так сказать. Получается, что в программном коде приходится дублировать типовые механизмы. С риском, что при очередном обновлении что-то пойдет не так..
|
|||
26
Лирик
28.03.22
✎
15:44
|
(24) В прошлых ветках сказано что у объекта нет реквизита СтавкаНДС, а алгоритм типа:
НС = Объект.РасшифровкаПлатежа.Добавить(); НС.СтавкаНДС = Ставка; видимо выше понимания. (Да не хотел никого обидеть). Больше всего умиляет настойчивость, с которой ТС просит "код, дублирующий интерактивное создание документов". (25) В типовых большинство процедур заполняющих документ серверные и прогнать объект через них не составит труда. Я же в (22) описал чисто академическую задачу "как заполнить документ, что бы он гарантировано был валидным, здесь и сейчас". |
|||
27
Chai Nic
28.03.22
✎
15:47
|
(26) Больше всего умиляет настойчивость, с которой ТС просит "код, дублирующий интерактивное создание документов".
Просьба вполне законная, только не по адресу. Это 1с просить надо. Чтобы в типовых все процедуры заполнения и пересчета были не привязанными к форме и хорошо документированными. В общем, за всё хорошее и против всего плохого. |
|||
28
Конструктор1С
28.03.22
✎
15:48
|
(26) >>В типовых большинство процедур заполняющих документ серверные
И половина из них заботливо спрятаны в модуле формы... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |