Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Помогите, пожар. Есть задание сделать динамическую табличную часть

Помогите, пожар. Есть задание сделать динамическую табличную часть
Я
   PortAlex74
 
19.11.18 - 16:30
Здравствуйте. Проблемка в сдедующем... Короче есть задание, посчитать количество дней в обработке и сделать динамическую табличную часть в 1с.
8.3. наполнения в табличной части нет. Тупо список дней разницы.
Столкнулся с двумя проблемами: 1. не добавляются колонки в табличную часть, решил ТаблицейЗначений... Но как ее подгрузить в табличную часть??? Прошу помощи. Ну не знаю что сделать(((
 
 
   Волшебник
 
1 - 19.11.18 - 16:30
Пригласите программиста.
   PortAlex74
 
2 - 19.11.18 - 16:33
Да с радостью, но не имею возможности. Я написал-прошу помощи...
   PortAlex74
 
3 - 19.11.18 - 16:35
Вот что выстрадал:

&НаСервере
Процедура ОкончаниеПриИзмененииНаСервере()
ТЗ=Новый ТаблицаЗначений;    
    если ЭтаФорма.Объект.Окончание<ЭтаФорма.Объект.Начало тогда
        Сообщить ("Дата окончания НЕ может быть меньше даты начала");
        Иначе Сообщить (Формат(День(ЭтаФорма.Объект.Окончание)-День(ЭтаФорма.Объект.начало)) +" циклов");
    КонецЕсли;
Счетчик=День(ЭтаФорма.Объект.Окончание)-День(ЭтаФорма.Объект.начало);    
для i=1 по счетчик цикл    
Текст="Колонка"+i;
    ЭтаФорма.Объект.ТабличнаяЧасть1.Колонки.Добавить(Текст);  
      
//    ТЗ.Колонки.Добавить(Текст);  


    конеццикла;


  
ЭтаФорма.Объект.ТабличнаяЧасть1.Загрузить(ТЗ);      
      

     
    // Вставить содержимое обработчика.

КонецПроцедуры

&НаКлиенте
Процедура ОкончаниеПриИзменении(Элемент)
    ОкончаниеПриИзмененииНаСервере();
КонецПроцедуры
   vicof
 
4 - 19.11.18 - 16:35
(0) Табличную часть нельзя создать динамическую.
   PortAlex74
 
5 - 19.11.18 - 16:36
(4) Как же быть???
   PortAlex74
 
6 - 19.11.18 - 16:37
Вроде подвернулась работа, но не могу пройти тест. Это тест....
   Волшебник
 
7 - 19.11.18 - 16:38
(6) Значит ты не тот, кто им нужен.
   PortAlex74
 
8 - 19.11.18 - 16:40
Я далек от этого. И вообще корячится другая должность, а я кроме как стандартной бухгалтерии и ЗУП в руках не держал. ПОМОГИТЕ!
   PortAlex74
 
9 - 19.11.18 - 16:41
Помогите, хоть с цепочкой действий.
   Segate
 
10 - 19.11.18 - 16:43
(0) у меня есть готовый механизм(подсистема) создания произвольных табличных частей в 1с. создаются по аналогии с доп. реквизитами. Хочешь? )
 
 Рекламное место пустует
   d4rkmesa
 
11 - 19.11.18 - 16:44
>> Объект.ТабличнаяЧасть1.Загрузить(ТЗ)

(3) Это не работает? Должно ведь по идее. Проверьте через отладчик, не пустая ли.
   Волшебник
 
12 - 19.11.18 - 16:46
Табличная часть должна содержать колонки в виде строк.
Например, документ "Табель учёта рабочего времени" содержит таб.часть с колонками Сотрудник, День, Часы

При открытии данные разворачиваются в таблицу значений. Значения из колонки День превращаются в названия колонок.

После редактирования таблица значений опять превращается в плоский список и сохраняется в таб.часть.
   d4rkmesa
 
13 - 19.11.18 - 16:48
   H A D G E H O G s
 
14 - 19.11.18 - 16:50
(0) В Кузбассе не осталось вообще программистов штоле?
   PortAlex74
 
15 - 19.11.18 - 16:51
Могу выложить задание, может поможите?
   Волшебник
 
16 - 19.11.18 - 16:52
(15) А работать за тебя тоже мы будем?
   PortAlex74
 
17 - 19.11.18 - 16:52
(14) По любому есть, но никак не получается у меня(((
   PortAlex74
 
18 - 19.11.18 - 16:54
(16) Сейчас я просто очень ограничен по времени... И думаю, если сейчас сдвинется, то дальше по карабкуюсь.
   Бубка Гоп
 
19 - 19.11.18 - 16:57
(15) Так тебе в (12) написали как сделать
   hhhh
 
20 - 19.11.18 - 16:58
(18) ну они же тоже читают этот форум. Всё равно ты уже спалился. Можешь уже не делать, забей, ищи другую работу.
   иубиповец
 
21 - 19.11.18 - 16:58
минута поиска дала ссылку http://expert.chistov.pro/public/203445/
может поможет..
   yzimin
 
22 - 19.11.18 - 16:59
Посмотри, как в УТ11 сделана ТЧ в док.установка цен: там можно задать произвольное количество видов, все они преобразуются в колонки
   Волшебник
 
23 - 19.11.18 - 17:01
(18) Дальше будет хуже
   H A D G E H O G s
 
24 - 19.11.18 - 17:02
(22) ++ и никогда так не делай.
   PortAlex74
 
25 - 19.11.18 - 17:03
(23) Я понимаю, что это не мед, но помогите.
   Garykom
 
26 - 19.11.18 - 17:03
Когда то был у меня знакомый "программист", который на работу то устроился.

Но работу за него делал его старший брат, а младший большую часть зарплаты отдавал ему (старшему).

Было прикольно ))
   Segate
 
27 - 19.11.18 - 17:05
Смотри короч:
В объекте есть тч с колонками:
1)ТабличнаяЧасть<пвх.допсвойстваИЗначения(с типом доп. ТЧ)>
2)НомерСтрокиТаблицы
3)Колонка<Пвх.ДопКолонкиДопТабличныхЧастей>
4)Значение

В момент формирования документа вызывается вот такое:

Функция БЗС_ПолучитьДанныеДополнительнойТабличнойЧасти(ТабличнаяЧасть,ОписаниеОбъекта) экспорт

    колонкиТЧ = БЗС_ПолучитьКолонкиТЧ(ТабличнаяЧасть).выгрузить();
    СтрокаПолей="";
    Для каждого колонка Из колонкиТЧ Цикл
        
        СтрокаПолей=СтрокаПолей+Символы.ПС+"    МАКСИМУМ(ВЫБОР
        |            КОГДА БЗС_ДополнительныеТабличныеЧасти.Колонка.наименование = """+колонка.наименование+"""
        |                ТОГДА БЗС_ДополнительныеТабличныеЧасти.Значение
        |            ИНАЧЕ NULL
        |        КОНЕЦ) КАК "+колонка.наименование+",";
        
    КонецЦикла; 
    //Убираем последнюю запятую

    СтрокаПолей = Лев(СтрокаПолей,СтрДлина(СтрокаПолей)-1);
    Запрос = новый запрос();
    Запрос.Текст = "%1
    |ВЫБРАТЬ
    |    БЗС_ДополнительныеТабличныеЧасти.НомерСтрокиТаблицы КАК НомерСтрокиТаблицы,
    |%2
    |ИЗ
    |    %3 КАК БЗС_ДополнительныеТабличныеЧасти
    |ГДЕ
    |    БЗС_ДополнительныеТабличныеЧасти.ТабличнаяЧасть = &ТабличнаяЧасть
    |    %4
    |
    |СГРУППИРОВАТЬ ПО
    |    БЗС_ДополнительныеТабличныеЧасти.НомерСтрокиТаблицы";
    
    Если Типзнч(ОписаниеОбъекта) = тип("ТаблицаЗначений") Тогда
        ТекстВТ = "выбрать * 
        |Поместить ВТ
        |ИЗ
        |    &ТаблицаИсточник как ТЗ
        |;
        /////////////////////////////////////////////////////";

        ТекстИсточник = "ВТ";
        ТекстУсловие = "";
        Запрос.УстановитьПараметр("ТаблицаИсточник",ОписаниеОбъекта);
    Иначе
        ТекстВТ= "";
        ТекстИсточник = ОписаниеОбъекта.ссылка.Метаданные().ПолноеИмя()+".БЗС_ДополнительныеТабличныеЧасти";
        ТекстУсловие = "И БЗС_ДополнительныеТабличныеЧасти.Ссылка = &Ссылка";
        Запрос.УстановитьПараметр("Ссылка",ОписаниеОбъекта.ссылка);
    КонецЕсли; 
    
    Запрос.УстановитьПараметр("ТабличнаяЧасть",ТабличнаяЧасть);
    Запрос.Текст = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Запрос.Текст,ТекстВТ,СтрокаПолей,ТекстИсточник,ТекстУсловие);
    ТЗ = Запрос.Выполнить().Выгрузить();
    Возврат ТЗ;
КонецФункции// ()


Под ТЗ отрисовывается ТЧ на форме, и туда загружаются значения. Все просто довольно.
   PortAlex74
 
28 - 19.11.18 - 17:06
(26) ))) Сложно делиться тем, чего нет.... Но другую работу тут найти никак
   PortAlex74
 
29 - 19.11.18 - 17:08
(27) Давай я тебе тест скину. Может получится? Пожайлуста))) Помоги.
   Segate
 
30 - 19.11.18 - 17:08
(29) А что по деньгам-то?
   Numerus Mikhail
 
31 - 19.11.18 - 17:09
(29) Не думаю, что тут кто-то будет оказывать медвежью услугу.
Мы максимум можем помочь, если будет конкретная проблема с чем-то. Но писать весь код за тебя - нет уж, спасибо
   Garykom
 
32 - 19.11.18 - 17:09
(28) Ничего страшного, возьми кредит, чтобы заплатить программисту за решение теста.

Как устроишься кредит отдашь, главное бери побольше чтобы хватило месяц программистов нанимать ))
   PortAlex74
 
33 - 19.11.18 - 17:11
(30) Я скажу честно, ну нет у меня денег ни сколько. И работы нет(((.
 
 
   Garykom
 
34 - 19.11.18 - 17:14
(33) Ну я вот на заре карьеры сторожем и дворником работал.
Когда программистом еще не брали.

Может тебе тоже с подобного начать?
   PortAlex74
 
35 - 19.11.18 - 17:26
Как правильно начать????
   PortAlex74
 
36 - 19.11.18 - 17:33
Как Таблицу значений можно запихать в Табличную часть???? Есть способ?
   Волшебник
 
37 - 19.11.18 - 17:34
(36) циклом
   Волшебник
 
38 - 19.11.18 - 17:34
Программирование — это фантазия плюс умение крутить циклы.
   Numerus Mikhail
 
39 - 19.11.18 - 17:35
(36) ТабличнаяЧасть.Загрузить(ТаблицаЗначений)
   МимохожийОднако
 
40 - 19.11.18 - 17:39
Прикольно.Не часто подобное нахальство увидишь. Из него в будущем выйдет "креативный кризисный менеджер".
   PortAlex74
 
41 - 19.11.18 - 17:44
(37) Таблица значений имеет только колонки (наименование), она патологически чиста (пуста) Или я что-то не так понимаю?
   PR
 
42 - 19.11.18 - 17:44
(15) Могу выложить номер банковской карточки, может поможете?
   PortAlex74
 
43 - 19.11.18 - 17:44
(39) Это не работает
   PortAlex74
 
44 - 19.11.18 - 17:46
Как программно добавить колонки в ТЧ???
   palsergeich
 
45 - 19.11.18 - 17:47
(42) C 6 сторон плз.
Обязательно поможем
   antgrom
 
46 - 19.11.18 - 17:47
(0) может вам нужна не табличная часть, а нужно просто отображать в документе например данные регистра с каким то отбором ?
   palsergeich
 
47 - 19.11.18 - 17:48
(46) ДА не, судя по шапке - задача именно на динамическую ТЗ на форме.
   Бубка Гоп
 
48 - 19.11.18 - 17:49
(44) Никак. В ТЗ можно, ТЧ - нельзя, это объект конфигурации. Почитай (12) еще разик.

Тебе надо колонки с датами, но сколько - ты не знаешь. Тогда ты делаешь одну колонку "Дата", и для каждой записи ТЧ делаешь столько строк, сколько колонок "Дат" тебе нужно, дублируя остальные колонки.
   gantonio
 
49 - 19.11.18 - 17:51
задание , кстати звучит точно так , как написано ? или это вольная интерпретация
 
 Рекламное место пустует
   Бубка Гоп
 
50 - 19.11.18 - 17:52
(48) + естественно метод Загрузить() тебе не подходит, потому что у ТЧ будет меньше колонок чем у ТЗ. В цикле при открытии рисуешь ТЗ, при записи - из ТЗ пишешь в ТЧ.
   PortAlex74
 
51 - 19.11.18 - 17:54
(48) НЕт, я делаю не так. Вычитаю разницу дней, в таблице значений добавляю колонки, потом пытаюсь загрузить в Табличную часть. Но тут и не получается. А как добавить колонки в Табличную часть я не знаю.
   PortAlex74
 
52 - 19.11.18 - 17:55
(50) Но как добавить колонки в ТЧ? Именно кодом, не ручками.
   Бубка Гоп
 
53 - 19.11.18 - 17:55
(51) Колонки в табличную часть добавляются в конфигураторе, ручками, а не программно.
   Бубка Гоп
 
54 - 19.11.18 - 17:55
(52) Зачем кодом блин, понять не могу?
   PortAlex74
 
55 - 19.11.18 - 17:56
(49) Могу скинуть это чудо задание)))
   PortAlex74
 
56 - 19.11.18 - 17:57
(54) Ну динамически надо...
   Бубка Гоп
 
57 - 19.11.18 - 17:58
(56) Ты что то не так понял в задании, либо я не могу понять чего ты хочешь добиться
   PortAlex74
 
58 - 19.11.18 - 17:59
(57) Как можно тогда добавить колонки в ТЧ?
   Ёпрст
 
59 - 19.11.18 - 17:59
Мот надо дин список и произвольный запрос ?
   Ёпрст
 
60 - 19.11.18 - 18:00
озвучивай ужо свое задание полностью
че гадать то ?
   Бубка Гоп
 
61 - 19.11.18 - 18:00
Вангую, ТС под "ТЧ" понимает просто таблицу как элемент формы
   PortAlex74
 
62 - 19.11.18 - 18:02
(60) У тебя почта есть? В профиле нету...
   Бубка Гоп
 
63 - 19.11.18 - 18:03
(61) + Если так, то просто рисуй ТЗ как в (13)

//Создадим реквизиты ТЗ

    МассивРеквизитов.Очистить();
    Для Каждого Колонка ИЗ ТЗ_рез.Колонки Цикл
        МассивТипов = Новый Массив;
        МассивТипов.Добавить(Колонка.ТипЗначения);
        НоваяКолонка = Новый РеквизитФормы(Колонка.Имя, Новый ОписаниеТипов(МассивТипов), "ТЗ");
        МассивРеквизитов.Добавить(НоваяКолонка);
    КонецЦикла;      
    ИзменитьРеквизиты(МассивРеквизитов);  
    ЗначениеВРеквизитФормы(ТЗ_рез, "ТЗ");
   Бубка Гоп
 
64 - 19.11.18 - 18:03
(63) +
//Создаем элементы на форме для отображения колонок

    ЭлементТЗ = Элементы.ТЗ;
    Для Каждого Колонка ИЗ ТЗ_рез.Колонки Цикл
        НовыйЭлементФормы = Элементы.Добавить("ТЗ"+Колонка.Имя, Тип("ПолеФормы"), ЭлементТЗ);
        НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлементФормы.ПутьКДанным = "ТЗ." + Колонка.Имя;
    КонецЦикла;
   PortAlex74
 
65 - 19.11.18 - 18:04
(61) НЕТ, Понимаю Табличную часть...
   PortAlex74
 
66 - 19.11.18 - 18:09
(64) Скинул на почту.
   PortAlex74
 
67 - 19.11.18 - 18:11
(64) Что я делаю не так???
   МимохожийОднако
 
68 - 19.11.18 - 18:12
(66) Ты сюда выкладывай задание. Не стесняйся.
   МимохожийОднако
 
69 - 19.11.18 - 18:13
(67) Не читаешь СП.
   PortAlex74
 
70 - 19.11.18 - 18:14
(68) Как это сделать-то? Давно-бы уже выложил бы
   PortAlex74
 
71 - 19.11.18 - 18:16
(69) На почту угнал.
   PortAlex74
 
72 - 19.11.18 - 18:17
(69) Что такое СП???
   МимохожийОднако
 
73 - 19.11.18 - 18:18
(71) В тех. задании речи о табличной части не идёт. Там табличное поле,как элемент формы. Т.е. ты неправильно его понял.
   МимохожийОднако
 
74 - 19.11.18 - 18:18
(72) Синтаксис помощник. Ctrl-F1  в режиме Конфигуратор.
   МимохожийОднако
 
75 - 19.11.18 - 18:19
Попробуй сделать через СКД
   Бубка Гоп
 
76 - 19.11.18 - 18:20
(66) у тебя в задании написано про реквизиты формы. ФОРМЫ. См (13). ТЧ тут ни при чем!
   PortAlex74
 
77 - 19.11.18 - 18:21
(75) Кого? и что? Или я вообще не так что-то понимаю?
   Бубка Гоп
 
78 - 19.11.18 - 18:22
Либо тролль, либо не надо тебе в 1с
   МимохожийОднако
 
79 - 19.11.18 - 18:22
СКД - система компоновки данных. Возьми консоль СКД и в ней построй запрос и схему. Получишь нужный отчет.
   МимохожийОднако
 
80 - 19.11.18 - 18:23
Возьми курс валют типовой конфигурации слепи отчет по датам периода.
   PortAlex74
 
81 - 19.11.18 - 18:26
(76) Тогда подъясни, Добавить колонки в ТЧ можно? Или нет? поэтому я подумал, что надо создать ТЗ она динамическая, и выгрузить в ТЧ. Полностью повторив ТЗ.
   PortAlex74
 
82 - 19.11.18 - 18:26
(81) + Так правильно????
   PortAlex74
 
83 - 19.11.18 - 18:27
(80) Это первое задание, надо второе.
   МимохожийОднако
 
84 - 19.11.18 - 18:31
(81) Не надо называть табличное поле табличной частью. Это заводит тебя в тупик. Добавить колонки в табличное поле можно,а в табличную часть нельзя. Достаточно посмотреть в СП (синтаксис помощник). Можешь создать ТЗ  и отобразить в табличном ПОЛЕ.
   Бубка Гоп
 
85 - 19.11.18 - 18:31
(81) тебе не нужна ТЧ
   Бубка Гоп
 
86 - 19.11.18 - 18:32
(81) тебе просто надо создать элементы формы программно
   МимохожийОднако
 
87 - 19.11.18 - 18:32
(85) обалдеть
   МимохожийОднако
 
88 - 19.11.18 - 18:38
(85) Последний коммент не к тебе ) Ошибся
   Fram
 
89 - 19.11.18 - 18:38
(85) ещё раз 10 и дойдет
   Сергиус
 
90 - 19.11.18 - 19:01
(0)В правой части формы на вкладке Реквизиты создаешь новый элемент(Добавить реквизит), тип - Таблица значений. Там же можно добавлять поля этой таблицы(Добавить колонку реквизита). Как создал, переносишь влево в окно Элементов формы. Вот у тебя и появится Табличное поле на форме(это то, что ты называешь Табличной частью).
   PortAlex74
 
91 - 19.11.18 - 19:18
(90) Я так и сделал. Оно на поле
   PortAlex74
 
92 - 19.11.18 - 19:23
(90) Дело в том что оно должно строиться динамически! Количество колонок не известно!!
   Bigbro
 
93 - 19.11.18 - 19:26
правильный ответ в (34)
   PortAlex74
 
94 - 19.11.18 - 19:29
(93) (((
   PortAlex74
 
95 - 19.11.18 - 19:30
(90) Но как в него добавлять колонки? Это подскажите???
   PortAlex74
 
96 - 19.11.18 - 19:32
(95) Именно динамически! не известно сколько будет колонок! А то создать ручками, большинство сможет!!!
   hhhh
 
97 - 19.11.18 - 19:37
(96) ну добавляй в цикле. командой ИзменитьРеквизиты
   PortAlex74
 
98 - 19.11.18 - 19:40
(97) Но как добавить колонку???
   PortAlex74
 
99 - 19.11.18 - 19:41
(97) Не пойму, как это сделать!
   МимохожийОднако
 
100 - 19.11.18 - 20:11
(99) ТЗ.Колонки.Добавить()


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует