Имя: Пароль:
1C
 
Как узнать область на форме документа?
0 Айрат_116
 
28.08.20
14:53
Здравствуйте, подскажите пожалуйста, как можно узнать область на форме документа
Я пытаюсь добавить реквизит на форму программно
Курсор навожу и ничего не пишет, хотя если табл часть указываю там показывает

https://wampi.ru/image/RRatMz6
1 Kesim
 
28.08.20
14:56
(0) ого, это просто "область" формы, в ОФ не подскажу, но мне кажется надо выставлять координаты реквизита
2 Айрат_116
 
28.08.20
14:58
По такому примеру делаю, но я хочу поставить правее от (Счета затрат на закладке "Материалы")

ЭлементФормы_НадписьКодСап
        = ЭтаФорма.ЭлементыФормы.Добавить(Тип("Надпись"), "НадписьКодSAP", Истина, ЭтаФорма.ЭлементыФормы.Панель);
    ЭлементФормы_НадписьКодSAP.Заголовок     = "Код SAP:";    
    ЭлементФормы_НадписьКодSAP.Верх         = ЭтаФорма.ЭлементыФормы.КодПодразделения.Верх + 24;
    ЭлементФормы_НадписьКодSAP.Лево         = 6;
    ЭлементФормы_НадписьКодSAP.Ширина         = 124;
    ЭлементФормы_НадписьКодSAP.Высота         = 19;
3 Айрат_116
 
28.08.20
15:00
(2) Но тут написана область какая именно область (ЭтаФорма.ЭлементыФормы.Панель) А в моём случае нет(
4 Айрат_116
 
28.08.20
15:01
(1) А может есть какая та процедура где пишет все значения полей реквизитов на форме?
5 Kesim
 
28.08.20
15:10
(3) ну так скопируй все как есть - поменяй наименование переменных и координаты(лево, право) увеличь на 1
(4) оч сильно сомневаюсь
6 Айрат_116
 
28.08.20
15:21
(5) Это я сделал, ошибка только в том что ЭтаФорма.ЭлементыФормы ??? и дальше что поставить не пойму(
7 FIXXXL
 
28.08.20
15:30
(6) ничего там не пиши

<ПоместитьНа> (необязательный)

Тип: Панель; ПолеТабличногоДокумента.
Определяет, какой панели формы или какому табличному документу принадлежит создаваемый элемент. Если указана панель, то добавляемый элемент размещается на текущей странице панели. Если не указан, создаваемый элемент будет принадлежать непосредственно форме.

тебе после добавления надо привязки нормально указать
то еще развлечение :)
8 Айрат_116
 
28.08.20
15:41
(7) Из за этого в 2.0 не очень нравится такие задачи делать
В 3.0 намного легче было бы
9 Айрат_116
 
31.08.20
15:05
Добрый день, подскажите пожалуйста почему у меня не сохраняет значение флажка?
Добавил реквизит "ФЛ_Проверен" с типом булево
Но после того как поставил галку и нажал записать документ и заново открываю она пропадает

Процедура СоздатьЭлементФормы_Преверен ()
    //Добавляем надпись "Проверен"
    ЭлементФормы_НадписьПреверен
        = ЭтаФорма.ЭлементыФормы.Добавить(Тип("Надпись"), "НадписьПроверен", Истина,);
    ЭлементФормы_НадписьПреверен.Заголовок     = "Проверен";    
    ЭлементФормы_НадписьПреверен.Верх         = ЭтаФорма.ЭлементыФормы.ЗатратыВТабличнойЧасти.Верх + 1;
    ЭлементФормы_НадписьПреверен.Лево         = 600;
    ЭлементФормы_НадписьПреверен.Ширина     = 50;
    ЭлементФормы_НадписьПреверен.Высота     = 19;    
    //Добавляем флажок
    ЭлементФормы_Проверен
        = ЭтаФорма.ЭлементыФормы.Добавить(Тип("Флажок"), "ФЛ_Проверен", Истина, );
    ЭлементФормы_Проверен.Верх             = ЭтаФорма.ЭлементыФормы.ЗатратыВТабличнойЧасти.Верх + 1;
    ЭлементФормы_Проверен.Лево             = 585;
    ЭлементФормы_Проверен.Ширина         = 3;
    ЭлементФормы_Проверен.Высота         = 19;
    
КонецПроцедуры
10 ДенисЧ
 
31.08.20
15:08
(9) А куда добавил? На форму? А в документ? Реквизиты формы в базе не хранятся
11 Айрат_116
 
31.08.20
15:10
(10) А всё разобрался, Одну строку не дописал оказывается (ЭлементФормы_Проверен.Данные)
12 Айрат_116
 
31.08.20
15:12
(10) Реквизит в конфигураторе добавил, я его вывожу только программно
13 Айрат_116
 
31.08.20
15:25
Последний вопрос) Как можно сделать место "Да или нет" поставить картинку (галку например)

https://prnt.sc/u8xzzh

ЭлементСписок = ЭлементыФормы.ДокументСписок;

    ТекПозиция = 0;
    НовКолонка = ЭлементСписок.Колонки.Вставить(ТекПозиция + 1);
    НовКолонка.Имя = "Проверен";
    НовКолонка.Данные = "ФЛ_Проверен";
    НовКолонка.ТекстШапки = "Проверен";
    НовКолонка.КартинкаШапки = БиблиотекаКартинок.ЗеленаяГалка;
    НовКолонка.Ширина = 26;

Вот так сделал, но там галка сверху только криво вышла
Может кто делал?
14 Ёпрст
 
31.08.20
15:58
(13) заменить Данные на ДанныеФлажка
15 Айрат_116
 
31.08.20
16:01
(14) Не совсем понял(
У меня же данные и так с флажка вроде как
16 lEvGl
 
гуру
31.08.20
16:15
создавать элементы формы кодом - полная херня, которую используют начинающие, найди другой вариант, без программного рисования
17 Ёпрст
 
31.08.20
16:18
(15)
//НовКолонка.Данные = "ФЛ_Проверен";
НовКолонка.ДанныеФлажка= "ФЛ_Проверен";
НовКолонка.РежимРедактирования = РежимРедактированияКолонки.Непосредственно;
18 Айрат_116
 
31.08.20
17:22
(16) Это делается для того что бы в будущем обновлять немного проще было
19 hhhh
 
01.09.20
09:06
(18) ну где же проще? Вот в очередном обновлении 1с уберет ЭтаФорма.ЭлементыФормы.ЗатратыВТабличнойЧасти и вся эта твоя хрень накроется медным тазом. И ты поймешь, проще это было и не проще.
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.