helpf.pro
Регистрация

v8: Поле Календаря

Ermak
14.11.2012 16:56Прочитано: 7961
Добрый вечер, покажите пример работы с "Поле Календаря". Например после нажатии на дату загружается информация в Табличное поле со Справочника
Yandex
Возможно, вас также заинтересует
Реклама на портале
E_Migachev
14.11.2012 19:00Ответ № 1
(0) Ermak, добавляешь календарик на форму, а далее прописываешь в событии ПриАктивизацииДаты любой код формирования чего надо
Ermak
15.11.2012 16:51Ответ № 2
Вот я сделал загрузку в Табличное поле со Справочника

Код 1C v 8.х
 Процедура ПолеКалендаря1ПриАктивизацииДаты(Элемент)
Текст1 = Новый ТекстовыйДокумент;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Аттестуемые.Наименование КАК Колонка1,
| Аттестуемые.Имя КАК Колонка2,
| Аттестуемые.Отчество КАК Колонка3,
| Аттестуемые.Организация КАК Колонка4,
| Аттестуемые.ГазУч КАК Колонка5,
| Аттестуемые.Должность КАК Колонка6
|ИЗ
| Справочник.Аттестуемые КАК Аттестуемые";
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение=Результат;

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


В Справочник.Аттестуемые есть реквизит Дата, нужно сделать условия при выборе в календаре дату от показывал тех людей у кого такая же дата в реквизите Дата.

Выдает такую ошибку

{Обработка.Обработка1.Форма.Форма.Форма(22)}: Преобразование значения к типу Число не может быть выполнено
ОбластьПереченьС.Параметры.ФИО = К.Фамилия + К.Имя + К.Отчество;


Код 1C v 8.х
 ТабДок = Новый ТабличныйДокумент;
Макет = Обработки.Обработка1.ПолучитьМакет("Макет");
К = ЭлементыФормы.ТабличноеПоле1.Колонки;

// Заголовок.
Область = Макет.ПолучитьОбласть("Заголовок");
Область.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Область);

// Шапка.
Шапка = Макет.ПолучитьОбласть("Шапка");
//Шапка.Параметры.Заполнить(ЭтотОбъект);
ТабДок.Вывести(Шапка);

// ПереченьНоменклатуры.
Область = Макет.ПолучитьОбласть("Перечень");
ТабДок.Вывести(Область);
ОбластьПереченьС = Макет.ПолучитьОбласть("ПереченьС");
ОбластьПереченьС.Параметры.ФИО = К.Фамилия + К.Имя + К.Отчество;
Для Каждого ТекСтрокаПереченьС Из ТабличноеПоле1 Цикл
ОбластьПереченьС.Параметры.Заполнить(ТекСтрокаПереченьС);
ТабДок.Вывести(ОбластьПереченьС);
КонецЦикла;
Область = Макет.ПолучитьОбласть("Вид");
//Область.Параметры.ВсегоПоДокументу = ПереченьНоменклатуры.Итог("Сумма");
ТабДок.Вывести(Область);

Область = Макет.ПолучитьОбласть("Подвал");
ТабДок.Вывести(Область);

//ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Истина;
ТабДок.ТолькоПросмотр = Ложь;
ТабДок.ОтображатьЗаголовки = Ложь;
ТабДок.Показать();

Изменено 16.11.12 12:24:14
Ermak
19.11.2012 09:04Ответ № 3
*03
E_Migachev
19.11.2012 11:55Ответ № 4
(3) Ermak, а чему у тебя равно К.Фамилия?
напиши
Код 1C v 8.х
 ОбластьПереченьС.Параметры.ФИО = Строка(К.Фамилия) +" "+ Строка(К.Имя) + " "+ Строка(К.Отчество);   
Ermak
19.11.2012 13:27Ответ № 5
(2) Ermak, Подскажите по первому вопросу
E_Migachev
19.11.2012 14:53Ответ № 6
(5) Ermak, в запросе сделай условие на отбор по дате и установи параметр
Ermak
19.11.2012 16:19Ответ № 7
(4) E_Migachev, не значение получается *03 а как сделать значение? Я со справочника выгружаю с табличное поле а потом уже печатаю в макет вот в макет и должно выводится Фамилия, Имя, Отчество в одну ячейку
Ermak
19.11.2012 16:22Ответ № 8
(6) E_Migachev, Покажите пример
E_Migachev
19.11.2012 16:51Ответ № 9
(8) Ermak,
Код 1C v 8.х
 
Для Каждого ТекСтрокаПереченьС Из ТабличноеПоле1 Цикл
ОбластьПереченьС.Параметры.Заполнить(ТекСтрокаПереченьС);
ОбластьПереченьС.Параметры.ФИО = ТекСтрокаПереченьС.Фамилия + ТекСтрокаПереченьС.Имя + ТекСтрокаПереченьС.Отчество;
ТабДок.Вывести(ОбластьПереченьС);
КонецЦикла;
Ermak
20.11.2012 08:59Ответ № 10
(9) E_Migachev, Спасибо получилось!

Я загружаю данные в табличное поле с табличной части , реквизиты Аттестация и Билет но они почему то не отображаются

Код 1C v 8.х
 Текст1 = Новый ТекстовыйДокумент;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Аттестуемые.Наименование КАК Фамилия,
| Аттестуемые.Имя КАК Имя,
| Аттестуемые.Отчество КАК Отчество,
| Аттестуемые.Организация КАК Организация,
| Аттестуемые.ГазУч КАК ГазУч,
| Аттестуемые.Должность КАК Должность,
| Аттестуемые.Разряд КАК Разряд,
| Аттестуемые.Результаты.(
| Аттестация КАК Аттестация,
| Билет КАК Билет
| )
|ИЗ
| Справочник.Аттестуемые КАК Аттестуемые";
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение=Результат;
Ermak
20.11.2012 09:26Ответ № 11
(6) E_Migachev, подскажите что не так

Код 1C v 8.х
 	               |	Справочник.Аттестуемые КАК Аттестуемые
|ГДЕ
| Аттестуемые.Результаты.Дата = &ТекДата";
Запрос.УстановитьПараметр("ТекДата",ТекущаяДата());
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение=Результат;
E_Migachev
20.11.2012 11:07Ответ № 12
(11) Ermak, если запрос выполняется и в Результат ты получаешь ТЗ, то пиши так:
Код 1C v 8.х
 Результат = Запрос.Выполнить().Выгрузить();
ТабличноеПоле1=Результат;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();
Ermak
20.11.2012 11:36Ответ № 13
(12) E_Migachev, я загружаю в табличное поле а не в ТЗ, у меня заместо реквизитов Аттестация и Билет стала колонка со значение "Таблица значений" и колонки создаются новые, а у меня уже они созданы
Изменено 20.11.12 11:44:05
E_Migachev
20.11.2012 15:06Ответ № 14
(13) Ermak, ааа, тогда код оставь старый
а запрос выполняется? в результат выдает что-нибудь?
Ermak
20.11.2012 15:50Ответ № 15
да результат выдает только нет результата по реквизитам

Код 1C v 8.х
 	               |	Аттестуемые.Результаты.(
| Аттестация КАК Аттестация,
| Билет КАК Билет

а по остальным все выдает как надо.
В чем тогда дело?
Ermak
21.11.2012 16:47Ответ № 16
???
E_Migachev
22.11.2012 00:53Ответ № 17
(16) Ermak, каким реквизитам?
Ermak
22.11.2012 08:28Ответ № 18
Аттестация и Билет
E_Migachev
22.11.2012 10:25Ответ № 19
(18) Ermak, они во вложенной таблице, тебе надо было построить запрос по другому - чтобы в основе были данные из Табличной части, а остальные реквизиты через ссылку
Ermak
22.11.2012 10:44Ответ № 20
покажите как?
E_Migachev
22.11.2012 12:12Ответ № 21
примерно так, оформи через конструктор
| Аттестуемые.Результаты.Ссылка.Наименование КАК Фамилия,
| Аттестуемые.Результаты.Ссылка.Имя КАК Имя,
| Аттестуемые.Результаты.Ссылка.Отчество КАК Отчество,
| Аттестуемые.Результаты.Аттестация КАК Аттестация,
| Аттестуемые.Результаты.Билет КАК Билет
Ermak
22.11.2012 12:39Ответ № 22
Сделал, но теперь вообще ничего не выводит *11

Код 1C v 8.х
 Текст1 = Новый ТекстовыйДокумент;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Аттестуемые.Результаты.(
| Ссылка.Наименование КАК Фамилия,
| Ссылка.Имя КАК Имя,
| Ссылка.Отчество КАК Отчество,
| Ссылка.Организация КАК Организация,
| Ссылка.ГазУч КАК ГазУч,
| Ссылка.Должность КАК Должность,
| Ссылка.Разряд КАК Разряд,
| Аттестация КАК Аттестация,
| Билет КАК Билет
| )
|ИЗ
| Справочник.Аттестуемые КАК Аттестуемые";
|ГДЕ
| Аттестуемые.Результаты.Дата = &ТекДата";
Запрос.УстановитьПараметр("ТекДата",ТекущаяДата());
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение=Результат;
E_Migachev
22.11.2012 13:03Ответ № 23
(22) Ermak, да ты же не так сделал *09
попробуй, писал на вскидку, мог где-то и ошибиться
Код 1C v 8.х
 Запрос.Текст = "ВЫБРАТЬ
| АттестуемыеРезультаты.Ссылка.Наименование КАК Фамилия,
| АттестуемыеРезультаты.Ссылка.Имя КАК Имя,
| АттестуемыеРезультаты.Ссылка.Отчество КАК Отчество,
| АттестуемыеРезультаты.Ссылка.Организация КАК Организация,
| АттестуемыеРезультаты.Ссылка.ГазУч КАК ГазУч,
| АттестуемыеРезультаты.Ссылка.Должность КАК Должность,
| АттестуемыеРезультаты.Ссылка.Разряд КАК Разряд,
| АттестуемыеРезультаты.Аттестация КАК Аттестация,
| АттестуемыеРезультаты.Билет КАК Билет
|ИЗ
| Справочник.Аттестуемые.Результаты КАК АттестуемыеРезультаты";
|ГДЕ
| Аттестуемые.Результаты.Дата = &ТекДата";
Ermak
22.11.2012 13:32Ответ № 24
Что то не так с датой, когда в запросе дата стоит то ничего не показывает я за комментировал дату и выдал результат во всех колонках "ТаблицаЗначений" *10


Код 1C v 8.х
 	Текст1 = Новый ТекстовыйДокумент;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| Аттестуемые.Результаты.Ссылка.Наименование КАК Фамилия,
| Аттестуемые.Результаты.Ссылка.Имя КАК Имя,
| Аттестуемые.Результаты.Ссылка.Отчество КАК Отчество,
| Аттестуемые.Результаты.Ссылка.Организация КАК Организация,
| Аттестуемые.Результаты.Ссылка.ГазУч КАК ГазУч,
| Аттестуемые.Результаты.Ссылка.Должность КАК Должность,
| Аттестуемые.Результаты.Ссылка.Разряд КАК Разряд,
| Аттестуемые.Результаты.Аттестация КАК Аттестация,
| Аттестуемые.Результаты.Билет КАК Билет
|ИЗ
| Справочник.Аттестуемые КАК Аттестуемые";
// |ГДЕ
// | Аттестуемые.Результаты.Дата = &Дата";
//Запрос.УстановитьПараметр("Дата",ТекущаяДата());
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение=Результат;

Изменено 22.11.12 13:32:55
E_Migachev
22.11.2012 13:58Ответ № 25
(24) Ermak, а, забыл понять в условии
Код 1C v 8.х
 |ГДЕ
| Аттестуемые.Результаты.Ссылка.Дата = &ТекДата";
Ermak
22.11.2012 14:17Ответ № 26
это отбор по дате идет, в справочнике Аттестуемые в табличной части Результаты есть реквизит Дата . Не работает всеравно
E_Migachev
22.11.2012 15:26Ответ № 27
тогда | Аттестуемые.Результаты.Дата = &ТекДата";
Ermak
22.11.2012 15:36Ответ № 28
так и есть но не работает!!!!!! тут писал
Ermak Ответ № 24 2012-11-22 13:32:25

Может конфигу скинуть?
E_Migachev
22.11.2012 16:24Ответ № 29
кидай, почта в личке
Ermak
22.11.2012 16:53Ответ № 30
отправил!
E_Migachev
23.11.2012 00:07Ответ № 31
вот запрос
Код
ВЫБРАТЬ
АттестуемыеРезультаты.Аттестация,
АттестуемыеРезультаты.Билет,
АттестуемыеРезультаты.Дата,
АттестуемыеРезультаты.Ссылка.Разряд,
АттестуемыеРезультаты.Ссылка.Должность,
АттестуемыеРезультаты.Ссылка.ГазУч,
АттестуемыеРезультаты.Ссылка.Организация,
АттестуемыеРезультаты.Ссылка.Имя,
АттестуемыеРезультаты.Ссылка.Отчество,
АттестуемыеРезультаты.Ссылка.Наименование
ИЗ
Справочник.Аттестуемые.Результаты КАК АттестуемыеРезультаты
ГДЕ
АттестуемыеРезультаты.Дата = &Дата
Ermak
23.11.2012 08:32Ответ № 32
Не работает!!!

Код 1C v 8.х
 Текст1 = Новый ТекстовыйДокумент;
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|АттестуемыеРезультаты.Аттестация,
|АттестуемыеРезультаты.Билет,
|АттестуемыеРезультаты.Дата,
|АттестуемыеРезультаты.Ссылка.Разряд,
|АттестуемыеРезультаты.Ссылка.Должность,
|АттестуемыеРезультаты.Ссылка.ГазУч,
|АттестуемыеРезультаты.Ссылка.Организация,
|АттестуемыеРезультаты.Ссылка.Имя,
|АттестуемыеРезультаты.Ссылка.Отчество,
|АттестуемыеРезультаты.Ссылка.Наименование
|ИЗ
|Справочник.Аттестуемые.Результаты КАК АттестуемыеРезультаты
|ГДЕ
|АттестуемыеРезультаты.Дата = &Дата";


Запрос.УстановитьПараметр("Дата",ТекущаяДата());
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение=Результат;
E_Migachev
23.11.2012 11:03Ответ № 33
(32) Ermak, а почему ты ставишь Запрос.УстановитьПараметр("Дата",ТекущаяДата()); - Текущую дату??? там на 100% у тебя нет данных с текущей датой!
Ermak
23.11.2012 11:40Ответ № 34
А как тогда надо?
E_Migachev
24.11.2012 21:31Ответ № 35
пришли целиком базу
Ermak
26.11.2012 09:31Ответ № 36
послал
E_Migachev
26.11.2012 11:39Ответ № 37
(36) Ermak, вот так
Код 1C v 8.х
 Процедура ПолеКалендаря1ПриАктивизацииДаты(Элемент)

Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
|АттестуемыеРезультаты.Аттестация,
|АттестуемыеРезультаты.Билет,
|АттестуемыеРезультаты.Дата,
|АттестуемыеРезультаты.Ссылка.Разряд,
|АттестуемыеРезультаты.Ссылка.Должность,
|АттестуемыеРезультаты.Ссылка.ГазУч,
|АттестуемыеРезультаты.Ссылка.Организация,
|АттестуемыеРезультаты.Ссылка.Имя,
|АттестуемыеРезультаты.Ссылка.Отчество,
|АттестуемыеРезультаты.Ссылка.Наименование КАК Фамилия
|ИЗ
|Справочник.Аттестуемые.Результаты КАК АттестуемыеРезультаты
|ГДЕ
|АттестуемыеРезультаты.Дата = &Дата";

Запрос.УстановитьПараметр("Дата",Элемент.Значение);
Результат = Запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение=Результат;

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

DT - Скачивать файлы может только зарегистрированный пользователь!
Изменено 26.11.12 11:40:10
Ermak
26.11.2012 12:56Ответ № 38
Спасибо большое
Подсказка: Вы можете приложить к ответу файл или изображение щелкнув по значку или в редакторе.
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.