Перейти к содержимому


Услуги программиста 1С
Профессиональные программисты 1С.
Весь комплекс услуг сопровождения 1С.

Курсы 1С
Бухгалтерам, менеджерам
и программистам.
Бесплатно!
Живое индивидуальное обучение по 1С.

Таблица в режиме ввода данных


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 5

#1   igmig65

igmig65

      Генерал-лейтенант

    • Пользователи
    • PipPipPipPipPipPipPipPip
    • Сообщений: 516
    • Регистрация: 05-July 07
    • Откуда: , ,

Отправлено 09 October 2010 - 19:42

Подскажите плиз. А возможно сам макет таблицы для ввода сформировать программно перед открытием формы.
Нужно колонки и строки сформировать как в обычном отчете.
Сама цель упростить ввод данных в док из этой обработки.
  • 0

#2   AgA

AgA

      Генерал-майор

    • Пользователи
    • PipPipPipPipPipPipPip
    • Сообщений: 276
    • Регистрация: 07-November 09
    • Откуда:Харьков , Харьковская Область , Украина

Отправлено 09 October 2010 - 21:37

Хочу уточнить вопрос.
1. Нужен пример с Таблицей в режиме ввода данных Колонки фиксированные, Строк может быть безразмерное количество.
2. Устроит Таблица значений в которую можно ввести строки?
3.
Quote (igmig65)
Сама цель упростить ввод данных в док из этой обработки.

Хочется понять количество колонок, строк, или что то вы хотите заполнят я так понял это отчет или обработка.
  • 0

#3   Polukuzov

Polukuzov

      Генерал-майор

    • Пользователи
    • PipPipPipPipPipPipPip
    • Сообщений: 324
    • Регистрация: 23-April 08
    • Откуда: , ,

Отправлено 10 October 2010 - 01:41

А возможно сам макет таблицы для ввода сформировать программно перед открытием формы.
Таблица есть часть формы так что сам понимаешь.

Безразмерное количество не получиться так как память очень сильно жрет.
НеТаблица значений а именно таблица.

  • 0

#4   igmig65

igmig65

      Генерал-лейтенант

    • Пользователи
    • PipPipPipPipPipPipPipPip
    • Сообщений: 516
    • Регистрация: 05-July 07
    • Откуда: , ,

Отправлено 10 October 2010 - 11:47

Quote (Polukuzov)
Таблица есть часть формы так что сам понимаешь

Понятно, думал пройдет в ПриОткрытии(), непролезло.
Quote (Polukuzov)
Хочется понять количество колонок, строк, или что то вы хотите заполнят я так понял это отчет или обработка

Так как в 7 нет возможности в док добавить 2 таб.часть(кроме ЗначВстроку), то прихолится как то обходить этот минус;
например делать вместо одного дока 2 и свзять их. Но.... Исходя из того какая ведется первичка, то вносить сами данные для оперетора довольно неудобно в 2 дока. Хотелось бы сделать форму как бланк для вноса данных, где к-во колонок расчетное, типа шахматки, но названия колонок длинные, поэтому в табл.значений это делать неудобно, т.к. невидно полного названия колонки, а в Таблице я могу их(назв.колонок) развернуть вертикально. Останется только для напрмер сотрудников(строки) проставить к-во(колонки) товаров. Пробую использовать в форме пустую таблицу и формирую ее(Шапку с колонками) в ПриОткрытии(). Но в этом случае при вводе значений в строки поле открывается как текст, а в этом случае, учитывая то, на что способны операторы.....
Фомат как-то прицепить к ячейке пустой таблицы можно? Чтоб при вводе туда значений можно только числа??
  • 0

#5   Polukuzov

Polukuzov

      Генерал-майор

    • Пользователи
    • PipPipPipPipPipPipPip
    • Сообщений: 324
    • Регистрация: 23-April 08
    • Откуда: , ,

Отправлено 11 October 2010 - 08:11

У меня на предприятии формируеться документ на погрузку товара. При этом водителю/экспедитору да и кладовщику абсолютно пофиг кому и что грузить их интересует всего скока надо погрузитьна этот маршрут, хотя точек на маршруте более 20-30. При нехватке товара оператор через эту таблицу видит и в режиме ввода в таблицу меняет кому то количество на его усмотрение и только после этого формируються расходные накладные.

Добавлено (11.10.2010, 09:11)
---------------------------------------------
Саму обработку дать не могу, не мое и за него много денег заплачено, но подскажу основное это эта процедура.

Code
//==========================
Функция Значение(R1,C1,R2,C2,Тип="Строка",Длина=0,Зн,Ширина=0,ГоризонтальноеПоложение=1,ЦветФона=-1,Доступность=1,Маска="",Точность=0)
  Если ПустоеЗначение(R2)=1 Тогда
   R2=R1;
  КонецЕсли;
  Если ПустоеЗначение(C2)=1 Тогда
   C2=C1;
  КонецЕсли;
  Обл=Таблица.Область(R1,C1,R2,C2);
  СтарЗн=Обл.Значение;
  Если Тип="Строка" Тогда
   Зн=Строка(Зн);
  ИначеЕсли Тип="Число" Тогда
   Зн=Число(Зн);
  КонецЕсли;
  Если (Тип="Строка")И(Длина=0) Тогда
   Длина=Макс(СтрДлина(Зн),1);
  КонецЕсли;
  Если Тип="Строка" Тогда
   Обл.НазначитьТип(Тип,Длина);
  ИначеЕсли Тип="Число" Тогда
   Обл.НазначитьТип(Тип,Длина,Точность);
   Если Форма.Закладки.ТекущаяСтрока()=2 Тогда
    стрТочность=?(Точность=0,"0",СокрЛП(Точность));
    Обл.Формат("Ч0"+СокрЛП(Длина)+"."+стрТочность);
   КонецЕсли;  
  Иначе  
   Обл.НазначитьТип(Тип,,);
  КонецЕсли;
  Обл.Значение=Зн;
  Обл.РамкаОбвести(3,3,3,3);
  Если Тип="Справочник.Номенклатура" Тогда
   Обл.РамкаСправа(4);
  КонецЕсли;
  Если (C2=5) И (R2>2) И (Форма.Закладки.ТекущаяСтрока()=2) Тогда  
   Обл.РамкаСправа(4);
  КонецЕсли;
  Если (C2=8) И (R2>2) И (Форма.Закладки.ТекущаяСтрока()=2) Тогда  
   Обл.РамкаСправа(4);
  КонецЕсли;
  Обл.ВертикальноеПоложение(3);
  Обл.ГоризонтальноеПоложение(ГоризонтальноеПоложение);
  Если Тип="Число" Тогда
   Обл.Контроль(5);
  ИначеЕсли Тип="Строка" Тогда
   Обл.Контроль(4);
  Иначе
   Обл.Контроль(1);
  КонецЕсли;
  Обл.ЦветФона(ЦветФона);  
  //МОБ 16.12.2004 17:07:43
  Если (C2=3) И (R2>2) И (Форма.Закладки.ТекущаяСтрока()=2) Тогда  
   Обл.ЦветФона(Цвет(ТаблПЛ.СостДокумента,0));
  КонецЕсли;   
  Если (C2=6) И (R2>2) И (Форма.Закладки.ТекущаяСтрока()=2) Тогда  
   Обл.ЦветФона(Цвет(ТаблПЛ.ТаблТМЦ.СостДокументаВозвр,1));
  КонецЕсли;
   
  Если Ширина<>0 Тогда
   Обл.ШиринаСтолбца(Ширина);
  КонецЕсли;
  Если Маска<>"" Тогда
   Обл.Маска(Маска);
  КонецЕсли;        
   
  Если (C2=4)И(R2>2)И(Форма.Закладки.ТекущаяСтрока()=2) Тогда //031103  
   Если Зн<>0 Тогда
    Обл    .    ЦветТекста(255,0,0);        
   Иначе
    Обл    .    ЦветТекста(0,0,0);        
   КонецЕсли; //Зн<>0      
  ИначеЕсли (C2=7)И(R2>2)И(Форма.Закладки.ТекущаяСтрока()=2) тогда
   Если Зн<>0 Тогда
    Обл    .    ЦветТекста(255,0,0);        
   Иначе
    Обл    .    ЦветТекста(0,0,0);        
   КонецЕсли; //Зн<>0      
  Иначе
   Обл.ЦветТекста(0,0,0);   
  КонецЕсли; //C2=6
   
  Обл.Курсив(0);
   
  Обл.Доступность(Доступность);
  Возврат СтарЗн;
КонецФункции

R1,C1,R2,C2 это поля табличной части в стиле Excel.
Обращение к этой процедуре как раз все и рисует.
  • 0

#6   igmig65

igmig65

      Генерал-лейтенант

    • Пользователи
    • PipPipPipPipPipPipPipPip
    • Сообщений: 516
    • Регистрация: 05-July 07
    • Откуда: , ,

Отправлено 11 October 2010 - 09:06

Quote (Polukuzov)
подскажу основное

Спасибо, буду посмотреть, лови +
  • 0


Обратно в Программирование и конфигурирование 1С Предприятия 7.7

Похожие темы

  Название темы Автор Статистика Последнее сообщение



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных