|   |   | 
| 
 | Проблема с флажком 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) перестаньте яроствовать
 виноват в своей деревянности я вам назвал переменную ВыгруженоВЭксель, но сам в коде пишу ВыгруженоВПрофит, это корректный вариант наименования данной переменной, поэтому и стал заменять не думая ладно, все, спасибо большое, тема закрыта | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |