|
ВыполнитьПриход() и ВыполнитьРасход() по одному и тому же регистру | ☑ | ||
---|---|---|---|---|
0
Slon747
12.02.18
✎
12:57
|
При проведении документа нужно делать как приход, так и расход.
Делаю так: ТаблицаПриходов = Запрос.Выполнить().Выгрузить(); НаборДвижений = Движения.НакопленныеБонусы; ТаблицаДвижений = НаборДвижений.Выгрузить(); ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПриходов, ТаблицаДвижений); НаборДвижений.мПериод = Дата; НаборДвижений.мТаблицаДвижений = ТаблицаДвижений; НаборДвижений.ВыполнитьПриход(); После этого делаю расход. Всё то же самое (кроме самих данных), только НаборДвижений.ВыполнитьРасход(); В результате, В расходе оказываются строки, которые должны быть только в приходе. Что не так? P.S. У документа "Запись движений при проведении" - "Записывать модифицированные" |
|||
1
Defender aka LINN
12.02.18
✎
14:27
|
(0) А чистить таблицу - не царское дело?
|
|||
2
Slon747
12.02.18
✎
14:51
|
(1) Между приходом и и расходом делал ТаблицаДвижений.Очистить()
Не помогает. |
|||
3
hhhh
12.02.18
✎
14:56
|
(2) ну, процедуру ВыполнитьРасход() в студию.
|
|||
4
Малыш Джон
12.02.18
✎
14:59
|
(2) а таблица расходов как определяется? тоже =Запрос.Выполнить.Выгрузить()?
|
|||
5
lodger
12.02.18
✎
15:03
|
(0) ВыполнитьПриход и ВыполнитьРасход это такие процедуры, они есть в вашем модуле набора записей.
как там внутри описано так и работает. 146% что они предназначены отразить только приход или только расход. т.е. для "делать как приход, так и расход." - надо своё колхозить. |
|||
6
Slon747
12.02.18
✎
15:06
|
(3) ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(ЭтотОбъект, ВидДвиженияНакопления.Расход);
Далее в ВыполнитьДвижениеПоРегистру() код из типовой, подобной УТ10. (4) Да (5) Но я же их выполняю по очереди. Отдельно они работают правильно. А последовательно - задваиваются движения. |
|||
7
Малыш Джон
12.02.18
✎
15:08
|
(6) а запрос между
ТаблицаПриходов = Запрос.Выполнить().Выгрузить(); и ТаблицаРасходов = Запрос.Выполнить().Выгрузить(); как-то меняется? |
|||
8
lodger
12.02.18
✎
15:13
|
(6) а после ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(ЭтотОбъект, ВидДвиженияНакопления.Расход);
что написано? ЭтотОбъект.Движения.Загрузить(чето)? |
|||
9
Slon747
12.02.18
✎
15:16
|
(7) Ну да. Разные данные в двух ТЗ.
(6) Только это: Процедура ВыполнитьРасход() Экспорт ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(ЭтотОбъект, ВидДвиженияНакопления.Расход); КонецПроцедуры |
|||
10
lodger
12.02.18
✎
15:21
|
(9) ну так не используй ВыполнитьРасход и ВыполнитьПриход если не хочешь читать как они работают. напиши свой велосипед.
|
|||
11
Slon747
12.02.18
✎
15:22
|
(10) Придется так и сделать.
Просто не первый раз с этим сталкиваюсь, думал, ответ на поверхности. |
|||
12
lodger
12.02.18
✎
15:25
|
(11) ответ на поверхности, в общем модуле ОбщегоНазначения процедуру звать ВыполнитьДвижениеПоРегистру()
|
|||
13
cw014
12.02.18
✎
15:28
|
(2) А НаборДвижений.мТаблицаДвижений.Очистить() делал?
|
|||
14
Slon747
12.02.18
✎
15:37
|
(13) Делал. Всё также, в движения Расход добавляются записи из таблицы прихода.
|
|||
15
hhhh
12.02.18
✎
15:39
|
(14) ну делай так
ТаблицаПриходовИРасходов = Запрос.Выполнить().Выгрузить(); НаборДвижений = Движения.НакопленныеБонусы; ТаблицаДвижений = НаборДвижений.Выгрузить(); ОбщегоНазначения.ЗагрузитьВТаблицуЗначений(ТаблицаПриходовИРасходов, ТаблицаДвижений); НаборДвижений.мПериод = Дата; НаборДвижений.мТаблицаДвижений = ТаблицаДвижений; |
|||
16
Малыш Джон
12.02.18
✎
15:45
|
(14) вообще, по хорошему, у процедур ВыполнитьРасход() и ВыполнитьПриход() должен быть параметр Замещать(который по умолчанию Истина)
в твоей конфе точно такого нет? |
|||
17
Slon747
12.02.18
✎
15:52
|
(15) Что это будет? Все строки ТЗ уйдут в приход?
(16) Ни у ВыполнитьПриход() ни у ВыполнитьДвижениеПоРегистру() такого нет. |
|||
18
Малыш Джон
12.02.18
✎
15:55
|
(17) Ну в общем, где-то у тебя есть строка .Записать();
(например ЭтотОбъект.Записать();) так вот, в первый раз должно быть ЭтотОбъект.Записать(), а второй - ЭтотОбъект.Записать(Ложь) |
|||
19
Малыш Джон
12.02.18
✎
15:57
|
+ (18) или ищи как существующий код использовать таким образом,
или ручками записывай наборы |
|||
20
Slon747
12.02.18
✎
16:14
|
Сделал по-старинке, вручную добавляя строки в движения
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |