Имя: Пароль:
1C
1С v8
Подскажите как лучше сделать такое на УФ?
,
0 МастерВопросов
 
18.02.12
14:29
Есть документ с табличной частью "ПродажиЗаПериод",
это таб.часть имеет такие реквизиты:
Контрагент (Спр.Контрагент)
Месяц (Дата)
Продажи (Число)

Юзер хочет видеть эти данные на УФ Документа в таком виде:

Контрагент Март Апрель Май
-Вася       10   20     15
-Петя       15   10     10

http://s017.radikal.ru/i431/1202/86/adc8d79079ae.jpg

Условия:
Количество месяцев в документе заранее неизвестно и не хотелось бы его ограничивать.
Речь идет именно о документе. Так как данные расчитываются один раз и хранятся. Это документ планирования, на картинке только часть показателей.
1 acsent
 
18.02.12
14:30
и в чем проблема? реквизиты можно ручками добавлять
2 МастерВопросов
 
18.02.12
14:32
(1) Еще не знаю. В пн. планирую это реализовывать.
Табличная часть заполянется по кнопке "Заполнить". Ну и при повторном открытии документа надо, ессно, рисовать такую табличку как в (0).
3 МастерВопросов
 
18.02.12
14:35
+(2) В семерке бы я такое делал через ТЗ на форме, а в восьмерке может это можно через какой-нибудь демонический список замутить?
4 acsent
 
18.02.12
14:35
1000р
5 el-gamberro
 
18.02.12
14:37
я готов такое сделать за 950 рублей.
И через список и через удаление/добавление колонок на УФ
6 МастерВопросов
 
18.02.12
15:29
(4)(5) Предлагаю вам это сделать бесплатно, а код выложить в эту тему.
Наиболее интересные решения будут удостоены комментариев :-)
7 el-gamberro
 
18.02.12
15:31
(6) это неинтересно, решения уже писали на форме, так что юзай поиск
8 el-gamberro
 
18.02.12
15:31
*уже писали на форуме
9 МастерВопросов
 
18.02.12
15:32
В БСП, или комплексной есть доки с такой фиговиной на форме? Чтобы сразу посмотреть как это правильно делать, а не идти непроторенным путем?
10 el-gamberro
 
18.02.12
15:44
(9) наверное есть. сделай поиск по "ИзменитьРеквизиты(<ДобавляемыеРеквизиты>, <УдаляемыеРеквизиты>)"
11 el-gamberro
 
18.02.12
15:44
там фишка что кроме добавления. нужно еще и элементы добавлять. ну и с обновлением/удалением колонок кое какие нюансы
12 МастерВопросов
 
18.02.12
15:49
13 МастерВопросов
 
18.02.12
15:50
(10) спасибо
14 МастерВопросов
 
20.02.12
07:12
а можно программно менять текст запроса для демонического списка?
Тот, который указывается в свойстве "произвольный запрос".
15 Escander
 
20.02.12
07:54
(14) а почему нет-то? Но может проще гасить те столбцы (формы-то УПРАВЛЯЕМЫЕ!!!) выборка по которым нулевая? Или ещё проще опираться при гашении на период который будет указан при заполнении(хранить где-то в реквизитах документа не обязательно в визуализируемых, на эти реквизиты опираться при повторном открытии).
16 МастерВопросов
 
20.02.12
07:58
(15) и как его менять программно?
17 Юрий Лазаренко
 
20.02.12
08:02
(14) Я так понял, эта таблица нужна только для отображения данных по продажам? Не для заполнения или изменения? Если да, то сделай обычное поле табличного документа и заполняй его запросом. Работать будет быстрее и форма "легче", без кучи доп. реквизитов, веб-клиент тебе за это только "спасибо" скажет.
18 МастерВопросов
 
20.02.12
08:53
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   ДинамичСписок.ТекстЗапроса="ВЫБРАТЬ
                                   |    ""ХХХХ"" КАК Контрагент,
                                   |    ПланОплатПоставщикамПродажиЗаПериод.Месяц,
                                   |    ПланОплатПоставщикамПродажиЗаПериод.Продажи
                                   |ИЗ
                                   |    Документ.ПланОплатПоставщикам.ПродажиЗаПериод КАК ПланОплатПоставщикамПродажиЗаПериод
                                   |ГДЕ
                                   |    ПланОплатПоставщикамПродажиЗаПериод.Ссылка.Ссылка = &ТекДокумент";
   ДинамичСписок.Параметры.УстановитьЗначениеПараметра("ТекДокумент",Объект.Ссылка);    
КонецПроцедуры
19 Escander
 
20.02.12
09:40
(18) стоп погоди, ты форму списка документов готовишь или ТЧ (заполненую по кнопке и недоступную для редактирования) внутри документа визуализируешь?
20 МастерВопросов
 
20.02.12
11:19
//создаём новые колонки в ПланОплат    
   КЧ=новый КвалификаторыЧисла(15,2);
   Массив = Новый Массив;
   Массив.Добавить(Тип("Число"));
   ОписаниеТиповЧ = Новый ОписаниеТипов(Массив,КЧ);

   ДобавленныеРеквизиты = Новый Массив;
   Для НомерМесяца=ПервыйМесяц По ПоследнийМесяц Цикл
           ДобавленныеРеквизиты.Добавить(Новый РеквизитФормы(
           "Месяц"+НомерМесяца,
           ОписаниеТиповЧ,
           "Объект.ПланОплат",
           НазваниеМесяца(НомерМесяца)));
   КонецЦикла;
       
   ИзменитьРеквизиты(ДобавленныеРеквизиты);
   
   //теперь добавляем колонку на форму
   Для НомерМесяца=ПервыйМесяц По ПоследнийМесяц Цикл
       НовыйЭлемент=Элементы.Добавить("КолонкаМесяц"+НомерМесяца,Тип("ПолеФормы"),Элементы.ПланОплат);
       НовыйЭлемент.ПутьКДанным="Объект.ПланОплат.Месяц"+НомерМесяца;
//        НовыйЭлемент.Вид="ВидПоляФормы.ПолеВвода";
   КонецЦикла;
21 МастерВопросов
 
20.02.12
11:21
Ошибка при установке значения атрибута контекста (Вид)
       НовыйЭлемент.Вид="ВидПоляФормы.ПолеВвода";
по причине:
Несоответствие типов