К списку форумов К списку вопросов
Таблица в режиме ввода данных
Ded Moroz
28.06.2004 - 15:18
Подскажите, есть ли возможность менять в такой таблице количество строк для ввода данных. В принципе, количество строк известно на момент открытия обработки.
Рупор абсурда
1 - 28.06.2004 - 15:25
Нет такой возможности ... и не слушай больше никого ...
Ded Moroz
2 - 28.06.2004 - 15:31
Не буду... :)
ДD
3 - 28.06.2004 - 15:39
2(0) Есть такая возможность, и не слушай всякий абсурд.
Рупор абсурда
4 - 28.06.2004 - 15:46
(3) Ну?
Или поприкалываться зашёл?
ДD
5 - 28.06.2004 - 15:51
2(4) Использовать таблицу - пустую
далее заполнй ее как хочешь, хоть посекционно, хоть поячеечно с установкой параметров каждой строки/колонки/ячейки
Ded Moroz
6 - 28.06.2004 - 15:52
В обработках из регламентированной отчетности для бухгалтерии есть псевдодобавление строк, но количество строк на экране, как форма ввода, не меняется.
Гуня
7 - 28.06.2004 - 15:57
ОбластьТаблицы включаешь в цикл.
Рупор абсурда
8 - 28.06.2004 - 15:57
(5) Пока ты не пришёл, мы тут про "Таблица в режиме ввода данных" разговаривали ...
Есть по этому поводу у тебя чё-нить интересного нам сообщить?
ДD
9 - 28.06.2004 - 15:58
2(6) см.(5)
с таблицей можно делать все что угодно(!)
единственное выбор значений придется писать через ОбработкаЯчейкиТаблицы(), что не совсем удобно в данном случае
ДD
10 - 28.06.2004 - 16:00
2(8) у меня есть обработки, которые используют динамически формируемые таблицы для ввода данных (кста, решается масса вопросов с раскраской строк, значений и пр. интерфейсных решений)
послущай старенького дедушку и хотябы попробуй сделать, что тебе говорят
Гуня
11 - 28.06.2004 - 16:01
(5) не совсем понял почему Пустую. Вопрос вроде о режиме ввода данных
Гуня
12 - 28.06.2004 - 16:03
понял. В смысле не заполнена.
Рупор абсурда
13 - 28.06.2004 - 16:03
(10) Старенький дедушка вчера 1С впервые открыл, видать ..., раз с такой уверенностью фигню городит ...
ДD
14 - 28.06.2004 - 16:04
// РАЗБИРАЙСЯ:
//_____________________________________________________________________________
Процедура ОбновитьТаблицу()
  Таблица.Очистить();
  Таблица.ИсходнаяТаблица("Таблица");
  Таблица.ВывестиСекцию("Шапка");
    Таблица.Область(3,4,3,4).Текст = ВыбФирма;
    Таблица.Область(4,4,4,4).Текст = ВыбПоставщик;
    Таблица.Область(5,4,5,4).Текст = ВыбНаименование;
    Таблица.Область(6,4,6,4).Текст = ВыбГТД;
    Таблица.Область(7,4,7,4).Текст = ВыбПозиция;
    Таблица.Область(4,22,4,22).Текст = ?(ТолькоОстатки = 1, "V", "");
  тзОстатки.ВыбратьСтроки(); сч = 0;
  Пока тзОстатки.ПолучитьСтроку() = 1 Цикл
    сч = сч + 1;
    Таблица.ВывестиСекцию("Строка");
    Таблица.Область(Таблица.ВысотаТаблицы(), 1, Таблица.ВысотаТаблицы(), 1).Расшифровка(сч, 1);
  КонецЦикла;
  Таблица.Опции(0, 0, 11);
  Таблица.Показать();
КонецПроцедуры //ОбновитьТЧ
//_____________________________________________________________________________
Процедура ОбработкаЯчейкиТаблицы(Зн, Фл, Таб, Адр)
  Если ТипЗначенияСтр(Зн) = "Число" Тогда
    Предупреждение("НомерСтроки: " + Зн);
  ИначеЕсли Зн = "Сортировка" Тогда
    Меню = СоздатьОбъект("_Меню");
    Если Меню.Выбрать("По возрастанию,По убыванию") <> 0 Тогда
     Если Адр = "R11C1" Тогда
     тзОстатки.Сортировать(?(Меню.чПункт = 1, "+", "-") + "ДатаГТД");
        ОбновитьТаблицу();
        Таб.Область(Адр).Текст = ?(Меню.чПункт = 1, "(+)", "(-)") + "Дата ГТД";
     КонецЕсли;
     Если Адр = "R11C3" Тогда
     тзОстатки.Сортировать(?(Меню.чПункт = 1, "+", "-") + "Фирма");
        ОбновитьТаблицу();
        Таб.Область(Адр).Текст = ?(Меню.чПункт = 1, "(+)", "(-)") + "Фирма";
     КонецЕсли;
     Если Адр = "R11C7" Тогда
     тзОстатки.Сортировать(?(Меню.чПункт = 1, "+", "-") + "Наименование");
        ОбновитьТаблицу();
        Таб.Область(Адр).Текст = ?(Меню.чПункт = 1, "(+)", "(-)") + "Наименование";
     КонецЕсли;
     Если Адр = "R11C12" Тогда
     тзОстатки.Сортировать(?(Меню.чПункт = 1, "+", "-") + "ГТД");
        ОбновитьТаблицу();
        Таб.Область(Адр).Текст = ?(Меню.чПункт = 1, "(+)", "(-)") + "ГТД";
     КонецЕсли;
     Если Адр = "R11C17" Тогда
     тзОстатки.Сортировать(?(Меню.чПункт = 1, "+", "-") + "Поставщик");
        ОбновитьТаблицу();
        Таб.Область(Адр).Текст = ?(Меню.чПункт = 1, "(+)", "(-)") + "Поставщик";
     КонецЕсли;
    КонецЕсли;
  ИначеЕсли Зн = "ТолькоОстатки" Тогда
    ТолькоОстатки = ?(ТолькоОстатки = 1, 0, 1);
    Таб.Область(Адр).Текст = ?(ТолькоОстатки = 1, "V", "");
  ИначеЕсли Зн = "ВыбФирма" Тогда
   спр = СоздатьОбъект("Справочник.Фирмы");
    Если спр.Выбрать("Фирма", "ФормаСписка") = 1 Тогда
     Таб.Область(Адр).Текст = спр.ТекущийЭлемент();
     ВыбФирма = спр.ТекущийЭлемент();
    КонецЕсли;
  ИначеЕсли Зн = "ВыбПоставщик" Тогда
   спр = СоздатьОбъект("Справочник.Фирмы");
    Если спр.Выбрать("Фирма", "ФормаСписка") = 1 Тогда
     Таб.Область(Адр).Текст = спр.ТекущийЭлемент();
     ВыбПоставщик = спр.ТекущийЭлемент();
    КонецЕсли;
  ИначеЕсли Зн = "ВыбНаименование" Тогда
   спр = СоздатьОбъект("Справочник.Наименования");
    Если спр.Выбрать("Фирма", "ФормаСписка") = 1 Тогда
     Таб.Область(Адр).Текст = спр.ТекущийЭлемент();
     ВыбНаименование = спр.ТекущийЭлемент();
    КонецЕсли;
  ИначеЕсли Зн = "ВыбГТД" Тогда
   спр = СоздатьОбъект("Справочник.ГТД");
    Если спр.Выбрать("Фирма", "ФормаСписка") = 1 Тогда
     Таб.Область(Адр).Текст = спр.ТекущийЭлемент();
     ВыбГТД = спр.ТекущийЭлемент();
    КонецЕсли;
  ИначеЕсли Зн = "ВыбПозиция" Тогда
   спр = СоздатьОбъект("Справочник.Позиции");
    спр.ИспользоватьВладельца(ВыбГТД);
    Если спр.Выбрать("Фирма", "ФормаСписка") = 1 Тогда
     Таб.Область(Адр).Текст = спр.ТекущийЭлемент();
      ВыбПозиция = спр.ТекущийЭлемент();
    КонецЕсли;
  ИначеЕсли Зн = "Фирма" Тогда
    Таб.Область("R3C4:R3C15").Текст = "";
   ВыбФирма = "";
  ИначеЕсли Зн = "Поставщик" Тогда
    Таб.Область("R4C4:R4C15").Текст = "";
    ВыбПоставщик = "";
  ИначеЕсли Зн = "Наименование" Тогда
    Таб.Область("R5C4:R5C15").Текст = "";
    ВыбНаименование = "";
  ИначеЕсли Зн = "ГТД" Тогда
    Таб.Область("R6C4:R6C15").Текст = "";
    ВыбГТД = "";
  ИначеЕсли Зн = "Позиция" Тогда
    Таб.Область("R7C4:R7C15").Текст = "";
    ВыбПозиция = "";
  КонецЕсли;
  Таб.Показать();
КонецПроцедуры
Рупор абсурда
15 - 28.06.2004 - 16:06
(14) Какая жалость ... Дедушка состарился совсем, но так и не узнал, что такое таблица для ввода данных ... :((
ДD
16 - 28.06.2004 - 16:06
2(13) Кхе-кхе... Дедушка Dolter кодил, когда тебя еще на клавиатуре в пеленки заворачивали
Гуня
17 - 28.06.2004 - 16:07
(13) Рупор работат точно. Не спорь
Рупор абсурда
18 - 28.06.2004 - 16:09
(16) Угу ... В те далёкие времена (ещё когда Бекас был Цитрусом), наверно, ещё не придумали 77 ... и таблицу для ввода данных ...
ДD
19 - 28.06.2004 - 16:14
2(18) именно так все и было, но скажи мне сынок, что это по твоему:
http://dolter.hotbox.ru/table.gif
?
Гуня
20 - 28.06.2004 - 16:16
Неугомонный.
примерно так
товар.ВыбратьЭлементы();
н=0;
Пока Товар.ПолучитьЭлемент()=1 Цикл
Н=Н+1;
Таблица.Область("R"+н,C1:"R"+н,C1).Значение=товар.Наименование;
конеццикла;
Ded Moroz
21 - 28.06.2004 - 16:21
В общем спасибо, особенно ДD. Все получилось.
Рупор абсурда
22 - 28.06.2004 - 16:23
(19) Это какая-то таблица приаттаченная к форме ...
А вот для ввода она или нет по картинке не скажешь ...
Я угадал?
Неудачник
23 - 28.06.2004 - 16:31
19 если это таблица сформированая 14 то это пустая таблица, а не ввода данных.
 Т.К. 1) Таблица.Очистить();
      2) Таблица.ВывестиСекцию("Шапка");
      3) Таблица.Область().Текст = ;
      4) Процедура ОбработкаЯчейкиТаблицы(Зн, Фл, Таб, Адр)
 
ДD
24 - 28.06.2004 - 16:40
2(23)
1. Да, пустая (см.(5))
2. Лежит на форме обработки, а не в отдельном окне
3. Используется для ВВОДА ДАННЫХ
4. и таки динамически формируется
--------------------------------------
З.Ы. "Вам шашечки или ехать?"
Рупор абсурда
25 - 28.06.2004 - 16:42
(24) Терминология у вас хромает, однако ... ЖКК б не хило перечесть ...
Рупор абсурда
26 - 28.06.2004 - 16:44
(24) >> 2. Лежит на форме обработки, а не в отдельном окне
Ты так говоришь об этом, как о подвиге каком ...
defender
27 - 28.06.2004 - 16:50
(26) я использовал когда-то таблицу "для ввода данных" для создания маршрутных карт, с заранее неизвестным количеством строк, как и самими значениями в ячейках...
Рупор абсурда
28 - 28.06.2004 - 16:52
(27) И в какой она проге работала?
defender
29 - 28.06.2004 - 16:53
(28) в 1С Предприятие 7.7 (18)
ДD
30 - 28.06.2004 - 16:54
2(25,26) Может и хромает терминология. А ЖКК я вообще ни разу не читал, к сожалению... а может и к счастью, потому как "она таки вертится".
А из всей ветки мне достаточно (21), т.ч. твое мнение... можешь оставить при себе.
Viking
31 - 28.06.2004 - 16:55
Можно динамически формировать и заполнять строки в таблице в режиме для ввода данных...
Igogo
32 - 28.06.2004 - 17:01
Да многие такое делали. А можно узнать, что Рупор абсурда понимает под "Таблица в режиме ввода данных "?
ДD
33 - 28.06.2004 - 17:02
2(28) но если тебя так задевают термины, то если работать через области, а не секции (что несколько сложнее) при наполнении, то можно и в таблице в режиме ввода данных все что угодно нарисовать.
Рупор абсурда
34 - 28.06.2004 - 17:25
Давайте просто называть вещи своими именами ...
Таблицу для ввода данных - таблицей для ввода данных, например ...
Что можно и без неё обойтись, я знаю ...
Более того, фанатом таблицы для ввода никогда не был ...
Возможно, как раз, из-за невозможности сделать в ней программно произвольное количество строк ...
 
(29) Звездишь ведь? ...
(30) А (21) теперь тоже будет любую приаттаченную таблицу называть таблицей для ввода ... Этого тебе достаточно?
(31) Ну? Ещё один?
(32) Что подразумевали в 1С под этим термином, то и понимаю ...
Неудачник
35 - 28.06.2004 - 17:29
24 Терминологию путать не надо
З.Ы. Мне ехать: на том что с шашечками и счетчиком.
34 а заполнять произвольным образом можно, только очищать старую правильно надо.
defender
36 - 28.06.2004 - 17:29
(34) неа... работает по сей день, правда там я уже не работаю :-)
Рупор абсурда
37 - 28.06.2004 - 17:39
(35) С постраничным выводом я, конечно, делал ... Имхо, неудобно это ...
(36) А у меня член 58 см. и весом 5 кг. ... Звездеть, не мешки ворочать ...
Igogo
38 - 28.06.2004 - 17:49
(34)Просьба не уходить от ответа. Я просто хочу исключить непонимание вопроса. Режим ввода данных подразумевает ввод неких данных прямо в ячейки таблицы, длина которой формируется динамически, так?
ДD
39 - 28.06.2004 - 17:53
мля... сейсть написать быстренько, что ли?
чет достал меня это мальчик... не по детски :-)
Рупор абсурда
40 - 28.06.2004 - 17:55
(38) Мдя ... Открой ЖКК то ...
Или ты тоже кодил уже, когда я ещё пелёнки пачкал?
(39) Смешной ты дедушка ... :))
Igogo
41 - 28.06.2004 - 17:57
(40) Давай мыло скину обработку.
ДD
42 - 28.06.2004 - 17:59
2(41) слава богу не придется писать самому...
:-)
Рупор абсурда
43 - 28.06.2004 - 18:07
(41) Только тогда обокакивать буду не стесняясь ...
У тебя есть ещё время передумать ...
(42) А чё? Давай ... У меня дерьма и на двоих хватит ...
Igogo
44 - 28.06.2004 - 18:10
Там реализовано то, что описано в (38).
Так давай же адрес.
Viking
45 - 28.06.2004 - 18:13
2-Рупор абсурда: мне собсно пофиг... еще один или нет... а если ты не умеешь такое делать так и скажи... нефиг иронизировать...
Рупор абсурда
46 - 28.06.2004 - 18:15
(44) Разговор с тем, кто адреса в (43) не нашёл, обещает быть забавным ... :))
Рупор абсурда
47 - 28.06.2004 - 18:17
(45) Да, я не умею такое делать ...
Igogo
48 - 28.06.2004 - 18:19
Ну извини, не заметил сразу. Письмо, кстати, уже ушло.
Рупор абсурда
49 - 28.06.2004 - 18:33
(48) Ладно ..., считай, что пронесло ... :))
Хорошо, что взять более общий случай ты не решился ...
 
Кому интересно, там таблица для хранения и ввода строк ...
Под условия попадает ..., действительно, динамическая ..., действительно, для ввода данных ...
Igogo
50 - 28.06.2004 - 18:35
Тогда пока, домой пора :-)
Рупор абсурда
51 - 28.06.2004 - 18:36
(50) Пока :))
ДD
52 - 28.06.2004 - 18:40
ох-хо-хо-хоюшки... и дедушка с Вами попрощается.
До новых встреч, малыши! Спите сладко. Пусть Вам приснится сказка.
Рупор абсурда
53 - 28.06.2004 - 18:43
(52) И тебе сладких снов ... Пусть тебе приснится настоящая таблица для ввода данных ...
ДD
54 - 28.06.2004 - 18:48
ох и тупой ребенок! да еще и беспокойный, спать никак не хочет
2(53) прочитай чуток выше, все описано как сделать и С ТАБЛИЦЕЙ В РЕЖИМЕ ВВОДА ДАННЫХ
Рупор абсурда
55 - 28.06.2004 - 18:55
(54) Брось ты ..., ребёнок то ни фига не тупее деда оказался ...
Скорей наоборот ...
ДD
56 - 28.06.2004 - 19:09
2(55) дедушке простительно - у дедушки маразм
Рупор абсурда
57 - 28.06.2004 - 19:27
(56) UnLeadedушке простительно ...
Ихтиандр
58 - 28.06.2004 - 20:12
Если кому надо могу такую таблицу (dll) но только на мыло. Там даже можно цветные буковки рисовать. И это не "регламентированная отчетность"!!!
Ихтиандр
59 - 28.06.2004 - 20:15
(58) Действительно до 20:30.
igar
60 - 28.06.2004 - 20:18
(59) Скинь мне
Ихтиандр
61 - 28.06.2004 - 20:21
Ушло. Положи в КаталогИБ(). И читай помощь. Ctrl+F1. Там не только таблица...
alexey galkin
62 - 28.06.2004 - 20:38
может проясню. есть проблема с любым количеством строк в режиме ввода данных. завалить значение в любую ячейку можна, но что бы эту ячейку мог редактировать пользователь, необходимо снять с нее свойство "Защита". что делается "только" в конфигураторе :-) я обходил это так. снял галочку защита с 400-х строк. ert правда стал ОЧЕНЬ много места занимать.
если теперь я захочу програмно установить свойство "защита" до 400-т строк. получится. после 400-й строки не получится. вот и вся фигня

К списку вопросов на форуме 1C

>>