Skip to content

Commit

Permalink
Обновлен README
Browse files Browse the repository at this point in the history
  • Loading branch information
denisushakov authored Apr 19, 2024
1 parent 75ab04f commit 10f2d3b
Showing 1 changed file with 142 additions and 0 deletions.
142 changes: 142 additions & 0 deletions docs/РаботаСФормами.md
Original file line number Diff line number Diff line change
@@ -1 +1,143 @@
#Общий модуль __РаботаСФормами - Модуль Динамического Формирования Интерфейса

Демо-пример использования методов

```1C (BSL)
#Область ДемоПример
#Область РаботаСРеквизитамиФормы
//
СтруктураРеквизитов = Новый Структура;
СтруктураРеквизитов.Вставить("_ДемоДата", __РаботаСФормами.ОписаниеТипаДатаВремя());
СтруктураРеквизитов.Вставить("_ДемоНомер", __РаботаСФормами.ОписаниеТипаСтрока(11));
СтруктураРеквизитов.Вставить("_ДемоПокупатель", __РаботаСФормами.ОписаниеТипаСправочник("_ДемоКонтрагенты"));
СтруктураРеквизитов.Вставить("_ДемоПлатнаяДоставка", __РаботаСФормами.ОписаниеТипаБулево());
СтруктураРеквизитов.Вставить("_ДемоТолькоБудни", __РаботаСФормами.ОписаниеТипаБулево());
СтруктураРеквизитов.Вставить("_ДемоПолКурьера", __РаботаСФормами.ОписаниеТипаПеречисление("_ДемоПолФизическогоЛица"));
СтруктураРеквизитов.Вставить("_ДемоТовары", __РаботаСФормами.ОписаниеТипаТаблицаЗначений());
СтруктураРеквизитов.Вставить("_ДемоКомментарий", __РаботаСФормами.ОписаниеТипаСтрока(100));
__РаботаСФормами.СоздатьРеквизиты(Форма, СтруктураРеквизитов);
// Реквизит таб. части.
СтруктураРеквизитовТабЧасти = Новый Структура;
СтруктураРеквизитовТабЧасти.Вставить("_ДемоТовар", __РаботаСФормами.ОписаниеТипаСправочник("_ДемоНоменклатура"));
СтруктураРеквизитовТабЧасти.Вставить("_ДемоКоличество", __РаботаСФормами.ОписаниеТипаЧисло(10));
СтруктураРеквизитовТабЧасти.Вставить("_ДемоЦена", __РаботаСФормами.ОписаниеТипаЧисло(10,2));
СтруктураРеквизитовТабЧасти.Вставить("_ДемоУпаковать", __РаботаСФормами.ОписаниеТипаБулево());
СтруктураРеквизитовТабЧасти.Вставить("_ДемоХрупкое", __РаботаСФормами.ОписаниеТипаБулево());
__РаботаСФормами.СоздатьРеквизитыТаблицы(Форма, "_ДемоТовары", СтруктураРеквизитовТабЧасти);
#КонецОбласти
#Область РаботаСГруппамиФормы
//
ГруппаШапка = __РаботаСФормами.СоздатьГруппаОбычнаяБезОтображения(Форма, "_ДемоГруппаШапка", Форма, 3);
ГруппаШапкаЛевая = __РаботаСФормами.СоздатьГруппаОбычнаяБезОтображения(Форма, "_ДемоГруппаШапкаЛевая", ГруппаШапка, 1);
ГруппаНомерДата = __РаботаСФормами.СоздатьГруппаОбычнаяБезОтображения(Форма, "_ДемоГруппаНомерДата", ГруппаШапкаЛевая, 3);
ГруппаШапкаПравая = __РаботаСФормами.СоздатьГруппаОбычнаяБезОтображения(Форма, "_ДемоГруппаШапкаПравая", ГруппаШапка, 1);
ГруппаСтраниц = __РаботаСФормами.СоздатьГруппаСтраниц(Форма, "_ДемоГруппаСтраниц", Форма, 1, 1);
ГруппаТовары = __РаботаСФормами.СоздатьСтраница(Форма, "_ДемоГруппаТовары", ГруппаСтраниц, "Товары",, 1, 1);
ГруппаЗаказы = __РаботаСФормами.СоздатьСтраница(Форма, "_ДемоГруппаЗаказы", ГруппаСтраниц, "Заказы клиента",, 1, 1);
ГруппаПодвал = __РаботаСФормами.СоздатьГруппаОбычнаяБезОтображения(Форма, "_ДемоГруппаПодвал", Форма, 3);
#КонецОбласти
#Область РаботаСЭлементамиФормы
//
НовыйЭлемент = __РаботаСФормами.СоздатьПоле(Форма, "_ДемоНомер", ГруппаНомерДата, "Номер", 1, "_ДемоНомер");
ШиринаПоля = __РаботаСФормами.СтруктураСвойствРасположение(10,,, 10, Ложь,, Ложь);
ОсновныеНастройкиПоля = __РаботаСФормами.СтруктураСвойствОсновные(,,,,,, Истина);
__РаботаСФормами.УстановитьМножествоСтруктурСвойствЭлементу(НовыйЭлемент, ШиринаПоля, ОсновныеНастройкиПоля);
//
__РаботаСФормами.СоздатьПоле(Форма, "_ДемоДата", ГруппаНомерДата, "от", 1, "_ДемоДата");
__РаботаСФормами.СоздатьПоле(Форма, "_ДемоПокупатель", ГруппаШапкаЛевая, "Покупатель", 1, "_ДемоПокупатель");
__РаботаСФормами.СоздатьПоле(Форма, "_ДемоПлатнаяДоставка", ГруппаШапкаЛевая, "Платная доставка", 2, "_ДемоПлатнаяДоставка");
__РаботаСФормами.СоздатьПоле(Форма, "_ДемоПолКурьера", ГруппаШапкаПравая, "Пол курьера",1, "_ДемоПолКурьера");
__РаботаСФормами.СоздатьПоле(Форма, "_ДемоКомментарий", ГруппаПодвал, "Комментарий", 1, "_ДемоКомментарий");
// Флажки
__РаботаСФормами.СоздатьПолеФлажок(Форма, "ТолькоБудни", ГруппаШапкаЛевая, "Только будни", 3, "_ДемоТолькоБудни");
// Декорации
__РаботаСФормами.СоздатьДекорацияКартинка(Форма, "_ДемоКартинкаЛоготип", ГруппаПодвал, "_ДемоРазделБизнесПроцессыИЗадачи");
__РаботаСФормами.СоздатьДекорацияНадпись(Форма, "ИнформационнаяНадпись", ГруппаЗаказы, "Заказы по клиенту с начала года", 1);
НовыйЭлемент = __РаботаСФормами.СоздатьДекорацияКартинка(Форма, "_ДемоBotFather", ГруппаПодвал, "BotFather");
ОсновныеНастройкиПоля = __РаботаСФормами.СтруктураСвойствОсновные(,,,, Ложь);
__РаботаСФормами.УстановитьМножествоСтруктурСвойствЭлементу(НовыйЭлемент, ОсновныеНастройкиПоля);
// Выпадающий список
МассивЗначений = Новый Массив;
МассивЗначений.Добавить("Седан");
МассивЗначений.Добавить("Универсал");
МассивЗначений.Добавить("Грузовик");
МассивЗначений.Добавить("Метро");
__РаботаСФормами.СоздатьВыпадающийСписок(Форма, "ВыборТС", ГруппаШапкаПравая, "Тип ТС", МассивЗначений);
// Переключатель
МассивЗначений = Новый Массив;
МассивЗначений.Добавить("Обычная");
МассивЗначений.Добавить("Срочно");
МассивЗначений.Добавить("Вчера");
__РаботаСФормами.СоздатьПереключатель(Форма, "СрочностьДоставки", ГруппаШапкаПравая, "Срочность", МассивЗначений, 1);
// Таблица формы
СтруктураКолонок = Новый Структура;
СтруктураКолонок.Вставить("_ДемоТовар", "Товар");
СтруктураКолонок.Вставить("_ДемоКоличество", "Количество");
СтруктураКолонок.Вставить("_ДемоЦена", "Цена");
НовыйЭлемент = __РаботаСФормами.СоздатьТаблицаФормы(Форма, "_ДемоТовары", ГруппаТовары, "_ДемоТовары", СтруктураКолонок);
ВысотаТаблицы = __РаботаСФормами.СтруктураСвойствТаблицыФормы(,,,,,,, 4);
__РаботаСФормами.УстановитьСвойстваЭлементу(НовыйЭлемент, ВысотаТаблицы);
// Колонки таблицы формы
ГруппаКолонки = __РаботаСФормами.СоздатьГруппаКолонокТаблицыФормы(Форма, "_ДемоГруппаДополнительно", НовыйЭлемент, 2,,, "Дополнительно");
__РаботаСФормами.СоздатьКолонкаТаблицыФормы(Форма, "_ДемоУпаковать", ГруппаКолонки, 2, "Упаковать", "_ДемоТовары._ДемоУпаковать");
__РаботаСФормами.СоздатьКолонкаТаблицыФормы(Форма, "_ДемоХрупкое", ГруппаКолонки, 2, "Стекло", "_ДемоТовары._ДемоХрупкое");
// Динамический список
ТекстЗапроса = "ВЫБРАТЬ
| _ДемоСчетФактураПолученный.Ссылка КАК Ссылка,
| _ДемоСчетФактураПолученный.Номер КАК _ДемоНомер,
| _ДемоСчетФактураПолученный.Дата КАК _ДемоДата,
| _ДемоСчетФактураПолученный.Контрагент КАК _ДемоКонтрагент,
| _ДемоСчетФактураПолученный.Сумма КАК _ДемоСумма
|ИЗ
| Документ._ДемоСчетФактураПолученный КАК _ДемоСчетФактураПолученный
|ГДЕ
| _ДемоСчетФактураПолученный.Дата > &Дата";
ПараметрыЗапроса = Новый Структура;
ПараметрыЗапроса.Вставить("Дата", НачалоГода(ТекущаяДатаСеанса()));
СтруктураКолонок = Новый Структура;
СтруктураКолонок.Вставить("_ДемоДата", "");
СтруктураКолонок.Вставить("_ДемоНомер", "");
СтруктураКолонок.Вставить("_ДемоКонтрагент","Покупатель");
СтруктураКолонок.Вставить("_ДемоСумма", "");
НовыйЭлемент = __РаботаСФормами.СоздатьДинамическийСписок(Форма, "_ДемоЗаказы", ГруппаЗаказы, ТекстЗапроса,
ПараметрыЗапроса,, СтруктураКолонок,,, Истина);
__РаботаСФормами.УстановитьСвойстваЭлементу(НовыйЭлемент, ВысотаТаблицы);
#КонецОбласти
#Область РаботаСКомандами
//
__РаботаСФормами.СоздатьКоманду(Форма, "КогдаОбед", НСтр("ru='Когда обед?'; en='When is lunch?'"), "ПодсказатьКогдаОбед");
__РаботаСФормами.СоздатьКнопка(Форма, "КогдаОбед", ГруппаПодвал,, "КогдаОбед", 2);
__РаботаСФормами.СоздатьКоманду(Форма, "СкрытьОтца", "Скрыть отца", "СкрытьОтца");
__РаботаСФормами.СоздатьКнопка(Форма, "СкрытьОтца", ГруппаПодвал,, "СкрытьОтца", 1);
__РаботаСФормами.СоздатьКоманду(Форма, "ПоказатьОтца", "Показать отца", "ПоказатьОтца");
__РаботаСФормами.СоздатьКнопка(Форма, "ПоказатьОтца", ГруппаПодвал,, "ПоказатьОтца", 1);
#КонецОбласти
#КонецОбласти
```

0 comments on commit 10f2d3b

Please sign in to comment.