|
Проблема с пометкой | ☑ | ||
---|---|---|---|---|
0
Nemirov
22.10.19
✎
16:20
|
Проблема с отметкой на первой тз она отображается https://ibb.co/CQY2w5Z
А на второй нет https://ibb.co/PY80bK2 Где ошибка? |
|||
1
Nemirov
22.10.19
✎
16:20
|
Процедура ПриОткрытии()
///Для ТЗ По Номенклатуре Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЛОЖЬ КАК Отметка, | РезервРЦ.Номенклатура КАК Номенклатура, | РезервРЦ.Характеристика КАК Характеристика, | РезервРЦ.ЗарезервированоЗа КАК ЗарезервированоЗа, | РезервРЦ.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | РезервРЦ.ПоДокументу КАК ПоДокументу, | РезервРЦ.Количество КАК Количество |ИЗ | РегистрСведений.РезервРЦ КАК РезервРЦ"; ТП1 = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.ТП1.СоздатьКолонки(); ////Для ТЗ По Документу ЗРП = Новый Запрос; ЗРП.Текст = "ВЫБРАТЬ | ЛОЖЬ КАК Отметка2, | РезервРЦ.ПоДокументу КАК ПоДокументу, | КОЛИЧЕСТВО(РАЗЛИЧНЫЕ РезервРЦ.Количество) КАК Количество |ИЗ | РегистрСведений.РезервРЦ КАК РезервРЦ | |СГРУППИРОВАТЬ ПО | РезервРЦ.ПоДокументу"; ТП2 = ЗРП.Выполнить().Выгрузить(); ЭлементыФормы.ТП2.СоздатьКолонки() КонецПроцедуры Процедура ОсновныеДействияФормыУдалить(Кнопка,Объект) Для Каждого Строка Из ТП1 Цикл Если Строка.Отметка Тогда НаборЗаписей = РегистрыСведений.РезервРЦ.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Номенклатура.Установить(Строка.Номенклатура); НаборЗаписей.Отбор.Характеристика.Установить(Строка.Характеристика); НаборЗаписей.Отбор.ЕдиницаИзмерения.Установить(Строка.ЕдиницаИзмерения); НаборЗаписей.Отбор.ЗарезервированоЗа.Установить(Строка.ЗарезервированоЗа); НаборЗаписей.Отбор.ПоДокументу.Установить(Строка.ПоДокументу); Если НаборЗаписей.Количество() > 0 Тогда НаборЗаписей.Удалить(НаборЗаписей[0]); КонецЕсли; НаборЗаписей.Записать(); НаборЗаписей.Прочитать(); КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЛОЖЬ КАК Отметка, | РезервРЦ.Номенклатура КАК Номенклатура, | РезервРЦ.Характеристика КАК Характеристика, | РезервРЦ.ЗарезервированоЗа КАК ЗарезервированоЗа, | РезервРЦ.ЕдиницаИзмерения КАК ЕдиницаИзмерения, | РезервРЦ.ПоДокументу КАК ПоДокументу, | РезервРЦ.Количество КАК Количество |ИЗ | РегистрСведений.РезервРЦ КАК РезервРЦ"; ТП1 = Запрос.Выполнить().Выгрузить(); ЭлементыФормы.ТП1.СоздатьКолонки(); КонецЦикла; КонецПроцедуры Процедура ТП1ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОформлениеСтроки.Ячейки.Отметка.ОтображатьФлажок = Истина; ОформлениеСтроки.Ячейки.Отметка.ОтображатьТекст = Ложь; Если ДанныеСтроки.Отметка = Неопределено ИЛИ ДанныеСтроки.Отметка = Ложь Тогда ОформлениеСтроки.Ячейки.Отметка.Флажок = Ложь; Иначе ОформлениеСтроки.Ячейки.Отметка.Флажок = Истина; КонецЕсли; КонецПроцедуры Процедура ТП2ПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) ОформлениеСтроки.Ячейки.Отметка2.ОтображатьФлажок = Истина; ОформлениеСтроки.Ячейки.Отметка2.ОтображатьТекст = Ложь; Если ДанныеСтроки.Отметка2 = Неопределено ИЛИ ДанныеСтроки.Отметка2 = Ложь Тогда ОформлениеСтроки.Ячейки.Отметка2.Флажок = Ложь; Иначе ОформлениеСтроки.Ячейки.Отметка2.Флажок = Истина; КонецЕсли; КонецПроцедуры Процедура ТП1ПриИзмененииФлажка(Элемент, Колонка) Если Элемент.ТекущаяСтрока.Отметка Тогда Элемент.ТекущаяСтрока.Отметка = Ложь Иначе Элемент.ТекущаяСтрока.Отметка= Истина; КонецЕсли; КонецПроцедуры Процедура ТП2ПриИзмененииФлажка(Элемент, Колонка) Если Элемент.ТекущаяСтрока.Отметка2 Тогда Элемент.ТекущаяСтрока.Отметка2 = Ложь Иначе Элемент.ТекущаяСтрока.Отметка2= Истина; КонецЕсли; КонецПроцедуры Процедура ВыбратьВсеНажатие(Элемент) Для каждого Строка Из ТП1 Цикл Строка.Отметка = Истина; КонецЦикла; ЭлементыФормы.ТП1.СоздатьКолонки(); Для каждого Строка Из ТП1 Цикл Строка.Отметка2 = Истина; КонецЦикла; ЭлементыФормы.ТП2.СоздатьКолонки(); КонецПроцедуры Процедура СнятьВсеНажатие(Элемент) Для каждого Строка Из ТП1 Цикл Строка.Отметка = Ложь; КонецЦикла; ЭлементыФормы.ТП1.СоздатьКолонки(); Для каждого Строка Из ТП2 Цикл Строка.Отметка2 = Ложь; КонецЦикла; ЭлементыФормы.ТП2.СоздатьКолонки(); КонецПроцедуры |
|||
2
hhhh
22.10.19
✎
16:32
|
(1) чего-то хрень какая-то у вас
Для каждого Строка Из ТП1 Цикл Строка.Отметка2 = Истина; КонецЦикла; |
|||
3
Nemirov
22.10.19
✎
16:41
|
(2) Процедура ставит отметки на всех строках.
|
|||
4
Михаил Козлов
22.10.19
✎
16:42
|
Не хотите вместо таблицы значений использовать табличную часть обработки?
Не будет геморроя с колонками. |
|||
5
dezss
22.10.19
✎
16:43
|
НаборЗаписей = РегистрыСведений.РезервРЦ.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Номенклатура.Установить(Строка.Номенклатура); НаборЗаписей.Отбор.Характеристика.Установить(Строка.Характеристика); НаборЗаписей.Отбор.ЕдиницаИзмерения.Установить(Строка.ЕдиницаИзмерения); НаборЗаписей.Отбор.ЗарезервированоЗа.Установить(Строка.ЗарезервированоЗа); НаборЗаписей.Отбор.ПоДокументу.Установить(Строка.ПоДокументу); Если НаборЗаписей.Количество() > 0 Тогда НаборЗаписей.Удалить(НаборЗаписей[0]); КонецЕсли; НаборЗаписей.Записать(); НаборЗаписей.Прочитать(); Это таки шо? Как Количество может быть больше 0, если не прочитали еще. Кстати, этим кодом регистр очиститься по отбору. |
|||
6
Nemirov
22.10.19
✎
16:44
|
(5) При открытии выше)
|
|||
7
dezss
22.10.19
✎
16:46
|
(6) Что выше?
Я тут привел законченный кусок кода, который тупо очищает регистр по отбору, при этом зачем-то проверяя количество. А потом его, внезапно, читает О_О |
|||
8
dezss
22.10.19
✎
16:47
|
(6) А про ОФ даже как-то вспоминать не хочется, если честно)))
|
|||
9
Nemirov
23.10.19
✎
08:38
|
(5) При открытии выше) (7) Что ты гонишь, вот именно не записав и не прочитав ты ее из тз удалишь и все в регистре все останется, 1000раз проверено этот кусок кода верный.
|
|||
10
catena
23.10.19
✎
10:05
|
Вы собираетесь каждый день заводить по теме с одним и тем же вопросом?
|
|||
11
Ёпрст
23.10.19
✎
10:09
|
||||
12
dezss
23.10.19
✎
10:30
|
(9) Да е-мое.
Я про ТЗ вообще ничего не писал. Я комментировал только тот кусок, который выделил в (5), а в нем про ТЗ нет вообще ничего. Там создается набор записей, устанавливается отбор, потом (не читая набор по отбору) проверяется количество. Там всегда будет 0 записей!!! Потом этот набор записывается по набору измерений, установленному в отборе. Т.е. очищается, так как в этом наборе 0 записей. А потом его, зачем-то читаешь. Нафига его вообще читать, если ты только что удалил все записи из регистра по этому отбору? Чтобы было более доходчиво. Вот этот код не имеет смысла вообще: Если НаборЗаписей.Количество() > 0 Тогда НаборЗаписей.Удалить(НаборЗаписей[0]); КонецЕсли; НаборЗаписей.Прочитать(); |
|||
13
Ёпрст
23.10.19
✎
10:31
|
(12) он не понимает, ему об этом говорили в прошлых сериях.
|
|||
14
dezss
23.10.19
✎
17:29
|
е-мое...я сейчас посмотрел остальной код.
И ведь не учится. Хотя б этот код Если Элемент.ТекущаяСтрока.Отметка Тогда Элемент.ТекущаяСтрока.Отметка = Ложь Иначе Элемент.ТекущаяСтрока.Отметка= Истина; КонецЕсли; заменил на Элемент.ТекущаяСтрока.Отметка = Не Элемент.ТекущаяСтрока.Отметка; Про код в ОсновныеДействияФормыУдалить, вообще лучше не говорить. |
|||
15
hhhh
23.10.19
✎
17:43
|
(12) не ну процедура же ДействияФормыУдалить
и этот код у него удаляет эту строчку, тут не поспоришь. |
|||
16
dezss
24.10.19
✎
08:45
|
(15) Ага...попутно удаляя записи из базы)))
|
|||
17
dezss
24.10.19
✎
08:46
|
(16) + Да еще и в цикле перезаполняя ТЗ несколько раз.
|
|||
18
Nemirov
24.10.19
✎
10:20
|
(12) Какое отношение имеет данный код к моему вопросу
|
|||
19
Nemirov
24.10.19
✎
10:22
|
(17) Ты сюда пришел оценивать структуру кода? Если не имеешь понятия какой ответ дать по моему вопросу иди откуда пришел!
|
|||
20
hhhh
24.10.19
✎
10:22
|
(18) ну, раз вы его сюда выложили, значит имеет. Если бы не имел отношения, вы бы его сюда не выкладывали, логично?
|
|||
21
hhhh
24.10.19
✎
10:25
|
(18) а тот кусок кода, который в (2) поправили?
|
|||
22
Мимохожий Однако
24.10.19
✎
10:30
|
(18) (19) ОФФ Хамство. ИМХО
Вместо точного описания вывалил мусор с кодом. ... Советую научиться пользоваться СП и отладчиком. |
|||
23
Nemirov
24.10.19
✎
12:22
|
(21) Да, спасибо.
|
|||
24
dezss
24.10.19
✎
14:55
|
(18) А зачем он тут, если его не предполагалось оценивать?
(19) Т.е. учиться мы не собираемся. Ок. |
|||
25
dezss
24.10.19
✎
14:57
|
(24) + вот лично я поблагодарил бы человека, если бы он указал мне, где у меня неправильно или неэффективно.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |