|
v7: Как правильно за один раз списать несколько счетов | ☑ | ||
---|---|---|---|---|
0
evgpinsk_
27.05.23
✎
21:22
|
Есть список счетов (например за текущее число) на основании которых нужно создать расходные накладные.
Делаю это в цикле через открытие формы расходной накладной и передаче ей параметра: Пока док.ПолучитьДокумент() = 1 Цикл ОткрытьФорму("Документ.Расходные_накладные","СписатьСчёт",док.ТекущийДокумент()); конеццикла Но проблема в том что по результату списывается только один первый не списанный счёт. Запускаю процедуру ещё раз и списывается следующий только один счёт. Как можно решить проблему? |
|||
1
evgpinsk_
27.05.23
✎
21:23
|
Вроде как цикл пробегает быстрее, чем происходит списание документа и поэтому не достигается нужный результат
|
|||
2
dedmoroz777
27.05.23
✎
21:28
|
ОткрытьФормуМодально
|
|||
3
evgpinsk_
27.05.23
✎
21:42
|
(2) Да, Спасибо )
|
|||
4
AAA
27.05.23
✎
21:45
|
а зачем форму открывать?
|
|||
5
dedmoroz777
27.05.23
✎
22:00
|
(4) Ну, ПриОткрытии что-то там делается, наверное.
|
|||
6
Guk
28.05.23
✎
00:50
|
судя по веткам на мисте, в РБ 8-ка не котируется. в общем и правильно, 8-ка еще сырая...
|
|||
7
Остап Ибрагимович
28.05.23
✎
10:46
|
(6): ну, например, в 7ке можно любую форму списка (со списком) открыть для выбора/подбора значений - а в восьмерке только ту у которой соотв.свойство в метаданных установлено. позорище.
|
|||
8
2S
28.05.23
✎
14:47
|
(7) разверните мысль
В 8ке есть динамические списки |
|||
9
evgpinsk_
28.05.23
✎
18:26
|
(4) В форме процедура проведения документа описана. Вот её и запускаю при открытии формы
|
|||
10
AAA
28.05.23
✎
18:56
|
(9)В форме процедура проведения ?? Это что-то новое
|
|||
11
AAA
28.05.23
✎
18:57
|
Если люди ничего не довводят руками, то совершенно незачем открывать формы документов, можно создавать и проводить программно
|
|||
12
dedmoroz777
28.05.23
✎
19:02
|
(10) Почему бы и нет? (11) Форму можно открыть без вывода формы на экран. Если это не сотни доков в час, зачем городить лишние сущности?
|
|||
13
AAA
28.05.23
✎
20:10
|
(12)кто спорит, что можно открыть без вывода на экран? так и делается, например при печати документов. Автор говорит, что у него логика проведения в форме
|
|||
14
dedmoroz777
28.05.23
✎
20:36
|
(13) И что? Что в этом плохого? Логика чего угодно может быть в форме. В модуле проведения делаются проводки и записи в регистры.
|
|||
15
Злопчинский
28.05.23
✎
20:59
|
(14) и периодические реквизиты справочников можно привязать
|
|||
16
AAA
29.05.23
✎
04:04
|
(14)Логика чего угодно, но не проведения. Логика записи документа - да.
(15)кто с этим спорит? |
|||
17
evgpinsk_
29.05.23
✎
10:19
|
(10) Проведение в форме модуля документа - я не точно выразился.
А вот код процедуры "ВводНаОсновании" - он в форме документа. И вот к нему я обращаюсь при открытии |
|||
18
MWWRuza
29.05.23
✎
10:31
|
(17) он в форме документа.
А почему нет... Например, в форме документа может распологаться процедура автоматического ввода документа переоценки остатков, если этот текущий документ - документ прихода. А потом, уже само проведение в модуле документа. Хотя, правильнее ее вынести в глобальник и из модуля формы вызывать через контекст... Тогда, ее можно будет вызывать и из какой-либо обработки, перебирающей документы в цикле, передавая в нее текущий документ из цикла. |
|||
19
evgpinsk_
29.05.23
✎
11:45
|
(18) Не совсем понимаю смысл вынесения в ГМ?
попробую подробней описать задачу которая стояла: Штатно: есть счета, выставляемые на клиентов и далее в ручном режиме при выдаче товара на основании счёта создаётся расходка. У нас в течении дня есть счета "на доставку" их за день около 10 штук и все их желательно списать вечером по кнопке все сразу. Вот для этого я и реализовал то что спрашивал в (0) п.с. Нужно ли для этого править и так захламлённый ГМ? вроде как нет |
|||
20
MWWRuza
29.05.23
✎
12:25
|
Смысл вынесения этой процедуры в ГМ(обязательно с директивой "Экспорт") - что-бы она была доступна "отовсюда", и из модуля формы документа, и из обработки, когда Вы в ней перебираете эти документы в цикле.
Но, это Вам решать, можно и не делать этого, а делать через открытие формы документа(можно ложного), но, имхо это через одно место... |
|||
21
evgpinsk_
30.05.23
✎
09:39
|
(20) как по мне, таким способом нарушается принцип ООП. Красивей когда функции над объектом расположены в самом объекте. Ведь таких объектов и функций может быть много разных. Располагать их в гм - имхо не то.
Ну и ещё момент что изменения в гм не обрабатываются через турбо мд. |
|||
22
ADirks
30.05.23
✎
10:32
|
(21) а для этого 1С++ есть
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |