|
Каждый цикл удалять строку ТЧ, которая не участвовала в проведении. | ☑ | ||
---|---|---|---|---|
0
Guerro
07.06.19
✎
09:03
|
Задача в том, что выгружается весь список данных по определенным условиям(так нужно для инфографики). Но при проведении нужно удалять те, которые не подошли под условия.
<code> Процедура ОбработкаПроведения(Отказ, РежимПроведения) ПовторныйШК=""; Для каждого СтрТЧ из ТабличнаяЧасть1 Цикл РезультатЗапроса=РегистрыНакопления.Потолки.Остатки(,Новый Структура("Код",СтрТЧ.Код)); Движения.Потолки.Записывать=Истина; Если РезультатЗапроса.Количество()=2 Тогда Если ПовторныйШК<>СтрТЧ.Код тогда Для каждого РЗ Из РезультатЗапроса Цикл Если РЗ.ЦенаИзделия<0 Тогда Движение=Движения.Потолки.ДобавитьПриход(); ... Иначе Движение=Движения.Потолки.ДобавитьРасход(); ... КонецЕсли; КонецЦикла; ПовторныйШК=СтрТЧ.Код; КонецЕсли; ИначеЕсли РезультатЗапроса.Количество()=1 тогда РЗ=РезультатЗапроса[0]; РезультатЗапросаСостоянияПотолков=РегистрыНакопления.СостояниеПотолков.Остатки(,Новый Структура("Код",СтрТЧ.Код)); Если РезультатЗапросаСостоянияПотолков.Количество()=0 тогда Если РЗ.ЦенаИзделия<0 Тогда Движение=Движения.Потолки.ДобавитьПриход(); ... Иначе Движение=Движения.Потолки.ДобавитьРасход(); ... КонецЕсли; КонецЕсли; ИначеЕсли РезультатЗапроса.Количество()>0 тогда Для Каждого РЗ из РезультатЗапроса цикл Если РЗ.ЦенаИзделия<0 Тогда Движение=Движения.Потолки.ДобавитьПриход(); ... Иначе Движение=Движения.Потолки.ДобавитьРасход(); ... КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; КонецПроцедуры </code> |
|||
1
Guerro
07.06.19
✎
09:04
|
Подскажите, как код адекватно вставлять?
|
|||
2
mistеr
07.06.19
✎
09:08
|
(0) Откуда удалять? Где список? Ничего не понятно.
|
|||
3
Фрэнки
07.06.19
✎
09:10
|
Только удалять строки из ТЧ надо не в Обработке проведения, а в ПередЗаписью
- ловить в ПередЗаписью режим записи, какой нужен, чтоб отличать простую запись документа от записи с проведением и чистить ТЧ от лишних строк. Тогда строки в ТЧ будут соответствовать строкам в движениях. А сейчас соответствия нет. Ну и если все-таки формируются движения с пропусками ли добавлениями лишних записей (лишних относительно состава строк в ТЧ), то обычно формируют ТаблицуДвижений, которую затем загружают в движения. |
|||
4
vicof
07.06.19
✎
09:11
|
(0) Запросы в цикле это плохо.
Для каждого из регистров сделай по запросу. И их результаты перебирай и записывай в регистры. |
|||
5
vicof
07.06.19
✎
09:12
|
Плюс непонятно при чем тут инфографика. В тексте ни одного упоминания про нее.
|
|||
6
Guerro
07.06.19
✎
09:12
|
образец списка: http://images.vfl.ru/ii/1559887952/b07a33ad/26809054.png
|
|||
7
Guerro
07.06.19
✎
09:14
|
(4) Согласен, просто сделан "на коленке"
|
|||
8
vicof
07.06.19
✎
09:14
|
Удалять при проведении ничего не нужно, нужно формировать выборку данных таким образом, чтобы не пришлось ничего удалять, а только перебрать полученные данные построчно.
|
|||
9
Фрэнки
07.06.19
✎
09:15
|
(4) да у него хоть и указан цикл, но количество строк явно равно 2 :-)
Только когда количество строк в запросе 1 - только тогда обращается с другим запросом. |
|||
10
ДенисЧ
07.06.19
✎
09:17
|
||||
11
vicof
07.06.19
✎
09:17
|
(7) Не "на коленке", а "через жопу".
(9) Ну это ж тоже гкод, я пытаюсь направить светлый разум на понимание того, что он пишет. |
|||
12
mistеr
07.06.19
✎
09:18
|
(3) Удалять строки в ПередЗаписью тоже плохо. Все изменения данных в доке должны быть явными. По кнопке, например.
|
|||
13
Guerro
07.06.19
✎
09:20
|
В итоге пришли к тому, что стоит выгружать уже отбором. Чтобы не было надобности чистить перед записью. и к тому, что (11) дохера возомнил о своем опыте и все остальные должны писать как он, даже с меньшим опытом
|
|||
14
vicof
07.06.19
✎
09:23
|
(13) Да, служи мне, подлый студентишка!!!
Чо за наезды? Хрен я теперь тебя буду направлять на понимание того, что ты пишешь. |
|||
15
Smile 8D
07.06.19
✎
09:36
|
(13) Да, все должны стремиться к тому, чтобы писать корректный и оптимальный код. Малый опыт должен являться не оправданием писать "криво", а стимулом стремиться к лучшему, прислушиваться к более опытным коллегам и переписывать "кривой" код.
Т.е. правильная позиция - прислушиваться и задавать уточняющие вопросы (если уж кто-то решил потратить свое время и поделиться с вами опытом бесплатно), а не вставать в позу и хамить от того что вам не понравилась форма подачи информации. |
|||
16
Guerro
07.06.19
✎
10:58
|
(15) (14) Я готов прислушаться к советам а читать в свой адрес "через жопу", не собираюсь. за советы спасибо.
|
|||
17
catena
07.06.19
✎
11:10
|
(16)Это интернет, детка, тут могут и послать.
Выражение относилось не в ваш адрес, а в адрес кода. Пожалуйста, относитесь вежливо к людям, которые абсолютно бесплатно и очень оперативно дают вам советы. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |