Имя: Пароль:
1C
1C 7.7
v7: Список Значения
🠗 (aka AMIGO 19.05.2014 12:35)
,
0 maxi0n
 
19.05.14
11:43
Подскажите пожалуйста... Можно не включат номенклатуру помеченную на удаление в список значения при добавлении группы или элемента справочника в этот список значение на ФОРМЕ...
1 ДенисЧ
 
19.05.14
11:46
Я не против, не включай
2 Ёпрст
 
19.05.14
11:46
Разрешаю, делай
3 1dvd
 
19.05.14
11:47
4 ДенисЧ
 
19.05.14
11:48
(3) И там мой второй пост
5 akaBrr
 
19.05.14
11:53
(3) Вопрос был "можно?", ответ на вопрос был дан.
6 1dvd
 
19.05.14
11:54
(5) ты тоже гламурный. Настоящие суровые программисты дают ответы на вопросы, которые автор ещё не придумал
7 akaBrr
 
19.05.14
11:55
(6) я ленивый
8 an-korot
 
19.05.14
11:59
(3) да автор темы сам тролль еще тот, закинул вопрос глупый и даже слова не скажет.
9 1dvd
 
19.05.14
12:10
(8) ему просто тяжело формулировать мысли на русском языке, ИМХО
10 SleepyHead
 
гуру
19.05.14
12:31
(9) Он просто спросил ровно так, как его попросили сделать в бухгалтерии.
11 ildary
 
19.05.14
12:41
(10) так и запишем "интеллект как у бухгалтера"
12 SleepyHead
 
гуру
19.05.14
12:53
(11) Ну зачем так. Мы все неспециалисты в чем-то.
13 maxi0n
 
20.05.14
10:29
Если можно то подскажите как?
14 Duke1C
 
20.05.14
11:29
(13) Для начала покажи код, по которому значения добавляются в список, если уж сам не догоняешь, что перед добавлением можно проверить помечен элемент на удаление и если да, то тупо не добавлять его в список.
15 maxi0n
 
27.05.14
11:47
Процедура ДействиеСоСписком(Действие)
    Список = СписокНоменклатуры;
    Если (ТипЗначения(КонтекстФормыПодбора) = 100) и
         ((Действие = "Изменить") или
         (Действие = "Добавить") или
         (Действие = "Подобрать")) Тогда
        Предупреждение("Сначала завершите предыдущий выбор");
        КонтекстФормыПодбора.Активизировать();
        Возврат;
    КонецЕсли;
    
    ЗаголовокФормыПодбора = "";
    Если (Действие = "Добавить") или (Действие = "Подобрать") Тогда
        ФормаПодбора = "Справочник.Номенклатура";
    КонецЕсли;

    Если (Действие = "Изменить") или
         (Действие = "Добавить") или
         (Действие = "Подобрать") Тогда
        ТекущийСписок = Список;
        ТекущееДействие = Действие;
    КонецЕсли;
    
    Если Действие = "Изменить" Тогда
        Если Список.РазмерСписка() = 0 Тогда
            ДействиеСоСписком("Добавить");
        Иначе
            ФормаСписка = "";
            Значение = Список.ПолучитьЗначение(Список.ТекущаяСтрока());
            ОткрытьПодбор("Справочник." + Значение.Вид(), ФормаСписка, КонтекстФормыПодбора, , Значение);
        КонецЕсли;
    ИначеЕсли (Действие = "Добавить") или (Действие = "Подобрать") Тогда
        ФормаСписка = "";
        ОткрытьПодбор(ФормаПодбора, ФормаСписка, КонтекстФормыПодбора);
    ИначеЕсли Действие = "Удалить" Тогда
        Если Список.ТекущаяСтрока() <> 0 Тогда
            НомерТекущейСтроки = Список.ТекущаяСтрока();
            Список.УдалитьЗначение(НомерТекущейСтроки);
            Если НомерТекущейСтроки > Список.РазмерСписка() Тогда
                // если удален последний элемент списка, то текущая строка сбрасывается
                // и при последующем нажатие на кнопку удалить ничего не происходит
                Список.ТекущаяСтрока(0);
            Иначе
                Список.ТекущаяСтрока(НомерТекущейСтроки);
            КонецЕсли;
        КонецЕсли;
    ИначеЕсли Действие = "УдалитьВсе" Тогда
        Если Список.РазмерСписка() <> 0 Тогда
            Если Вопрос("Удалить все значения списка?", "Да+Нет") = "Да" Тогда
                Список.УдалитьВсе();
            КонецЕсли;
        КонецЕсли;
    КонецЕсли;

    Если (ТипЗначения(КонтекстФормыПодбора) = 100) и
         (Лев(ФормаПодбора, 10) = "Справочник") Тогда
        КонтекстФормыПодбора.ВыборГруппы(1);
    КонецЕсли;
КонецПроцедуры // ДействиеСоСписком()
Ошибка? Это не ошибка, это системная функция.