Имя: Пароль:
1C
1C 7.7
v7: Нет возможности удалить строку 7.7
0 TwoWorld
 
04.07.14
11:57
Была тема на форуме: Нет возможности удалить строку!. О невозможности удаления строк по контексту документа. В общем, проблема, мне показалось состоит в том, что нельзя работать с контекстом из callback-процедур, вызываемых с элементов управления формы. Ответа в нете не нашел. Если искать по ключевой фразе "Нет возможности удалить строку!".

Т.е. вот это не заработает:

Процедура ПриНажатииКнопки()
Форма.Параметр.ПолучитьСтрокуПоНомеру(1);  //(в параметре контекст документа).
Форма.Параметр.УдалитьСтроку();
КонецПроцедуры

А вот это не заработает:
Процедура ПриОткрытии()
Форма.Параметр.ПолучитьСтрокуПоНомеру(1);  //(в параметре контекст документа).
Форма.Параметр.УдалитьСтроку();
КонецПроцедуры
1 DCKiller
 
04.07.14
11:58
И?
2 ADirks
 
04.07.14
12:08
Загрузи 1С++  или FormEx - будет работать
3 TwoWorld
 
04.07.14
12:10
Браузер глюкнул и сохранил пост не полностью.

Была тема на форуме: Нет возможности удалить строку!. О невозможности удаления строк по контексту документа. В общем, проблема, мне показалось состоит в том, что нельзя работать с контекстом из callback-процедур, вызываемых с элементов управления формы. Ответа в нете не нашел. Если искать по ключевой фразе "Нет возможности удалить строку!".

Т.е. вот это не заработает:

Процедура ПриНажатииКнопки()
Форма.Параметр.ПолучитьСтрокуПоНомеру(1);  //(в параметре контекст документа).
Форма.Параметр.УдалитьСтроку();
КонецПроцедуры

А вот это не заработает:
Процедура ПриОткрытии()
Форма.Параметр.ПолучитьСтрокуПоНомеру(1);  //(в параметре контекст документа).
Форма.Параметр.УдалитьСтроку();
КонецПроцедуры

Но что-же делать, если очень чешется удалить строку документа по кнопке.
Вот вымучал такое решение:
1. В глобальнике создаем переменную "глХитрая переменная".
2. Перед открытием обработки (из которой меняем ТЧ документа), обнуляем ее.
3. На callback-процедуру кнопки вешаем такую конструкцию:

Процедура ПриНажатииКнопки()
глХитраяПеременная = СоздатьОбъект("ТаблицаЗначений");
глХитраяПеременная.НоваяКолонка("Номер","Число");
//Заполняем тз тем, чем нужно (можно и не тз - что угодно)
Форма.Параметр.Форма.Закрыть(0);  //Закрываем форму документа без вопроса на сохранение изменений.
КонецПроцедуры

ТЕПЕРЬ В ПРОЦЕДУРУ "ПриЗакрытии" ФОРМЫ ДОКУМЕНТА ДОБАВЛЯЕМ:
Процедура ПриЗакрытии()
Если ПустоеЗначение(глХитраяПеременная)=0 Тогда   //Если переменная проинициализирована...
глХитраяПеременная.ВыбратьСтроки();
......
СтатусВозврата(0);     //Отказ от закрытия формы
глХитраяПеременная="";     //Сбрасываем переменную
КонецЕсли;
КонецПроцедуры


А вообще, седьмая платформа меня всегда пугает, когда приходится с ней работать.
4 КонецЦикла
 
04.07.14
12:16
Пугает седьмая? У каждого свои тараканы :)
Программно всегда удалялось, вообще ничего не понял
Первый пример какой-то переученный восьмерочник писал :)
5 dk
 
04.07.14
12:31
хрень какая-то
выгрузитьтабличнуючасть
химичим
загрузитьтабличнуючасть
6 Злопчинский
 
04.07.14
12:31
(7) скорее недоученный восьмерочник.
я-то все думал - чего по 8-ке вопросов мало - ща столкнулся: потому что сидят галочки и кнопочки расставлябт в crl и прочей фигне. сделать что-гить выходящее за эти пределы - это подвиг для восьмерочника (не для всех конечно ;-), есть настоящие монстры - преклоняюсь перед ними)
7 TwoWorld
 
04.07.14
12:56
Ды с выгрузкой-загрузкой тч - это второе что попробовал. Выгружаться - выгружается, а вот загружаться - неа. Ниче не пишет, просто ТЧ дока не меняется и все.
8 NikVars
 
04.07.14
13:29
(0) И спрашивается зачем в документе кнопки для создания-удаления-редактирования строк...
9 TwoWorld
 
04.07.14
14:05
Есть обработка древняя и мощная. Пользователи к ней привыкли и глаз выколют любому, кто на нее посягнет. Вот в ней некоторые строки помечаются галками и эти строки обрабатываются. А потом, что не обработано надо выкинуть из ТЧ документа, который эту обработку открывает.
10 Ёпрст
 
04.07.14
14:08
(2) только не ИЛИ.. лищь в одной из этих ВК пофиесена это фича..
Закон Брукера: Даже маленькая практика стоит большой теории.