|
Как программно изменить операцию документа? | ☑ | ||
---|---|---|---|---|
0
olmarty
19.10.06
✎
11:37
|
сабж
|
|||
1
Конь в пальто
19.10.06
✎
11:39
|
жкк
|
|||
2
olmarty
19.10.06
✎
11:40
|
жжк эпсент... :( плиз подскажите оперативно. я завел реквизиты у операции и нужно изменить их для операций конкретных доков.
|
|||
3
asady
19.10.06
✎
11:41
|
(0) а если групповое перепроведение будет?
|
|||
4
olmarty
19.10.06
✎
11:43
|
(3) речь о простом проведении дока обработкой с одновременный изменением реквизитов операции
|
|||
5
IgorKa
19.10.06
✎
11:44
|
имхо - сначала измени документ, а то потом тебя будут часто иметь!
|
|||
6
olmarty
19.10.06
✎
11:45
|
(5) таки да, но все же сабж...
|
|||
7
asady
19.10.06
✎
11:48
|
(0)
1. для начала: НайтиОперацию(<?>) Синтаксис: НайтиОперацию(<Документ>) Назначение: осуществляет поиск операции по значению типа ''Документ''. Возвращает: 1 - действие выполнено, операция найдена; 0 - действие не выполнено, операция не найдена. Параметры: <Документ> - значение типа ''Документ''. 2. Затем Пройтись по проводкам 3. Записать операцию |
|||
8
olmarty
19.10.06
✎
11:51
|
(7)так и делаю:
оп = СоздатьОбъект("Операция"); Если оп.НайтиОперацию(док.ТекущийДокумент()) = 1 Тогда оп.Реквизит = ...; оп.Записать(); КонецЕсли; но пишет: Объект заблокирован .... |
|||
9
olmarty
19.10.06
✎
11:55
|
+(8) док получается из выборки. где же тут косяк? или - принципиальное ограничение?..
|
|||
10
olmarty
19.10.06
✎
11:56
|
ап
|
|||
11
Sillver
19.10.06
✎
11:59
|
(8) выйди из документа и операции прежде чем обработку пускать.... блин...
|
|||
12
NuiNu
19.10.06
✎
11:59
|
Опер.НайтиОперацию(Таб.Док);
Опер.ВыбратьПроводки(); Пока Опер.ПолучитьПроводку()=1 Цикл Если Опер.Дебет.Счет=Сч152 Тогда Опер.Дебет.Счет = Сч1522; ИначеЕсли Опер.Дебет.Счет=Сч153 Тогда Опер.Дебет.Счет = Сч1532; ИначеЕсли Опер.Дебет.Счет=Сч154 Тогда Опер.Дебет.Счет = Сч1542; КонецЕсли; Если Опер.Кредит.Счет=Сч152 Тогда Опер.Кредит.Счет = Сч1522; ИначеЕсли Опер.Кредит.Счет=Сч153 Тогда Опер.Кредит.Счет = Сч1532; ИначеЕсли Опер.Кредит.Счет=Сч154 Тогда Опер.Кредит.Счет = Сч1542; КонецЕсли; КонецЦикла; Опер.Записать(); |
|||
13
olmarty
19.10.06
✎
12:00
|
(11) т.е. запихать доки в СЗ, а выборку использовать нельзя?
|
|||
14
Sillver
19.10.06
✎
12:01
|
в (8) вроде правильно....
|
|||
15
olmarty
19.10.06
✎
12:01
|
+(13) ты это хотел сказать?
|
|||
16
NuiNu
19.10.06
✎
12:02
|
т.е. закрыть документ (интерактивно), а потом запускать обработку
|
|||
17
Sillver
19.10.06
✎
12:02
|
(13) у тя может документ или операция у кого то открыта.... он ее записать не может
|
|||
18
olmarty
19.10.06
✎
12:03
|
(16) командор, обижаешь ! :(( документ закрыт. с ним работает обработка, выбирая из выборки.. я же в монополии
|
|||
19
Sillver
19.10.06
✎
12:04
|
(18) как именно ругается?
|
|||
20
olmarty
19.10.06
✎
12:05
|
(19) Объект заблокирован <название дока> - <дата>
|
|||
21
olmarty
19.10.06
✎
12:07
|
все - сработало. кстати, не вполне очевидная фича.
|
|||
22
olmarty
19.10.06
✎
12:11
|
ругань о блокировке вылетала на попытке провести док после записи операции. не ясно в чем дело. то, что весь блок находится в транзакции вроде-бы на это влиять не должно.
|
|||
23
olmarty
19.10.06
✎
12:12
|
всем супер-спасибо за помосч!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |