|
|
|
|
Объясните пож. как работает код | ☑ | ||
|---|---|---|---|---|
|
0
serp
15.10.04
✎
10:37
|
Из модуля дока ВводВЭксплуатацию, ПУБ285:
РегРасходыПриУСН = СоздатьОбъект("Регистр.РасходыПриУСН"); РегРасходыПриУСН.ВыбратьДвиженияДокумента(ТекущийДокумент()); Пока РегРасходыПриУСН.ПолучитьДвижение() = 1 Цикл ....... КонецЦикла; у дока снята галка Автоматическое удаление движений Если проводим непроведенный документ, то в операторы в цикле не должны выполняться, движений у дока то нет, а они выполняются. почему непонятно. Объясните пож. чего я не понимаю |
|||
|
1
Шапокляк
15.10.04
✎
10:39
|
А его первый раз проводят, точно?
|
|||
|
2
shura
15.10.04
✎
10:40
|
(0)
А почему снята? Документ новый непроведенный или старый после отмены проведения? Посмотри в регистре, есть-ли движения по этому доку когда он не проведен... |
|||
|
3
serp
15.10.04
✎
10:45
|
документ не новый, после отмены проведения, а пунк меню Движения документа неактивен
кажется сообразил, движения остались после первого проведения, так? а нафига это надо, получается что алгоритмы проведения при самом первом проведении и потом после отмены проведения и перепроведении будут разными |
|||
|
4
Шапокляк
15.10.04
✎
10:47
|
Ну да, конечно... Галка снята и автоматически движения не удаляются. Для чего-то это надо, наверно. Там, случаем, нет процедуры ПриОтменеПроведения (или как там предопределенная называется)?
|
|||
|
5
Оборотень
15.10.04
✎
10:51
|
Нужно посмотреть в ОтменеПроведения() - что там есть ... потому как при снятой галке там должен быть корректный процесс удаления движений дока.
А "Автоматическое удаление" снято скорее всего чтобы при ПЕРЕПРОВЕДЕНИИ не проводить строки табличной части которые не изменялись, т.е не делать лишних движений регистров. Это способ оптимизации - называется по терминологии 1С, если память не изменяет, - допроведение. |
|||
|
6
Оборотень
15.10.04
✎
10:52
|
(+5)
Ошибся ПриОтменеПроведения() :) |
|||
|
7
Оборотень
15.10.04
✎
10:55
|
(+6)
Совсем зарапортавался .... в модуле документа есть предопределенная процедура ОбработкаУдаленияПроведения() - вот её смотреть нужно ... Я её имел в виду |
|||
|
8
wolk
15.10.04
✎
10:57
|
Процедура ПриОтменеПроведенияДокумента(<?>)
КонецПроцедуры Синтаксис: ПриОтменеПроведенияДокумента(<Докум>) Назначение: Предопределенная процедура при интерактивной отмене проведения документа. Параметры: <Докум> - обрабатываемый документ. Замечание: Данная процедура может располагаться только в глобальном программном модуле. Подробнее см. в документации, глава 'Системные предопределенные процедуры' |
|||
|
9
wolk
15.10.04
✎
10:58
|
(8+) - хотя, имхо, скорее надо смотреть не в глобальнике, а в модуле дока, в ОбработкаУдаленияПроведения()
|
|||
|
10
Оборотень
15.10.04
✎
11:01
|
(9) Полностью согласен.
|
|||
|
11
serp
15.10.04
✎
12:08
|
В модуле дока нет проц. ОбработкаУдаленияПроведения(), в глобальнике есть проц. ПриОтменеПроведенияДокумента, но там ничего существенного нет.
вот интересно ведь в цикле там: (см.0) Регистр.РасходыПриУСН.НеПринимаемаяСумма = 0; Регистр.РасходыПриУСН.ВключатьВОтчет = 0; Регистр.РасходыПриУСН.ДвижениеПриходВыполнить(); т.е. при самом первом проведении движений по рег. РасходыПриУСН сделано не будет |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |