|
Проблема с флажком 2ч | ☑ | ||
---|---|---|---|---|
0
Baumgartlinger
22.02.19
✎
16:59
|
Добрый день
Решил с Вашей помощью проблему: Проблема с флажком но как корректно заполнить значение флажка по условию при открытии - я просто понятия не имею опять, указываю при каком условии поставить Истину - истина присваивается, а изменять значения не могу |
|||
1
Baumgartlinger
22.02.19
✎
17:17
|
Процедура ПриОткрытии()
//Выгрузить = Истина; Если ДокументСписок.Отбор.ВыгруженоВПрофит.Значение = Ложь Тогда //ЭлементыФормы.ДокументСписок.Колонки.Выгрузить.ЭлементУправления.Значение = Истина; //ЭлементыФормы.ДокументСписок.Колонки.Выгрузить.ДанныеФлажка = НЕ ДокументСписок.Отбор.ВыгруженоВПрофит.Значение; //ЭлементыФормы.ДокументСписок.Колонки.Выгрузить.ДанныеФлажка = "Истина"; КонецЕсли; КонецПроцедуры крайние попытки выглядели так |
|||
2
RomanYS
22.02.19
✎
17:41
|
(0) Странный ход. Лучше бы поднял ту ветку, если хочется начать с чистого листа - тогда уж давай вводные до чего ты там дошел.
(1) Заполнять надо коллекцию в которой ты кешируешь свои флажки, можно запросом. Принципиальный вопрос учитывать ли периоды и отборы. |
|||
3
Baumgartlinger
22.02.19
✎
17:54
|
(2) Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл СтрПоиска = СоответствиеДоков.Получить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит); Если СтрПоиска<>Неопределено Тогда СоответствиеДоков.Вставить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит,Ложь); СтрПоиска = ложь; КонецЕсли; ОформлениеСтроки.Ячейки.Выгрузить.ОтображатьФлажок = Истина; ОформлениеСтроки.Ячейки.Выгрузить.ЗначениеФлажка = СтрПоиска; КонецЦикла; //Если ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит = Ложь Тогда //ОформлениеСтроки.Ячейки.Выгрузить.ЗначениеФлажка = Истина КонецПроцедуры приведенная ниже процедура: ставлю точку останова, когда изменяю значение флажка - процедура не срабатывает срабатывает лишь когда кликаю мимо флажка (в этой же колонке), и оно летит открывать документОснование Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) Если ЭтаФорма.РежимВыбора Тогда Возврат; КонецЕсли; Если Колонка.Имя="Выгрузить" Тогда СтрПоиска = СоответствиеДоков.Получить(ВыбраннаяСтрока.ВыгруженоВПрофит); Если СтрПоиска<>Неопределено Тогда СоответствиеДоков.Вставить(ВыбраннаяСтрока.ВыгруженоВПрофит, НЕ СтрПоиска); КонецЕсли; СтандартнаяОбработка=Ложь; КонецЕсли; КонецПроцедуры ну и все, пытался внедрять всяко-разные комбинации ПриОткрытии |
|||
4
Baumgartlinger
23.02.19
✎
13:11
|
вся фишка в том, я не знаю как при открытии мне обратиться к колонке с флажком, соответственно заполнив ее по условию
при открытии надо загнать все в соответствие? |
|||
5
RomanYS
23.02.19
✎
13:17
|
(4) >> вся фишка в том, я не знаю как при открытии мне обратиться к колонке с флажком, соответственно заполнив ее по условию
к колонке можно обратиться, к данным в ней нет >>при открытии надо загнать все в соответствие? загнать - Да все? - зависит от задачи |
|||
6
Baumgartlinger
23.02.19
✎
13:36
|
(5) спасибо, тогда попробую разобраться с синтаксисом
|
|||
7
Baumgartlinger
25.02.19
✎
13:18
|
СоответствиеДоков.Вставить(Да, ДокументСписок.Отбор.ВыгруженоВПрофит.Значение = Ложь);
СоответствиеДоков.Вставить(Нет, ДокументСписок.Отбор.ВыгруженоВПрофит.Значение = Истина); Если ДокументСписок.Отбор.ВыгруженоВПрофит.Значение = Ложь Тогда Выгрузить = СоответствиеДоков.Получить(Да); Иначе Выгрузить = СоответствиеДоков.Получить(Нет); КонецЕсли; Подскажите пожалуйста, что именно тут не так?(догадываюсь что почти все) |
|||
8
Ёпрст
25.02.19
✎
13:21
|
(3) Событие будет приИзменениеФлажка
|
|||
9
Baumgartlinger
25.02.19
✎
13:23
|
(8) оно висит у меня приоткрытии
мне и надо чтоб оно подставило все при загрузке списка :/ |
|||
10
Ёпрст
25.02.19
✎
13:27
|
(9) в ПриОткрытии вообще не надо ничего писать
|
|||
11
Ёпрст
25.02.19
✎
13:28
|
если только ты не собираешься где-то протом хранить то, что отметил флажками
|
|||
12
Baumgartlinger
25.02.19
✎
13:33
|
(11) а как же мне тогда подставить соответствие?
(если документ был выгружен ранее в эксель, и в реквизите стоит истина - то тут в поле Выгрузить я должен проставить автоматически галочки там, где доки не выгружены (но, должна сохраняться возможность проставлять/убирать галочки), осталось лишь проставить эти галочки по условию и все) |
|||
13
Baumgartlinger
25.02.19
✎
14:29
|
(5) к колонке можно обратиться, к данным в ней нет
супер, и как же теперь передать значение туда.. мдэ |
|||
14
Ёпрст
25.02.19
✎
14:42
|
(11) В реквизите ? Т.е ты собираешься признак выгрузки хранить в самом документе ? Если да, то всё надо делать по- другому
|
|||
15
Baumgartlinger
25.02.19
✎
14:46
|
(14) Нет, в документе уже хранится реквизит ВыгруженоВЭксель
И на его основании присваиваю значение данным колонки(пытаюсь присвоить), мой реквизит Выгрузить висит на форме, с которым и работаю вот Если там Истина - тут ложь, и наоборот |
|||
16
Baumgartlinger
25.02.19
✎
14:49
|
еще раз приведу код, если нужно
Перем СоответствиеДоков; Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок) Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл СтрПоиска = СоответствиеДоков.Получить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит); Если СтрПоиска<>Неопределено Тогда СоответствиеДоков.Вставить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит,Ложь); СтрПоиска = ложь; КонецЕсли; ОформлениеСтроки.Ячейки.Выгрузить.ОтображатьФлажок = Истина; ОформлениеСтроки.Ячейки.Выгрузить.ЗначениеФлажка = СтрПоиска; КонецЦикла; КонецПроцедуры //эта процедура вообще пассивная Процедура ДокументСписокВыбор(Элемент, ВыбраннаяСтрока, Колонка, СтандартнаяОбработка) Если ЭтаФорма.РежимВыбора Тогда Возврат; КонецЕсли; Если Колонка.Имя="Выгрузить" Тогда СтрПоиска = СоответствиеДоков.Получить(ВыбраннаяСтрока.ВыгруженоВПрофит); Если СтрПоиска<>Неопределено Тогда СоответствиеДоков.Вставить(ВыбраннаяСтрока.ВыгруженоВПрофит, НЕ СтрПоиска); КонецЕсли; СтандартнаяОбработка=Ложь; КонецЕсли; КонецПроцедуры Процедура ПриОткрытии() СоответствиеДоков.Вставить(Да, ДокументСписок.Отбор.ВыгруженоВПрофит.Значение = Ложь); СоответствиеДоков.Вставить(Нет, ДокументСписок.Отбор.ВыгруженоВПрофит.Значение = Истина); Если ДокументСписок.Отбор.ВыгруженоВПрофит.Значение = Ложь Тогда Выгрузить = СоответствиеДоков.Получить(Да); Иначе Выгрузить = СоответствиеДоков.Получить(Нет); КонецЕсли; КонецПроцедуры СоответствиеДоков = Новый Соответствие; |
|||
17
Ёпрст
25.02.19
✎
14:50
|
(15)
Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок) Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл СтрПоиска = СоответствиеДоков.Получить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит); Если СтрПоиска<>Неопределено Тогда СоответствиеДоков.Вставить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит,НЕ ОформлениеСтроки.ДанныеСтроки.ВыгруженоВЭксель); СтрПоиска = НЕ ОформлениеСтроки.ДанныеСтроки.ВыгруженоВЭксель; КонецЕсли; ОформлениеСтроки.Ячейки.Выгрузить.ОтображатьФлажок = Истина; ОформлениеСтроки.Ячейки.Выгрузить.ЗначениеФлажка = СтрПоиска; КонецЦикла; |
|||
18
Ёпрст
25.02.19
✎
14:51
|
ну и заместо ДокументСписокВыбор нужно ДокументСписокПриИзмененииФлажка
|
|||
19
Baumgartlinger
25.02.19
✎
14:57
|
(18) СтрПоиска = СоответствиеДоков.Получить(ВыбраннаяСтрока.ВыгруженоВПрофит);
жалуется на ВыбраннаяСТрока, ее ведь нет в ПриИзмененииФлажка заменять на ДокументСписок.Отбор.ВыгруженоВПрофит.Значение? |
|||
20
Baumgartlinger
25.02.19
✎
14:59
|
(18) Элемент.ТекущиеДанные.ВыгруженоВПрофит, думаю так корректно
|
|||
21
Baumgartlinger
25.02.19
✎
15:00
|
(18) как бы прискорбно не звучало, но не заполняется
|
|||
22
Ёпрст
25.02.19
✎
15:02
|
(19) смотреть на ЭлементыФормы.ДокументСписок.ТекущиеДанные
|
|||
23
Baumgartlinger
25.02.19
✎
15:07
|
(22) Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл СтрПоиска = СоответствиеДоков.Получить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит); Если СтрПоиска<>Неопределено Тогда СоответствиеДоков.Вставить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит,НЕ ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит); СтрПоиска = НЕ ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит; КонецЕсли; ОформлениеСтроки.Ячейки.Выгрузить.ОтображатьФлажок = Истина; ОформлениеСтроки.Ячейки.Выгрузить.ЗначениеФлажка = СтрПоиска; КонецЦикла; КонецПроцедуры Процедура ДокументСписокПриИзмененииФлажка(Элемент, Колонка) Если ЭтаФорма.РежимВыбора Тогда Возврат; КонецЕсли; Если Колонка.Имя="Выгрузить" Тогда СтрПоиска = СоответствиеДоков.Получить(ЭлементыФормы.ДокументСписок.ТекущиеДанные.ВыгруженоВПрофит); Если СтрПоиска<>Неопределено Тогда СоответствиеДоков.Вставить(ЭлементыФормы.ДокументСписок.ТекущиеДанные.ВыгруженоВПрофит, НЕ СтрПоиска); КонецЕсли; СтандартнаяОбработка=Ложь; КонецЕсли; КонецПроцедуры http://prntscr.com/mptapf |
|||
24
Ёпрст
25.02.19
✎
15:08
|
(23) ты читать то вообще умеешь ?
|
|||
25
Ёпрст
25.02.19
✎
15:08
|
это че за феерический п..ц ?
оответствиеДоков.Вставить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит,НЕ ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит); |
|||
26
Ёпрст
25.02.19
✎
15:09
|
мля..
Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок) Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл СтрПоиска = СоответствиеДоков.Получить(ОформлениеСтроки.ДанныеСтроки.ВыгруженоВПрофит); Если СтрПоиска<>Неопределено Тогда СоответствиеДоков.Вставить(ОформлениеСтроки.ДанныеСтроки.ССылка,НЕ ОформлениеСтроки.ДанныеСтроки.ВыгруженоВЭксель); СтрПоиска = НЕ ОформлениеСтроки.ДанныеСтроки.ВыгруженоВЭксель; КонецЕсли; ОформлениеСтроки.Ячейки.Выгрузить.ОтображатьФлажок = Истина; ОформлениеСтроки.Ячейки.Выгрузить.ЗначениеФлажка = СтрПоиска; КонецЦикла; |
|||
27
Ёпрст
25.02.19
✎
15:10
|
В соответствии у тебя должно быть ключ - это ссылка на документ и значение - булево, твой флажок. А тя че ?
|
|||
28
Ёпрст
25.02.19
✎
15:10
|
полный пэ, какой-то
|
|||
29
Baumgartlinger
25.02.19
✎
15:21
|
(28) перестаньте яроствовать
виноват в своей деревянности я вам назвал переменную ВыгруженоВЭксель, но сам в коде пишу ВыгруженоВПрофит, это корректный вариант наименования данной переменной, поэтому и стал заменять не думая ладно, все, спасибо большое, тема закрыта |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |