Избавление от пустых строк в ТЗ
08.12.2005
11:23
#12
Попробовал.Теперь не могу удалить все строки, которые взялись не понятным образом(Ощущение, как-буд-то при этой процедуре строки накопировались по несколько раз, в том числе и пустые).Было 8 строк ,стало более 50 - это точно
(
09.12.2005
06:00
#13
Доброго времени суток!
Можно бы код выложить? По крайней мере как задаётся эта самая таблица значений, какие колонки есть какие типы. Какие колонки могут быть пустыми. А то что-то система сегодня не загрузила службу телепатии.
Можно бы код выложить? По крайней мере как задаётся эта самая таблица значений, какие колонки есть какие типы. Какие колонки могут быть пустыми. А то что-то система сегодня не загрузила службу телепатии.
09.12.2005
08:14
#14
Утро доброе!!!
В справочнике ТМЦ - таблица. Рассмотрим на примере одной вкладки. В таблице есть колонки:ТМЦ, Количество, Цех, Элемент. ТМЦ выбирается из спр.ТМЦ, кол из спр.Входимость, цех- спр.Цех, элемент(Скрывается)-спр.ТекущийЭлемент()
В справочнике ТМЦ - таблица. Рассмотрим на примере одной вкладки. В таблице есть колонки:ТМЦ, Количество, Цех, Элемент. ТМЦ выбирается из спр.ТМЦ, кол из спр.Входимость, цех- спр.Цех, элемент(Скрывается)-спр.ТекущийЭлемент()
09.12.2005
09:10
#15
Может ТЗ считается пустой, только тогда, когда в ней нет ниодной строки? И ничего сделать нельзя?
09.12.2005
11:18
#16
На мой взгляд строку можно считать пустой если в ней не задано ТМЦ.
Потому что другие параметры не имеют значения без первого
Вот по ней и нужно делать цикл отбора до тех пор пока не окажется пустых значений.
Потому что другие параметры не имеют значения без первого
Вот по ней и нужно делать цикл отбора до тех пор пока не окажется пустых значений.
09.12.2005
11:32
#17
"Я сейчас так и пытаюсь:
Процедура Снести(Конт);
Спр=СоздатьОбъект("Справочник."+Конт);
Спр.ИспользоватьВладельца(ТекущийЭлемент());
Спр.ВыбратьЭлементы();
Строк = Таблица.ТекущаяСтрока();
стр = 0;
кол = "Элемент";
пусто = ПолучитьПустоеЗначение("Спр.ТекущийЭлемент().ТМЦ");
Пока Спр.ПолучитьЭлемент()=1 Цикл
Пока Таблица.НайтиЗначение(пусто,стр,кол) = 1 Цикл
Таблица.УдалитьСтроку(стр);
стр = 0;
КонецЦикла;
КонецЦикла;
//ПриВыбореЗакладки(, ЗнакЗакладки);
КонецПроцедуры
"
Процедура Снести(Конт);
Спр=СоздатьОбъект("Справочник."+Конт);
Спр.ИспользоватьВладельца(ТекущийЭлемент());
Спр.ВыбратьЭлементы();
Строк = Таблица.ТекущаяСтрока();
стр = 0;
кол = "Элемент";
пусто = ПолучитьПустоеЗначение("Спр.ТекущийЭлемент().ТМЦ");
Пока Спр.ПолучитьЭлемент()=1 Цикл
Пока Таблица.НайтиЗначение(пусто,стр,кол) = 1 Цикл
Таблица.УдалитьСтроку(стр);
стр = 0;
КонецЦикла;
КонецЦикла;
//ПриВыбореЗакладки(, ЗнакЗакладки);
КонецПроцедуры
"
09.12.2005
13:35
#18
"Так. Чё-то нагорожено, нагорожено.
Как я понял "Конт" - наименование справочника.
Строка:
пусто = ПолучитьПустоеЗначение("Спр.ТекущийЭлемент().ТМЦ");
даст тебе в переменной "пусто" тип строка, нулевой днины
правельнее записать:
пусто = ПолучитьПустоеЗначение("Справочник." + Конт);
а далее
стр = 0;
кол = "Элемент"; // Это должен быть идентификатор той колонки в которой ижем
Пока Таблица.НайтиЗначение(пусто,стр,кол) = 1 Цикл
Таблица.УдалитьСтроку(стр);
стр = 0;
КонецЦикла;
Вот и всё.
Непонятно зачем нужно
Строк = Таблица.ТекущаяСтрока();
"
Как я понял "Конт" - наименование справочника.
Строка:
пусто = ПолучитьПустоеЗначение("Спр.ТекущийЭлемент().ТМЦ");
даст тебе в переменной "пусто" тип строка, нулевой днины
правельнее записать:
пусто = ПолучитьПустоеЗначение("Справочник." + Конт);
а далее
стр = 0;
кол = "Элемент"; // Это должен быть идентификатор той колонки в которой ижем
Пока Таблица.НайтиЗначение(пусто,стр,кол) = 1 Цикл
Таблица.УдалитьСтроку(стр);
стр = 0;
КонецЦикла;
Вот и всё.
Непонятно зачем нужно
Строк = Таблица.ТекущаяСтрока();
"
Читают тему
(гостей: 1)