|
|
|
Не видно движений документа при программном добавлении в таблицу Шурик71, Garykom, DiMel_77, Dmitriy_76, okmail, Tarlich, sdf, Волшебник, Viktor1990, maxab72, d4rkmesa, Amra, JohnGilbert, rozer76
| ☑ | ||
|---|---|---|---|---|
|
0
Viktor1990
27.11.25
✎
19:28
|
Добрый вечер!
На форме есть таблица мВедомости в ней есть реквизит с типом документ Мне нужно удалить движения по одному регистру накопления в списке документов за определенный период Если добавляю документ вручную в таблицу, то движения в этом документе видны (НаборЗаписей.Количество() <> 0 ), если через запрос выгружаю нужные документы в таблицу, то движения нулевые. Что сделать, чтобы при программном добавлении в таблицу были видны движения? В таблицу выгружаю ссылку документа. Для каждого Строка Из мВедомости Цикл МДок = Строка.Док.ПолучитьОбъект(); //ЗарплатаКВыплате НаборЗаписей = РегистрыНакопления.НужныйРегистр.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Установить(МДок.Ссылка); НаборЗаписей.Прочитать(); Для Индекс = -НаборЗаписей.Количество() + 1 По 0 Цикл НаборЗаписей.Удалить(-Индекс); КонецЦикла; |
|||
|
1
Волшебник
27.11.25
✎
19:33
|
Цикл наоборот? Такого в 1С нет
Используйте Для Каждого |
|||
|
2
Волшебник
27.11.25
✎
19:34
|
Лучше используйте Объект.Движения
|
|||
|
3
Волшебник
27.11.25
✎
19:35
|
Имейте понимание того, что документ может быть перепроведён
|
|||
|
4
Волшебник
27.11.25
✎
19:35
|
Бот же
|
|||
|
5
Волшебник
27.11.25
✎
19:37
|
НаборЗаписей.Очистить();
НаборЗаписей.Записать(); Прочитать() не нужно |
|||
|
6
Волшебник
27.11.25
✎
19:38
|
Тема совершенно про другое
|
|||
|
7
Dmitriy_76
27.11.25
✎
19:39
|
это нейросеть сгенерировала код ?
|
|||
|
8
Волшебник
27.11.25
✎
19:40
|
(7) это нейросеть сгенерировала пост
|
|||
|
9
Viktor1990
27.11.25
✎
19:40
|
(1) Цикл работает, и отладка заходит в него, если документ добавлен вручную.
|
|||
|
10
Dmitriy_76
27.11.25
✎
19:40
|
(8) ура
|
|||
|
11
Волшебник
27.11.25
✎
19:41
|
Нулевое понимание причин и следствий.
Программирование наугад, надежда на магию |
|||
|
12
Волшебник
27.11.25
✎
19:41
|
(9) Вам уже всё объяснили
|
|||
|
13
Viktor1990
27.11.25
✎
19:41
|
(7) нет
|
|||
|
14
Волшебник
27.11.25
✎
19:42
|
(13) да. Вы тупой бот
|
|||
|
15
Волшебник
27.11.25
✎
19:43
|
НужныйРегистр — плохое имя регистра
|
|||
|
16
Волшебник
27.11.25
✎
19:43
|
Фейковый программный код
|
|||
|
17
Волшебник
27.11.25
✎
19:43
|
Враньё про отладку
|
|||
|
18
Волшебник
27.11.25
✎
19:44
|
Сегодня на форуме творится ёбаный пиздец
|
|||
|
19
Dmitriy_76
27.11.25
✎
19:47
|
Волшебника взломали ?
|
|||
|
20
Dmitriy_76
27.11.25
✎
19:48
|
и кстати.. цикл от -10 до 1 прекрасно работает
|
|||
|
21
Волшебник
27.11.25
✎
19:49
|
(20) но тут другой
|
|||
|
22
Волшебник
27.11.25
✎
19:52
|
Хотя стоп, посыпаю голову пеплом, тут есть минус, не заметил с мобилы
|
|||
|
23
Волшебник
27.11.25
✎
19:50
|
Ну и хрен. Всё равно всё остальное неправильно
|
|||
|
24
Волшебник
27.11.25
✎
19:51
|
(19) Пока ещё нет. Просто привлекаю внимание общественности, раскручиваю форум в новом формате
|
|||
|
25
Dmitriy_76
27.11.25
✎
19:54
|
Для каждого Строка Из мВедомости Цикл
МДок = Строка.Док.ПолучитьОбъект(); //ЗарплатаКВыплате Движ= МДок.Движения.НужныйРегистр; Движ.Записать() КонецЦикла; |
|||
|
26
Волшебник
27.11.25
✎
20:05
|
(25) это рыба, а не удочка
Плохие названия переменных |
|||
|
27
maxab72
27.11.25
✎
20:09
|
"Плохие названия переменных" НужныйРегистр сократим до Нужник...
|
|||
|
28
Viktor1990
27.11.25
✎
20:11
|
(25) в таком коде
Для каждого Строка Из мВедомости Цикл МДок = Строка.Док.ПолучитьОбъект(); Движ= МДок.Движения.ПрочиеРасчеты; Движ.Записать(); Движ.Количество(); КонецЦикла; отладка выдает пустые движения Движ.Количество() = 0 почему? |
|||
|
29
Волшебник
27.11.25
✎
20:12
|
(28) не парьтесь, Вы же удаляете
|
|||
|
30
Волшебник
27.11.25
✎
20:13
|
Запись пустого набора приведёт к удалению записей из регистра
|
|||
|
31
DiMel_77
27.11.25
✎
20:16
|
(0) Во первых вам не нужно читать документ (он может быть огромный, а ссылка у вас и так уже есть.
Во вторых отбор надо делать так: Для каждого Строка Из мВедомости Цикл НаборЗаписей = РегистрыНакопления.НужныйРегистр.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Регистратор.Значение = Строка.Док; В третьих у вас судя по коду очистка поэтому достаточно (как уже говорил Волшебник): НаборЗаписей.Очистить(); НаборЗаписей.Записать(); |
|||
|
32
Волшебник
27.11.25
✎
20:17
|
(31) примени метод Установить()
|
|||
|
33
Viktor1990
27.11.25
✎
20:25
|
(30) Да, количество показывало 0, но в итоге записи удалились.
Всем спасибо. |
|||
|
34
Garykom
гуру
27.11.25
✎
20:45
|
(31) Зачем Очистить() если Прочитать() не делали?
Чтобы грохнуть все записи РС достаточно создать набор (пустой он создается даже с отбором) и записать Особенно если забыть про установку значений отбора... |
|||
|
35
Волшебник
27.11.25
✎
21:03
|
(34) проехали
|
|||
|
36
Волшебник
27.11.25
✎
21:05
|
(33) осознайте свой вопрос на форуме и своё место в мире
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |