| 
    
        
     
     | 
    
    
  | 
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/     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |