Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
16 апр 2024, 22:20

Добавить дни недели

Автор tudsfr, 22 июн 2016, 13:46

0 Пользователей и 1 гость просматривают эту тему.

tudsfr

Здравствуйте Уважаемые форумчане !!!
Прошу объясните/помогите
Как изменить код, чтобы для А было 1пн, 2вт, 3ср и т.д.
Заранее благодарен

ps у меня получается 1день, 2день...

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)


МассивДобавляемыхРеквизитов = Новый Массив;
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("План", Новый ОписаниеТипов("ТаблицаЗначений")));   
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"),"План" ,"Сотрудник"));



Для А = 1 По 7 Цикл
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("День" +  Строка(А), Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
//     МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Часов" + Строка(А), Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "Часов"));   
КонецЦикла;

ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);   

ТаблицаФормы = Элементы.Добавить("План", Тип("ТаблицаФормы"));
ТаблицаФормы.ПутьКДанным = "План";
ТаблицаФормы.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет;
ТаблицаФормы.ФиксацияСлева = 3;
ТаблицаФормы.УстановитьДействие("ПередУдалением", "ПланПередУдалением");
ТаблицаФормы.УстановитьДействие("ПередНачаломДобавления", "ПланПередНачаломДобавления");


НоваяКолонка = Элементы.Добавить("Сотрудник", Тип("ПолеФормы"), Элементы.План);
НоваяКолонка.Заголовок = "Сотрудник";
НоваяКолонка.ПутьКДанным = "План.Сотрудник";
НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;
НоваяКолонка.РежимРедактирования = РежимРедактированияКолонки.ВходПриВводе;   


Для А = 1 По 7 Цикл

НоваяКолонка = Элементы.Добавить("День" + Строка(А), Тип("ПолеФормы"), Элементы.План);
НоваяКолонка.Заголовок = "День" + Строка(А);

НоваяКолонка.ПутьКДанным = "План.День"+ Строка(А);
НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;
НоваяКолонка.РежимРедактирования = РежимРедактированияКолонки.ВходПриВводе;   

КонецЦикла;

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

LexaK

всего семь дней, просто забейте их так, без всякого цикла :xfbnsdfb:

МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Понедельник", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Вторник", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Среда", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Четверг", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Пятница", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Суббота", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Воскресенье", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
если помогло нажмите: Спасибо!

tudsfr

Цитата: LexaK от 22 июн 2016, 15:43
всего семь дней, просто забейте их так, без всякого цикла :xfbnsdfb:

МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Понедельник", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Вторник", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Среда", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Четверг", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Пятница", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Суббота", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Воскресенье", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,0)),"План" , "День"));

так не получится

LexaK

Цитироватьтак не получится

Что не получится? Внятно и полно можете описать задачу? А то так трудно что либо дельное предложить!
если помогло нажмите: Спасибо!

tudsfr

Цитата: LexaK от 22 июн 2016, 16:38
Цитироватьтак не получится

Что не получится? Внятно и полно можете описать задачу? А то так трудно что либо дельное предложить!
Мне нужно создать - динамически формирующиеся колонки. Табель Фио сотрудника и 1пн,2Вт и т.д
в ячейках количество отработанных часов

LexaK

а зачем вам динамические колонки? сделайте постоянную таблицу
из ФИО, пн, вт, ..., вс
и заполняйте ее, в тех днях где нечем заполнять пишите 0 (или вообще ничего не пишите, там и так будет 0) такие таблицы сплошь и рядом в различных табелях и ни кто не заморачивается динамическим формированием таблиц.

в конце концов, в такой таблице, если какие-то колонки будут не нужны, их можно просто скрыть, Видимость = Ложь;
так тоже во многих 1С-ных формах делается. 
если помогло нажмите: Спасибо!

tudsfr

Цитата: LexaK от 22 июн 2016, 17:11
а зачем вам динамические колонки? сделайте постоянную таблицу
из ФИО, пн, вт, ..., вс
и заполняйте ее, в тех днях где нечем заполнять пишите 0 (или вообще ничего не пишите, там и так будет 0) такие таблицы сплошь и рядом в различных табелях и ни кто не заморачивается динамическим формированием таблиц.

в конце концов, в такой таблице, если какие-то колонки будут не нужны, их можно просто скрыть, Видимость = Ложь;
так тоже во многих 1С-ных формах делается.
Да вы абсолютно правы))) Я тоже так думаю, но мне дали такое задание.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск