1С:Предприятие
:: 1С:Предприятие 8 общая
|
|
| ||
Обработка 12.01.21 - 09:56 | Наткнулся на некую типовую обработку.
В ТЗ выводят документ по типу. Но в ТЗ попадают все доки за все время. Хотелось бы ограничить по интервалу. Вот код. #Если ТолстыйКлиентОбычноеПриложение Тогда МассивТиповДокументов = Новый Массив; МассивТиповДокументов.Добавить(Тип("ДокументСписок." + ТипДокумента1С)); Элементы.Документы1С.ТипЗначения = Новый ОписаниеТипов(МассивТиповДокументов); Элементы.Документы1С.СоздатьКолонки(); КолонкаДляУдаления = Элементы.Документы1С.Колонки.Проведен; Элементы.Документы1С.Колонки.Удалить(КолонкаДляУдаления); КолонкаДляУдаления = Элементы.Документы1С.Колонки.Картинка; Элементы.Документы1С.Колонки.Удалить(КолонкаДляУдаления); Элементы.Документы1С.Колонки.Добавить("Название"); Элементы.Документы1С.Колонки.Название.УстановитьЭлементУправления(Тип("ПолеВвода")); Элементы.Документы1С.Колонки.Название.ЭлементУправления.ТипЗначения = Новый ОписаниеТипов("Строка"); Элементы.Документы1С.Колонки.Добавить("КоличествоСтрок", "Кол-во строк"); Элементы.Документы1С.Колонки.КоличествоСтрок.УстановитьЭлементУправления(Тип("ПолеВвода")); Элементы.Документы1С.Колонки.КоличествоСтрок.ЭлементУправления.ТипЗначения = Новый ОписаниеТипов("Строка"); Элементы.Документы1С.Колонки.Дата.Ширина = 15; Элементы.Документы1С.Колонки.Номер.Ширина = 15; Элементы.Документы1С.Колонки.Название.Ширина = 60; Элементы.Документы1С.Колонки.КоличествоСтрок.Ширина = 10; Элементы.Документы1С.ОбновитьСтроки(); #Иначе | ||
ДенисЧ 1 - 12.01.21 - 09:57 | А где заполнение таблицы?
Ну, типа Документы1С.Добавить()... | ||
Обработка 2 - 12.01.21 - 10:00 | (1) В том то и дело что нет его.
Заполняется сама динамически по привязке к массиву. Есть еще обработчик ТЗ = Документы1СПриПолученииДанных #Если ТолстыйКлиентОбычноеПриложение Тогда Процедура Документы1СПриПолученииДанных(Элемент, ОформленияСтрок) Для каждого ОформлениеСтроки Из ОформленияСтрок Цикл ОформлениеСтроки.Ячейки.Название.Значение = СокрЛП(ОформлениеСтроки.ДанныеСтроки.Ссылка); Если ЗначениеЗаполнено(ИмяТабличнойЧасти1С) Тогда КоличествоТоваров = ОформлениеСтроки.ДанныеСтроки.Ссылка[ИмяТабличнойЧасти1С].Количество(); Если КоличествоТоваров = 0 Тогда ОформлениеСтроки.Ячейки.КоличествоСтрок.Значение = ""; Иначе ОформлениеСтроки.Ячейки.КоличествоСтрок.Значение = СокрЛП(КоличествоТоваров); КонецЕсли; КонецЕсли; КонецЦикла; КонецПроцедурыи все... | ||
Обработка 3 - 12.01.21 - 10:03 | МассивТиповДокументов это === массив а значение такое === Документ список: Инвентаризация товаров на складе | ||
ДенисЧ 4 - 12.01.21 - 10:04 | Сами по себе только кошки родятся. А таблицы в 1с самине заполняются. | ||
Обработка 5 - 12.01.21 - 10:06 | (4) Отладчиком прошел не наткнулся на код.
Честно, я такое впервые вижу в обычных формах. Я понимаю что в УФ есть динамические списки которые прям запросом привязываются. А тут такое вижу впервые. | ||
fisher 6 - 12.01.21 - 10:30 | (5) Внезапно - в ОФ тоже есть динамические списки :) Просто их запросы предопределены и не изменяются.
Открой любую стандартную форму списка документов - там тоже самое. Тут изюминка только в том, что тип источника динамически переопределяется. Хотя тоже раньше с таким не сталкивался. | ||
fisher 7 - 12.01.21 - 10:33 | А в коде из сабжа, кроме инициализации динамического списка - обычное создание вычисляемых колонок дин-списка. В ПриПолученииДанных() - их заполнение. | ||
Обработка 8 - 12.01.21 - 10:35 | Ну как мне быть?
Просто тупо взять ТЗ и запонинить как я хочу? Хоть запросом с отбором по периоду? | ||
ДенисЧ 9 - 12.01.21 - 10:41 | Источник данных для ТЗ какой указан? | ||
fisher 10 - 12.01.21 - 10:42 | (8) Зачем? Тебе ж просто период задать? Навскидку уже не помню, как в ОФ. Скорее всего через Документы1С.Отбор.
Глянь в отладчике, чего там там в Отбор доступно. "Период" какой-нить или даты начала/окончания. | ||
Ёпрст 11 - 12.01.21 - 10:58 | (0)
ну, добавь командную панель, назначь ей источник действий твоё табличное поле, и автозаполнение. Лишние кнопку можешь удалить с панели, оставив только интервал дат | ||
hhhh 12 - 12.01.21 - 11:01 | (8) пробуй Отбор | ||
Обработка 13 - 12.01.21 - 11:01 | (9) Пустой. | ||
НЕА123 14 - 12.01.21 - 11:08 | |||
Ёпрст 15 - 12.01.21 - 11:10 | ну или через СтандартныйПериод задавать | ||
fisher 16 - 12.01.21 - 11:16 | (13) Еще не сделал, что ли? Элемент отбора "Дата", вид сравнения - интервал, в "ЗначениеС" и "ЗначениеПо" - задаешь нужный диапазон. | ||
Ёпрст 17 - 12.01.21 - 11:27 | ЭлементыФормы.Документы1С.СтандартныйПериод.ДатаНачала = Дата('20210101'); | ||
Обработка 18 - 12.01.21 - 11:32 |
|
Список тем форума |