| 
    
            
         
         | 
    
    
  | 
Как осуществить управление флагом из (формы списка)? | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        Олеся999    
     27.03.15 
            ✎
    10:27 
 | 
         
        Подскажите пожалуйста как осуществить управление флагом из (формы списка)
 
        (Галочки не к чему не привязаны нужно ставить ...для себя) В динамическом списке ? нужно сделать что то вроде такого: http://lvkr.ru/f/4b8NMs/1280.jpg  | 
|||
| 
    1
    
        Cube    
     27.03.15 
            ✎
    10:29 
 | 
         
        (0) Перестань хотеть этого :)     
         | 
|||
| 
    2
    
        Олеся999    
     27.03.15 
            ✎
    10:32 
 | 
         
        (1) Почему? :)     
         | 
|||
| 
    3
    
        Cube    
     27.03.15 
            ✎
    10:53 
 | 
         
        (2) Потому что динамический список - это отчет по сути. Интерактивно с ним работать нельзя.
 
        Для чего это всё нужно? Задачу опиши.  | 
|||
| 
    4
    
        Ник второй    
     27.03.15 
            ✎
    10:54 
 | 
         
        (0) Запросом     
         | 
|||
| 
    5
    
        Олеся999    
     27.03.15 
            ✎
    11:00 
 | 
         
        (3) Допустим привезли товар и отдали накладную (бумажку) на склад ...кладовщик сделал приход в своей базе .... и должен передать (бумажку) бухгалтерам ....вот они и хотят ставить галочку (если кладовщик отдал им бумажку) ну чтобы не забыть и не запутаться))))     
         | 
|||
| 
    6
    
        Fish    
     гуру 
    27.03.15 
            ✎
    11:01 
 | 
         
        (5) А какой смысл в галочках, которые к данным не привязаны? Типа прокрутил список - и все галочки слетели? :)     
         | 
|||
| 
    7
    
        Cube    
     27.03.15 
            ✎
    11:02 
 | 
         
        (5) Ну и сделай реквизит в документе "Оригинал документа получен". Почему твоя галочка не привязана к данным? Ведь если перезапустить 1С, то такие галочки потеряются...     
         | 
|||
| 
    8
    
        DexterMorgan    
     27.03.15 
            ✎
    11:04 
 | 
         
        (5) Сделай доп. реквизит "Бамажка передана", повесь команду в списке, которая проставляет реквизит     
         | 
|||
| 
    9
    
        Олеся999    
     27.03.15 
            ✎
    11:18 
 | 
         
        (7) (6) Ну вот нужно чтобы сохранялось ....то есть как то записывалось в документ...
 
        Я сделала пока вот так вот управление из формы документа http://lvkr.ru/f/t703Pd/1280.jpg Только хочу чтобы управление было из формы списка  | 
|||
| 
    10
    
        Cube    
     27.03.15 
            ✎
    11:20 
 | 
         
        (9) Добавляй команду формы списка. Пихай её в контекстное меню своего списка, а в коде проставляй или убирай эту галочку (ну как пометка удаления).     
         | 
|||
| 
    11
    
        DexterMorgan    
     27.03.15 
            ✎
    11:28 
 | 
         
        (9) ну в принципе, если очень хочешь можешь поменять событие выбор у дин списка, если поле такое - стандартная обработка = ложь и меняй программно реквизит     
         | 
|||
| 
    12
    
        Cube    
     27.03.15 
            ✎
    11:30 
 | 
         
        (11) Кладовщику весело будет...     
         | 
|||
| 
    13
    
        DexterMorgan    
     27.03.15 
            ✎
    11:31 
 | 
         
        (12) понятно что не всем доступ давать     
         | 
|||
| 
    14
    
        DexterMorgan    
     27.03.15 
            ✎
    11:32 
 | 
         
        (12) РольДоступна и вперед, команду же тоже не всем выводить     
         | 
|||
| 
    15
    
        Гёдза    
     27.03.15 
            ✎
    11:33 
 | 
         
        Можно сделать по дабл клику.     
         | 
|||
| 
    16
    
        DexterMorgan    
     27.03.15 
            ✎
    11:36 
 | 
         
        (15) ну я это и предложил в (11) =)     
         | 
|||
| 
    17
    
        Олеся999    
     27.03.15 
            ✎
    11:39 
 | 
         
        (10) Выношу на панель а флажок не активный     
         | 
|||
| 
    18
    
        Cube    
     27.03.15 
            ✎
    11:42 
 | 
         
        (17) Флажок не будет активным никогда. Читай (1) :)     
         | 
|||
| 
    19
    
        Олеся999    
     27.03.15 
            ✎
    11:47 
 | 
         
        а тогда зачем он там нужен?     
         | 
|||
| 
    20
    
        Cube    
     27.03.15 
            ✎
    11:50 
 | 
         
        (19) Он - индикатор. Когда твои бухи нажмут правой кнопкой по документу и в выпавшем меню выберут "Проставить/убрать эту чёртову галку", то галочка будет установлена (или снята) в документе и это будет видно в списке.     
         | 
|||
| 
    21
    
        Олеся999    
     27.03.15 
            ✎
    11:58 
 | 
         
        Этого нету в списке 
 
        http://lvkr.ru/f/arg7fw/800.jpg  | 
|||
| 
    22
    
        Fish    
     гуру 
    27.03.15 
            ✎
    11:59 
 | 
         
        (21) Ну так добавь :)     
         | 
|||
| 
    23
    
        Cube    
     27.03.15 
            ✎
    12:00 
 | 
         
        (21) Так, перечитываем (10) последовательно:
 
        "Добавляй команду формы списка." Сделано? "Пихай её в контекстное меню своего списка" Сделано? "а в коде проставляй или убирай эту галочку" Сделано?  | 
|||
| 
    24
    
        Олеся999    
     27.03.15 
            ✎
    12:07 
 | 
         
        Как я и думала http://lvkr.ru/f/GVUT2y/1024.jpg     
         | 
|||
| 
    25
    
        Олеся999    
     27.03.15 
            ✎
    12:07 
 | 
         
        Это же динамический список     
         | 
|||
| 
    26
    
        DexterMorgan    
     27.03.15 
            ✎
    12:12 
 | 
         
        (24) тебе же говорят меняй реквизит документа     
         | 
|||
| 
    27
    
        Cube    
     27.03.15 
            ✎
    12:12 
 | 
         
        (24) (25) )))))
 
        &НаКлиенте Процедура МояКоманда() МояКомандаНаСервере(Элементы.МойДинамическийСписок.ТекущиеДанные.Ссылка); КонецПроцедуры &НаСервере Процедура МояКомандаНаСервере(СсылкаНаДокумент) ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект(); ДокументОбъект.ДокументПроведен = НЕ ДокументОбъект.ДокументПроведен; ДокументОбъект.Записать(); КонецПроцедуры  | 
|||
| 
    28
    
        Cube    
     27.03.15 
            ✎
    12:13 
 | 
         
        +(27) Ошибки, если есть, сама исправишь. Вслепую писал.     
         | 
|||
| 
    29
    
        фобка    
     27.03.15 
            ✎
    12:14 
 | 
         
        (5) открыл форму документа поставил галку и записал. Всё     
         | 
|||
| 
    30
    
        фобка    
     27.03.15 
            ✎
    12:16 
 | 
         
        Не стоит разрешать пользователям идиотничать, потом же хуже будет     
         | 
|||
| 
    31
    
        kosts    
     27.03.15 
            ✎
    12:19 
 | 
         
        Можно добавить список на реквизиты формы (на форме можно не показывать). В этот список будешь программно добавлять свои отмеченные документы. В условном оформлении добавить оформление нужной колонки. В оформлении условие на вхождение ссылки в список и показывать текстом галочку.     
         | 
|||
| 
    32
    
        kosts    
     27.03.15 
            ✎
    12:21 
 | 
         
        (31) + Если вместо в нужную колонку всегда выводить текст, то на неё можно повесить гиперссылку. И отмечать/разотмечать документы можно одним кликом на гиперссылке.     
         | 
|||
| 
    33
    
        Олеся999    
     27.03.15 
            ✎
    12:26 
 | 
         
        (27) Написала так : 
 
        &НаКлиенте Процедура МояКоманда() МояКомандаНаСервере(Элементы.МойДинамическийСписок.ТекущиеДанные.Ссылка); КонецПроцедуры &НаСервере Процедура МояКомандаНаСервере(СсылкаНаДокумент) ДокументОбъект = Документы.ПриходнаяНакладная.ПолучитьФормуСписка(); ДокументОбъект.ДокументПроведен = НЕ ДокументОбъект.ДокументПроведен; ДокументОбъект.Записать(); КонецПроцедуры Не работает  | 
|||
| 
    34
    
        DexterMorgan    
     27.03.15 
            ✎
    12:27 
 | 
         
        МояКомандаНаСервере(Элементы.МойДинамическийСписок.ТекущиеДанные.Ссылка);
 
        поменяй на МояКомандаНаСервере(Элементы.МойДинамическийСписок.ТекущаяСтрока);  | 
|||
| 
    35
    
        DexterMorgan    
     27.03.15 
            ✎
    12:27 
 | 
         
        и вообще у тебя реквизит то есть такой: ДокументПроведен ?     
         | 
|||
| 
    36
    
        Олеся999    
     27.03.15 
            ✎
    12:28 
 | 
         
        (35) Ну конечно:)     
         | 
|||
| 
    37
    
        Cube    
     27.03.15 
            ✎
    12:29 
 | 
         
        (33) Удивительно, если бы работало :)))
 
        МойДинамическийСписок - заменить надо на имя ДС в твоей форме. А названия процедур - для примера. Ты в процедуре своей комады должна написать что-то подобное, а не тупо копипастить...  | 
|||
| 
    38
    
        Cube    
     27.03.15 
            ✎
    12:29 
 | 
         
        (34) Не всегда ТекущаяСтрока содержит ссылку, бывает, что и номер строки...     
         | 
|||
| 
    39
    
        DexterMorgan    
     27.03.15 
            ✎
    12:30 
 | 
         
        (38) слушай, не нужно быть телепатом, чтобы понять что у нее форма списка с основной таблицей этого документа     
         | 
|||
| 
    40
    
        Олеся999    
     27.03.15 
            ✎
    12:34 
 | 
         
        &НаКлиенте
 
        Процедура МояКоманда() МояКомандаНаСервере(Элементы.Список.ТекущиеДанные.Ссылка); КонецПроцедуры &НаСервере Процедура МояКомандаНаСервере(СсылкаНаДокумент) ДокументОбъект = Документы.ПриходнаяНакладная.ПолучитьФормуСписка(); ДокументОбъект.ДокументПроведен = НЕ ДокументОбъект.ДокументПроведен; ДокументОбъект.Записать(); КонецПроцедуры Тоже не работает  | 
|||
| 
    41
    
        DexterMorgan    
     27.03.15 
            ✎
    12:36 
 | 
         
        (38) а вот если у нее ссылка не выведена на форму списка - в текущих данных ее не будет, и твой код работать не будет     
         | 
|||
| 
    42
    
        Kondarat    
     27.03.15 
            ✎
    12:37 
 | 
         
        Замени
 
        ДокументОбъект = Документы.ПриходнаяНакладная.ПолучитьФормуСписка(); на СсылкаНаДокумент.ПолучитьОбъект();  | 
|||
| 
    43
    
        Cube    
     27.03.15 
            ✎
    12:37 
 | 
         
        (40) Что говорит? У тебя процедура МояКоманда() привязана к кнопке на форме?     
         | 
|||
| 
    44
    
        DexterMorgan    
     27.03.15 
            ✎
    12:37 
 | 
         
        (38) А "ТекущаяСтрока" всегда при заданной основной таблице будет содержать ссылку, так что не надо     
         | 
|||
| 
    45
    
        Cube    
     27.03.15 
            ✎
    12:37 
 | 
         
        +(42) И это тоже.     
         | 
|||
| 
    46
    
        Kondarat    
     27.03.15 
            ✎
    12:38 
 | 
         
        (41) Точно?     
         | 
|||
| 
    47
    
        Олеся999    
     27.03.15 
            ✎
    12:41 
 | 
         
        (42) Я так тоже делала)     
         | 
|||
| 
    48
    
        DexterMorgan    
     27.03.15 
            ✎
    12:43 
 | 
         
        (46) Если на форму поле не выведено - в текущих данных его не будет     
         | 
|||
| 
    49
    
        Kondarat    
     27.03.15 
            ✎
    12:45 
 | 
         
        (48) Поставь галку у Ссылка использовать всегда и не дури людей.     
         | 
|||
| 
    50
    
        Олеся999    
     27.03.15 
            ✎
    12:46 
 | 
         
        (43) {Документ.ПриходнаяНакладная.Форма.ФормаСписка.Форма(5)}: Поле объекта не обнаружено (Ссылка)
 
        МояКомандаНаСервере(Элементы.Список.ТекущиеДанные.Ссылка); Хотя http://lvkr.ru/f/5bvrxn/1280.jpg Наименование : список  | 
|||
| 
    51
    
        DexterMorgan    
     27.03.15 
            ✎
    12:47 
 | 
         
        (50) Ох неужели? Может тада все-таки поменять на ТекущуюСтроку?     
         | 
|||
| 
    52
    
        DexterMorgan    
     27.03.15 
            ✎
    12:48 
 | 
         
        (49) Нафига? Если в ТекущейСтроке все есть?     
         | 
|||
| 
    53
    
        Kondarat    
     27.03.15 
            ✎
    12:49 
 | 
         
        (52) Это в данном частном случае     
         | 
|||
| 
    54
    
        DexterMorgan    
     27.03.15 
            ✎
    12:50 
 | 
         
        (53) И?     
         | 
|||
| 
    55
    
        Feunoir    
     27.03.15 
            ✎
    12:53 
 | 
         
        (50) Поставь точку останова на эту строку, и посмотри какое значение у переменной Элементы.Список.ТекущиеДанные     
         | 
|||
| 
    56
    
        DexterMorgan    
     27.03.15 
            ✎
    12:54 
 | 
         
        (55) Да понятно уже что не выведено поле на форму     
         | 
|||
| 
    57
    
        Олеся999    
     27.03.15 
            ✎
    13:00 
 | 
||||
| 
    58
    
        DexterMorgan    
     27.03.15 
            ✎
    13:02 
 | 
         
        (57) Так а в чем ошибка? у тебя же определился документ     
         | 
|||
| 
    59
    
        Cube    
     27.03.15 
            ✎
    13:03 
 | 
         
        (57) Всё работает, я так понимаю?     
         | 
|||
| 
    60
    
        Олеся999    
     27.03.15 
            ✎
    13:05 
 | 
         
        (59) 
 
        &НаКлиенте Процедура МояКоманда() //МояКомандаНаСервере(Элементы.Список.ТекущиеДанные.Ссылка); МояКомандаНаСервере(Элементы.Список.ТекущаяСтрока); КонецПроцедуры &НаСервере Процедура МояКомандаНаСервере(СсылкаНаДокумент) ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект(); ДокументОбъект.ДокументПроведен = НЕ ДокументОбъект.ДокументПроведен; ДокументОбъект.Записать(); КонецПроцедуры Так вот работает ....но почему то не обновляет ...то есть что бы увидеть что поставила галочку нужно выходить и зайти обратно в приходную накладную  | 
|||
| 
    61
    
        Гёдза    
     27.03.15 
            ✎
    13:06 
 | 
         
        элементы.список.обновить()     
         | 
|||
| 
    62
    
        Cube    
     27.03.15 
            ✎
    13:07 
 | 
         
        (60) после строки
 
        МояКомандаНаСервере(Элементы.Список.ТекущаяСтрока); Пиши ОбновитьОтображениеДанных();  | 
|||
| 
    63
    
        Олеся999    
     27.03.15 
            ✎
    13:16 
 | 
         
        (62) Спасибо работает
 
        только выдает : {Документ.ПриходнаяНакладная.Форма.ФормаСписка.Форма(14)}: Ошибка при вызове метода контекста (ОбновитьОтображениеДанных) ОбновитьОтображениеДанных(); по причине: Метод недоступен на сервере Причем написала на сервере &НаСервере Процедура МояКомандаНаСервере(СсылкаНаДокумент) ДокументОбъект = СсылкаНаДокумент.ПолучитьОбъект(); ДокументОбъект.ДокументПроведен = НЕ ДокументОбъект.ДокументПроведен; ДокументОбъект.Записать(); ОбновитьОтображениеДанных(); КонецПроцедуры  | 
|||
| 
    64
    
        Cube    
     27.03.15 
            ✎
    13:20 
 | 
         
        (63) А я тебе сказал написать &НаКлиенте... Посмотри поле какой строки надо вставлять-то...     
         | 
|||
| 
    65
    
        kosts    
     27.03.15 
            ✎
    14:12 
 | 
         
        Если что, то в стандартных командах формы списка документа есть команда проведения/отмены.     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |