![]() |
![]() |
![]() |
|
Как перебрать в цикле движения по бухгалтерии и ненужные проводки удалить? | ☑ | ||
---|---|---|---|---|
0
dimon_ddv
15.09.09
✎
11:16
|
Добрый день всем!!!
У нас бухгалтерия 8.1. Поделитесь... Как перебрать в цикле движения по бухгалтерии и ненужные проводки удалить? |
|||
1
igork1966
15.09.09
✎
11:17
|
(0) RTFM?
|
|||
2
IronDemon
15.09.09
✎
11:17
|
А что такое "ненужные проводки"?
|
|||
3
igork1966
15.09.09
✎
11:18
|
(2) налоги? ;-)
|
|||
4
hhhh
15.09.09
✎
11:19
|
(2) которые от прошлого главбуха остались.
|
|||
5
dimon_ddv
15.09.09
✎
11:22
|
Нет переносили данные в чистую Бух из рабочей... в рабочей велись несколько контор, в чистую же перенесли данные только по одной... переносили обработкой выгр/загр данных в одинаковых конфигурациях.... то есть перенеслось из регистра бухгалтерии вся инфа по всем организациям, а документы только по нужной. теперь висят проводки в журнале проводок с регистраторами в виде "объект не найден" :)
|
|||
6
dimon_ddv
15.09.09
✎
11:24
|
Надо перебирать в цикле движения по регистру, проверять условие - и удалять проводки. есть у кого пример подобной обработки?
|
|||
7
IronDemon
15.09.09
✎
11:28
|
Начни с запроса
|
|||
8
dimon_ddv
15.09.09
✎
11:31
|
(7) запросом я выведу список проводок, но как удалить их в переборке данных запроса?
// Вставить содержимое обработчика. Запрос = Новый Запрос("ВЫБРАТЬ | ХозрасчетныйОстаткиИОбороты.Организация Как Организация |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты"); Выборка=запрос.выполнить().выбрать(); Пока выборка.следующий() цикл Если (Выборка.Организация = Орг1) или (Выборка.Организация = Орг2) Тогда //пропускаем проводку Иначе // тут надо удаление проводки написать... :) КонецЕсли; КонецЦикла; |
|||
9
hhhh
15.09.09
✎
11:38
|
(6) эта обработка называется ТИИ. Ставишь галочку "Удалять объекты" и вперед.
|
|||
10
dimon_ddv
15.09.09
✎
11:43
|
(9) расшифруй ТИИ пожалуйста.
|
|||
11
hhhh
15.09.09
✎
11:46
|
тестирование и исправление информационной базы
|
|||
12
dimon_ddv
15.09.09
✎
11:47
|
дак это же для 7.7, в 8.1 такого не встречал
|
|||
13
hhhh
15.09.09
✎
11:50
|
(12) прикалываешься?
|
|||
14
dimon_ddv
15.09.09
✎
11:52
|
честно туплю.... по крайней мере ни разу не пользовался
|
|||
15
dimon_ddv
15.09.09
✎
11:54
|
я в ней не вижу как задать условие что удалять...
|
|||
16
НЕА123
15.09.09
✎
11:54
|
(0)
удаление записей с битыми регистраторами. Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ | ХозрасчетныйОстаткиИОбороты.Регистратор Как Док |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты ГДЕ ХозрасчетныйОстаткиИОбороты.Регистратор.Ссылка ЕСТЬ NULL"); Выборка=запрос.выполнить().выбрать(); Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Пока выборка.следующий() цикл Проводки.Отбор.Регистратор.Установить(Выборка.Док); Проводки.Записать(ИСТИНА); КонецЦикла; не проверял. |
|||
17
dimon_ddv
15.09.09
✎
11:58
|
(16) что-то подобное и нужно, только не понял вот тут что делается:
Пока выборка.следующий() цикл Проводки.Отбор.Регистратор.Установить(Выборка.Док); Проводки.Записать(ИСТИНА); КонецЦикла; |
|||
18
hhhh
15.09.09
✎
12:00
|
(17) записывается пустой набор в движения документа Регистратор.
|
|||
19
dimon_ddv
15.09.09
✎
12:00
|
(11) ТиИ удаляет объекты с ошибками, а не записи с пустыми ссылками в регистре
|
|||
20
hhhh
15.09.09
✎
12:01
|
(19) там не пустая ссылка, а полная. Просто она "битая".
|
|||
21
НЕА123
15.09.09
✎
12:02
|
(17)
это про записать пустоту. остальное в СП. |
|||
22
dimon_ddv
15.09.09
✎
12:03
|
(21) где? :)
|
|||
23
НЕА123
15.09.09
✎
12:05
|
(22)
СП = мужик в шапке = синтакс-помощник |
|||
24
dimon_ddv
15.09.09
✎
12:09
|
(23) :) то есть обнуляем ссылки у проводок, а затем ищем эти проводки и удаляем, это предлагаешь по сути?
|
|||
25
dimon_ddv
15.09.09
✎
12:11
|
а может сразу:
Пока выборка.следующий() цикл Проводки.Отбор.Регистратор.Установить(Выборка.Док); Проводки.Удалить(); КонецЦикла; или не прокатит??? мне нужно вообще избавиться от этих проводок, чтобы в базе их небыло!!! |
|||
26
hhhh
15.09.09
✎
12:14
|
(25) тогда и нужную организацию удалишь.
|
|||
27
dimon_ddv
15.09.09
✎
12:17
|
запрос проверил - не работает... измерения Регистратор нет
|
|||
28
dimon_ddv
15.09.09
✎
12:17
|
{Форма.Форма(28)}: Ошибка при вызове метода контекста (Выполнить): {(4, 117)}: Поле не найдено "ХозрасчетныйОстаткиИОбороты.Регистратор.Ссылка"
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты ГДЕ ХозрасчетныйОстаткиИОбороты.<<?>>Регистратор.Ссылка ЕСТЬ NULL Выборка=запрос.выполнить().выбрать(); по причине: {(4, 117)}: Поле не найдено "ХозрасчетныйОстаткиИОбороты.Регистратор.Ссылка" РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты КАК ХозрасчетныйОстаткиИОбороты ГДЕ ХозрасчетныйОстаткиИОбороты.<<?>>Регистратор.Ссылка ЕСТЬ NULL |
|||
29
hhhh
15.09.09
✎
12:23
|
(28) так тебя просили СП еще почитать.
РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(,, Регистратор) КАК ..... |
|||
30
dimon_ddv
15.09.09
✎
12:43
|
(29) поправил и запустил ... ждемс :) по крайней мере не ругается уже 5 минут как :)
|
|||
31
dimon_ddv
15.09.09
✎
12:44
|
сглазил :)
ошибочка: {Форма.Форма(38)}: Недостаточно фактических параметров Проводки.Удалить(); |
|||
32
dimon_ddv
15.09.09
✎
12:46
|
Проводки.Удалить() - удаляет субконто а не саму проводку :(
|
|||
33
hhhh
15.09.09
✎
13:08
|
(32) Проводки.Удалить() - это твоя выдумка. На самом деле
Проводки.Записать(ИСТИНА); как и советуют в (16). |
|||
34
dimon_ddv
15.09.09
✎
13:14
|
(33)
{Форма.Форма(41)}: Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр бухгалтерии: Журнал проводок (бухгалтерский учет)) Проводки.Записать(Истина); |
|||
35
dimon_ddv
15.09.09
✎
13:15
|
общий текст:
Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ | ХозрасчетныйОстаткиИОбороты.Регистратор Как Док |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОстаткиИОбороты(,, Регистратор) КАК ХозрасчетныйОстаткиИОбороты ГДЕ ХозрасчетныйОстаткиИОбороты.Регистратор.Ссылка ЕСТЬ NULL"); Выборка=запрос.выполнить().выбрать(); //Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Пока выборка.следующий() цикл //Выборка.Владелец().Пустой(); Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Проводки.Отбор.Регистратор.Установить(Выборка.Док); Проводки.УстановитьАктивность(Ложь); Проводки.Записать(Истина); КонецЦикла; |
|||
36
dimon_ddv
15.09.09
✎
13:40
|
как вообще удаляются проводки?
|
|||
37
НЕА123
15.09.09
✎
13:50
|
лучше без остатков и оборотов.
зачем устанавливать активность? Запрос = Новый Запрос("ВЫБРАТЬ РАЗЛИЧНЫЕ | Хозрасчетный.Регистратор Как Док |ИЗ | РегистрБухгалтерии.Хозрасчетный КАК Хозрасчетный ГДЕ Хозрасчетный.Регистратор.Ссылка ЕСТЬ NULL"); Выборка=запрос.выполнить().выбрать(); Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей(); Пока выборка.следующий() цикл Если ЗначениеЗаполнено(Выборка.Док) Тогда //Регистратор мб пустым Проводки.Отбор.Регистратор.Установить(Выборка.Док); Проводки.Записать(Истина); Иначе Сообщить("ПустаяСсылка!!!"); КонецЕсли; КонецЦикла; |
|||
38
dimon_ddv
16.09.09
✎
07:14
|
(37) ОГРОМНЕЙШЕЕ СПАСИБО!!! все сделалось на ура :)
|
|||
39
dimon_ddv
16.09.09
✎
11:22
|
Это же применимо и к регистрам накопления, формирующим итоги.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |