![]() |
![]() |
![]() |
|
изменить проводки программно... | ☑ | ||
---|---|---|---|---|
0
zak555
27.04.09
✎
18:30
|
что-то забыл: можно ли программно отредактировать проводки документа?
|
|||
1
Медвед1Сник
27.04.09
✎
18:31
|
Кажись в семерке этого нельзя. Все делается в рамках ОбработкаПроведения. Но не уверен, т.к. не семерочник.
|
|||
2
zak555
27.04.09
✎
18:33
|
(1) вся проблема в том, что при интерактивном перепроведении дока изменяться суммы - что не есть гуд!
мне нужно только аналитику сменить ... |
|||
3
Нуф-Нуф
27.04.09
✎
18:33
|
напрямую в таблицах?
|
|||
4
у лю 427
27.04.09
✎
18:35
|
можно... ищи в инете...
|
|||
5
zak555
27.04.09
✎
18:35
|
(3) ну через это не хотел бы...
что-то ттипа того: О.НайтиОперацию(Док) О.Дебет(1,Нужный); О.Записать() |
|||
6
Greeen
27.04.09
✎
18:38
|
можно
|
|||
7
GreyK
27.04.09
✎
19:14
|
(0) Разрешаю, но с условием чтения УК РФ :)
|
|||
8
Стрелок
27.04.09
✎
19:29
|
как раз операцию в 7.7 можно править на раз.. до перепроведения всё прокатит. а вот с регистрами - опа .... там извращаться надо если надо
|
|||
9
Дядя Васька
27.04.09
✎
19:33
|
И с проводками и с регистрами все просто. Комментируешь обработку проведения, снимаешь автоматическое удаление движений. В своей обработке проведения собираешь свои движения в ТЗ, удаляешь движения. Извращаешься над ТЗ, создаешь из нее движения заново. Ну и как проведешь, вертаешь взад нормальную обормотку. Технологическое проведение однако...
|
|||
10
GreyK
27.04.09
✎
19:38
|
(9) Не поверишь, но проводки операций легко меняются обработкой, а с регистраи гемор.
|
|||
11
Стрелок
27.04.09
✎
19:39
|
(9) глупость
|
|||
12
Дядя Васька
27.04.09
✎
19:40
|
(10) Не поверю.
(11) В чем глупость? ВыбратьДвиженияДокумента() уже отменили? |
|||
13
Zaval
27.04.09
✎
19:53
|
(0) Когда-то делал Ючойсом... долго копается...
|
|||
14
GreyK
27.04.09
✎
19:59
|
(12) Для тебя не жалко :)
//******************************************* Процедура Сформировать() Сч60=СчетПоКоду("60.1"); Сч84=СчетПоКоду("84.3"); Контрики=СоздатьОбъект("Справочник.Контрагенты"); Контрики.НайтиПоНаименованию("GreyK",,); Операция=СоздатьОбъект("Операция"); Доки=СоздатьОбъект("Документ"); Доки.ВыбратьДокументы(,); Пока Доки.ПолучитьДокумент()=1 Цикл Если Доки.СуществуетОперация()=1 Тогда Операция.НайтиОперацию(Доки.ТекущийДокумент()); Если Контрики.Выбран()=0 Тогда Операция.ВыбратьПроводки(); Пока Операция.ПолучитьПроводку()=1 Цикл Пока Операция.ПроводкаВыбрана()=1 Цикл Операция.УдалитьПроводку(); КонецЦикла; КонецЦикла; Иначе МояМзда=Операция.КоличествоПроводок(); Операция.НоваяПроводка(); Операция.Кредит.Счет=Сч60; Операция.Контрагенты=Контрики.ТекущийЭлемент(); Операция.Дебет.Счет=Сч84; Операция.Записать(); КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
15
zak555
27.04.09
✎
20:01
|
(7) да мне на него наср@ть!
|
|||
16
Дядя Васька
27.04.09
✎
20:03
|
(14) В чем принципиальное отличие от (9)? Сначала удаляешь, потом заново создаешь. Изменить существующую не даст.
Для Стрелка тоже не жалко, берем демку торговли, в документе реализация снимаем галку "Автоматическое удаление движений" если есть, и меняем обработку проведения на это:
в результате при проведении все количество по движениям регистра остатки ТМЦ увеличили на 2. Практического смысла не имеет конечно, просто как пример. |
|||
17
Дядя Васька
27.04.09
✎
20:05
|
+(16) "увеличили на 2" = "умножили на 2" конечно
|
|||
18
GreyK
27.04.09
✎
20:10
|
(16) "Изменить существующую не даст." - А ты попробуй вставй текст в обработку и проверь.
|
|||
19
GreyK
27.04.09
✎
20:13
|
+(18) Чёй-то у меня скорописание грешит:)
|
|||
20
Дядя Васька
27.04.09
✎
20:13
|
(18) Куда вставить? Не далее чем в субботу пробовал. Надо было в старых документах новое субконто заполнить значением по умолчанию чтобы ничего не поехало. Если просто выбрать проводки и попробовать изменить и записать, скажет низзя. Потому делал по аналогии с (16).
|
|||
21
GreyK
27.04.09
✎
20:22
|
(20) Создай внешний отчет.
|
|||
22
Дядя Васька
27.04.09
✎
20:23
|
(21) Да говорю тебе пробовал я. Удалить существующую проводку и создать новую можно, изменить существующую програмно нельзя, если это операция документа, а не просто операция.
|
|||
23
Дядя Васька
27.04.09
✎
20:27
|
+(22) ОПЕРАЦИЮ изменишь, ПРОВОДКУ нет. Соответственно все равно сначала их надо выбрать и где-то запомнить.
|
|||
24
GreyK
27.04.09
✎
20:32
|
(22) Тебе создать внешний отчет трудно? Вставить туда код и на типовой опробовать трудно?
Твоя ошибка была в обращении к операции. Если долбится через Документ.Операция толка не будет, а через объект "Омерация" можно всё. ПС Запускай на большую базу, мзда будет привлекательней :) |
|||
25
GreyK
27.04.09
✎
20:33
|
+(24) "Омерация" = "Операция"
|
|||
26
zak555
27.04.09
✎
20:34
|
(23) а если раззрешить доку изменять проводки в ручную?
или это только для интерактива? |
|||
27
GreyK
27.04.09
✎
20:36
|
(26) Однописуально :)
|
|||
28
zak555
27.04.09
✎
20:42
|
(27) Как сменить дебет в операции без перепроведения документа?
а тут написано иначе? |
|||
29
GreyK
27.04.09
✎
20:48
|
(28) Молодец, но настоящий подаван 1С вначале смотрит КЖК :), а потом ищет подсказки.
|
|||
30
Дядя Васька
27.04.09
✎
20:56
|
(24) Н-дя, попробовал так, работает:
наверное правда через документ долбился. Ну да бывает... |
|||
31
zak555
27.04.09
✎
20:56
|
(29) нету книжек, нету сейчас 1С-ки ...
вот и спрашиваю... |
|||
32
zak555
27.04.09
✎
20:57
|
(30) Опер.Записать () может из цикла нужно вытащить?
|
|||
33
Дядя Васька
27.04.09
✎
20:59
|
(32) Пример не для работы, на коленке за минуту не думая :)
|
|||
34
zak555
27.04.09
✎
22:11
|
(33) да понтяно...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |