![]() |
|
v7: Удалил проводки, а они в оборотке все равно видны | ☑ | ||
---|---|---|---|---|
0
web_profiler
04.08.15
✎
10:05
|
Собственно написал обработочку по удалению проводок из документа "Переоценка валюты" по выбранному фильтру. Проводок не нахожу, а в оборотке наблюдаю их, полный пересчет итогов выполнял
Помогите, пожалуйста, замучался уже |
|||
1
web_profiler
04.08.15
✎
10:11
|
и че делать? мож тестирование и исправление выполнить?
|
|||
2
web_profiler
04.08.15
✎
10:14
|
спасибо всем за "ИСЧЕРПЫВАЮЩИЕ" ответы
|
|||
3
web_profiler
04.08.15
✎
10:14
|
"спасибо"
|
|||
4
itlikbez
04.08.15
✎
10:15
|
(0) Давно программишь?
|
|||
5
web_profiler
04.08.15
✎
10:19
|
ну такое... по семерочке задачки не часто встречаются. (4) а к чему вопрос?
|
|||
6
itlikbez
04.08.15
✎
10:21
|
(5) Держись, дружище, дальше будет хуже.
|
|||
7
web_profiler
04.08.15
✎
10:22
|
(5) вот спасибо, следующий... помощник
|
|||
8
magicSan
04.08.15
✎
10:22
|
(5) Документы потом не забыл перепровести? )))))))))))
|
|||
9
ale-sarin
04.08.15
✎
10:23
|
(0) Если файловая, удалить все файлы CDX, запустить монопольно.
|
|||
10
web_profiler
04.08.15
✎
10:30
|
(8) доки не перепроводил - запустил тестирование. База - скуль
|
|||
11
Попытка1С
04.08.15
✎
10:35
|
После Опер.Записать() бух итоги сами пересчитываюся, все должно было быть нормально.
|
|||
12
Попытка1С
04.08.15
✎
10:35
|
Показывай как удалял
|
|||
13
ifso
04.08.15
✎
10:37
|
(12) тоже хочу научиться из документов проводки удалаять
|
|||
14
web_profiler
04.08.15
✎
10:39
|
(11) Опер.Записать() вылетает по ошибке
|
|||
15
web_profiler
04.08.15
✎
10:40
|
1 минуту
|
|||
16
Попытка1С
04.08.15
✎
10:40
|
(13) И в чем проблема?
|
|||
17
web_profiler
04.08.15
✎
10:42
|
да бог ее, эту семерку, знает. Не могу скинуть пока код, идет тестирование - дерну мышкой - зависнет база ("не отвечает") и прийдется все по-новой тестировать
|
|||
18
web_profiler
04.08.15
✎
10:43
|
или при тестировании - можно свернуть (безболезненно) окно?
|
|||
19
web_profiler
04.08.15
✎
10:44
|
да, кстати, по логике, если я перепроведу документы - то при перепроведении опять насоздаются проводки, которые я удалил
|
|||
20
Попытка1С
04.08.15
✎
10:45
|
(17) Есть плагин который показывает что там в базе происходит когда окно висит на мертво.
|
|||
21
ifso
04.08.15
✎
10:45
|
(16) да вроде нет проблемы, сижу ровно, ожидаю результата запроса "Показывай как удалял" из (12)
|
|||
22
ifso
04.08.15
✎
10:46
|
(19) бяда
|
|||
23
web_profiler
04.08.15
✎
10:46
|
(17) так свернуть можно или лучше обождать?
|
|||
24
lubitelxml
04.08.15
✎
10:48
|
(23) да не зависнет она, просто прогресс не обновляется, сверни и жди
|
|||
25
Попытка1С
04.08.15
✎
10:49
|
(23) Можно.
|
|||
26
web_profiler
04.08.15
✎
10:49
|
свернул окно и оно зависло
|
|||
27
web_profiler
04.08.15
✎
10:50
|
Спр=СоздатьОбъект("Справочник.Валюты");
Спр.НайтиПоКоду("840"); Валюта = Спр.ТекущийЭлемент(); ТабЗнач = СоздатьОбъект("ТаблицаЗначений"); ТабЗнач.НоваяКолонка("Док"); ТабЗнач.НоваяКолонка("Ном"); Опер = СоздатьОбъект("Операция"); Если (ПустоеЗначение(Дебит)=0) И (ПустоеЗначение(Кредит)=0) Тогда Опер.ВыбратьОперацииСПроводками(ДатаН, ДатаК, Дебит + "," + Кредит, Валюта); Иначе Опер.ВыбратьОперацииСПроводками(ДатаН, ДатаК, Счетик); КонецЕсли; СтарНом = ""; Пока Опер.ПолучитьПроводку() = 1 Цикл ТабЗнач.НоваяСтрока(); ТабЗнач.ПолучитьСтрокуПоНомеру(ТабЗнач.КоличествоСтрок()); ТабЗнач.Док = Опер.Документ.ТекущийДокумент(); ТабЗнач.Ном = Опер.НомерПроводки(); СтарНом = ТабЗнач.Ном; КонецЦикла; ПервыйДок = ""; ТабЗнач.ВыбратьСтроки(); Пока ТабЗнач.ПолучитьСтроку() = 1 цикл Если (ПервыйДок <> ТабЗнач.Док) И (ПервыйДок = "") тогда Опер = СоздатьОбъект("Операция"); Опер.НайтиОперацию(ТабЗнач.Док); Опер.ВыбратьПроводки(); ПервыйДок = Опер.Документ.ТекущийДокумент(); Опер.ПолучитьПроводкуПоНомеру(ТабЗнач.Ном); ИначеЕсли ПервыйДок = ТабЗнач.Док тогда Опер.ПолучитьПроводкуПоНомеру(ТабЗнач.Ном); Иначе Опер.Записать(); Опер = СоздатьОбъект("Операция"); Опер.НайтиОперацию(ТабЗнач.Док); Опер.ВыбратьПроводки(); ПервыйДок = Опер.Документ.ТекущийДокумент(); Опер.ПолучитьПроводкуПоНомеру(ТабЗнач.Ном); КонецЕсли; Если УдалитьПроводки = 0 Тогда Курс = глКурсДляВалюты(Валюта, Опер.ДатаОперации); ВалСумма = глПересчет(Опер.Сумма,Гривня,Валюта,Опер.ДатаОперации); Опер.УстановитьАтрибут("ВалСумма", ВалСумма); Попытка Опер.УстановитьАтрибут("Курс", Курс); Исключение КонецПопытки; Опер.УстановитьАтрибут("Валюта", Валюта); Иначе Опер.УдалитьПроводку(); КонецЕсли; Сообщить(Опер.Документ); Конеццикла; Попытка Опер.Записать(); Исключение КонецПопытки; |
|||
28
lubitelxml
04.08.15
✎
10:51
|
(26) подожди - закончит и отвиснет
|
|||
29
web_profiler
04.08.15
✎
10:52
|
не отвиснет
|
|||
30
Попытка1С
04.08.15
✎
10:55
|
Код на помойку.
|
|||
31
web_profiler
04.08.15
✎
10:55
|
чей-то?
|
|||
32
web_profiler
04.08.15
✎
10:56
|
(30)помоги
|
|||
33
Попытка1С
04.08.15
✎
10:57
|
За создание объекта в цикле вообще тапками надо бить по рукам.
|
|||
34
vcv
04.08.15
✎
10:57
|
"идет тестирование - дерну мышкой - зависнет база"
Не виснет ничего. Это MS когда-то изменения в винду, а 1С проигнорировала сей факт. Грубо говоря, в эпоху WinNT окна приложений перерисовывались системой принудительно. Потом, для экономии ресурсов, потребовали, что бы приложение сообщало системе, что окно требуется перерисовать. 1С в процессе тестирования никак не сообщает, винде о том, что оно живое, соответственно получаем "белый квадрат Малевича". |
|||
35
Попытка1С
04.08.15
✎
11:03
|
Напихай доки в ТЗ
дальше перебор твой ТЗ с доками это за цикл Опер = СоздатьОбъект("Операция"); потом Опер.НайтиОперацию(тут твой док из тз); Опер.ВыбратьПроводки(); тут обратный цикл по проводкам документа с уловием на дебит кредит и тд ну и Опер.УдалитьПроводку(); Опер.Записать(); перед концом цикла по документам потом следущий документ и тд ничего вылетать не будет при записи |
|||
36
web_profiler
04.08.15
✎
11:04
|
(35) у меня ж тоже самое...
|
|||
37
Попытка1С
04.08.15
✎
11:04
|
Хотя я на твоем месте бы разобрался почему у тебя лишние переоценки делаются, там есть список счетов в 7.7 с особым порядком переоценки, может тебе просто туда надо это все добавить и лишних проводок не будет?
|
|||
38
Попытка1С
04.08.15
✎
11:04
|
Нет у тебя не тоже самое.
|
|||
39
web_profiler
04.08.15
✎
11:06
|
Напихай доки в ТЗ
ТабЗнач = СоздатьОбъект("ТаблицаЗначений"); ТабЗнач.НоваяКолонка("Док"); ТабЗнач.НоваяКолонка("Ном"); Опер = СоздатьОбъект("Операция"); Если (ПустоеЗначение(Дебит)=0) И (ПустоеЗначение(Кредит)=0) Тогда Опер.ВыбратьОперацииСПроводками(ДатаН, ДатаК, Дебит + "," + Кредит, Валюта); Иначе Опер.ВыбратьОперацииСПроводками(ДатаН, ДатаК, Счетик); КонецЕсли; СтарНом = ""; Пока Опер.ПолучитьПроводку() = 1 Цикл ТабЗнач.НоваяСтрока(); ТабЗнач.ПолучитьСтрокуПоНомеру(ТабЗнач.КоличествоСтрок()); ТабЗнач.Док = Опер.Документ.ТекущийДокумент(); ТабЗнач.Ном = Опер.НомерПроводки(); СтарНом = ТабЗнач.Ном; КонецЦикла; напихал перебор твой ТЗ с доками ПервыйДок = ""; ТабЗнач.ВыбратьСтроки(); Пока ТабЗнач.ПолучитьСтроку() = 1 цикл ,,,, конеццикла; потом Опер.НайтиОперацию(тут твой док из тз); Если (ПервыйДок <> ТабЗнач.Док) И (ПервыйДок = "") тогда Опер = СоздатьОбъект("Операция"); Опер.НайтиОперацию(ТабЗнач.Док); Опер.ВыбратьПроводки(); ПервыйДок = Опер.Документ.ТекущийДокумент(); Опер.ПолучитьПроводкуПоНомеру(ТабЗнач.Ном); |
|||
40
1Сергей
04.08.15
✎
11:07
|
"дебит" :)
|
|||
41
Попытка1С
04.08.15
✎
11:08
|
Ты напихал доки и номера проводок, и пытаешься их удалить с привязкой к номеру.
А я тебе говорю что напихай доки, и перебери обратным циклом с условием, и прямо в цикле удаляй. |
|||
42
web_profiler
04.08.15
✎
11:08
|
(40) да ладно, тебе
|
|||
43
web_profiler
04.08.15
✎
11:09
|
помоги, плиз, до 4:30 не спал - нич... не сображаю
|
|||
44
Попытка1С
04.08.15
✎
11:17
|
Операция = СоздатьОбъект("Операция");
цикл по докам Опер.НайтиОперацию(ТабЗнач.Док); фл = 0; для сч = - Опер.КоличествоПроводок() По - 1 Цикл Опер.ПолучитьПроводкуПоНомеру(-Сч); //тут условие на дебет кредит и прочее фл = 1; Операция.УдалитьПроводку(); КонецЦикла; если фл = 1 тогда Операция.Записать(); конецесли КонецЦикла; |
|||
45
web_profiler
04.08.15
✎
11:34
|
операция не выбрана
|
|||
46
web_profiler
04.08.15
✎
11:43
|
пока все ок
|
|||
47
Злопчинский
04.08.15
✎
13:05
|
может пригодится [DELOPER] Массовое удаление выборочных проводок из ручных операций http://catalog.mista.ru/public/14191/
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |