|
Баг в платформе. Метод ИзменитьРеквизиты | ☑ | ||
---|---|---|---|---|
0
ImNotARobot
10.03.22
✎
22:31
|
Добрый день. Пытаюсь программно создать колонку реквизита формы для реквизита формы с типом таблицы с типом РегистрБухгалтерииНаборЗаписей. При вызове метода ЭтаФорма.ИзменитьРеквизиты(МассивДобавляемыхРеквизитов) реквизиты успешно создаются для формы, но при этом сбиваютя пути элементов формы (колонки) Регистра Бухгалтерии. Не помогает программное удлаение и создание заново элемента формы, при добавлении в поле путь встает не корректное значение. Заметил, что и при ручном добавлении колонки реквизита формы, новый реквизит добавляется в начало списка подчиненых реквизитов, хотя по идее должен был добавиться в конце. Собственно при ручном добавлении пути точно также сбиваются пути элементов формы.
Сталкивался ли кто с такой проблемой и находил ли пути обхода? Единственое, что нашёл это вариант такой: вручную добавить колонку реквизита формы (добавиться в начало) и затем её скопировать (добавиться в конец), удалить первый реквизит и работать уже со вторым. Но мне всё таки требуется программное создание реквизита. Не нашёл на 1С, чтобы эта ошибка была зарегистрирована, хотя это явный баг платформы. Пробовал на платформе 8.3.20.1549 и 8.3.18. |
|||
1
ImNotARobot
10.03.22
✎
22:33
|
(0) Случайно нажал Ctrl + Enter. Второе предложение следует читать так: Пытаюсь программно создать колонку реквизита формы для реквизита формы с типом РегистрБухгалтерииНаборЗаписей.
|
|||
2
ImNotARobot
10.03.22
✎
22:35
|
(0) Прошу прощения за кучу ошибок... Не успел проверить. Как написал выше: случайно нажал Ctrl + Enter.
|
|||
3
hhhh
10.03.22
✎
23:13
|
ИзменитьРеквизиты никак не влияет на визуальное отображение. Это вы наверно, когда добавляли элемент формы, накосячили. Как привязали элемент формы ваш к добавленному реквизиту?
|
|||
4
Ненавижу 1С
гуру
10.03.22
✎
23:15
|
(2) успокойтесь, придите в себя, сделайте паузу. Завтра напишите
|
|||
5
ImNotARobot
11.03.22
✎
11:08
|
(3) Как выяснилсоь - влияет.
Эксперимент легко повторить: 1. Нужно создать пустую обработку с формой 2. Добавить реквизит с типом РегистрБухгалтерииНаборЗаписей.<ИмяРегистра> или РегистрНакопленияНаборЗаписей.<ИмяРегистра> 3. В эту таблицу добавить свою колонку Если колонка добавилась в начало списка, значит это баг и часть путей элементов формы таблицы собьются. |
|||
6
RomaH
naïve
11.03.22
✎
11:30
|
(5) ну так - давай обработку
|
|||
7
acht
11.03.22
✎
11:33
|
(5) Черепашка яростно трындит.
&НаСервере Процедура Команда1НаСервере() Сообщить("До:"); Для Каждого Элемент Из Элементы.Реквизит1.ПодчиненныеЭлементы Цикл Если ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда Сообщить(Элемент.Имя + " -> " + Элемент.ПутьКДанным); КонецЕсли; КонецЦикла; Реквизит = Новый РеквизитФормы("Тест", Новый ОписаниеТипов("Число"), "Реквизит1", "Тест заголовок"); Добавлять = Новый Массив; Добавлять.Добавить(Реквизит); ИзменитьРеквизиты(Добавлять); Колонка = Элементы.Вставить("Реквизит1Тест", Тип("ПолеФормы"), Элементы.Реквизит1, Элементы.Реквизит1НомерСтроки); Колонка.ПутьКДанным = "Реквизит1.Тест"; Колонка.Вид = ВидПоляФормы.ПолеНадписи; Сообщить("После:"); Для Каждого Элемент Из Элементы.Реквизит1.ПодчиненныеЭлементы Цикл Если ТипЗнч(Элемент) = Тип("ПолеФормы") Тогда Сообщить(Элемент.Имя + " -> " + Элемент.ПутьКДанным); КонецЕсли; КонецЦикла; КонецПроцедуры До: Реквизит1НомерСтроки -> Реквизит1.НомерСтроки Реквизит1Период -> Реквизит1.Период Реквизит1ВидДвижения -> Реквизит1.ВидДвижения Реквизит1Сотрудник -> Реквизит1.Сотрудник После: Реквизит1Тест -> Реквизит1.Тест Реквизит1НомерСтроки -> Реквизит1.НомерСтроки Реквизит1Период -> Реквизит1.Период Реквизит1ВидДвижения -> Реквизит1.ВидДвижения Реквизит1Сотрудник -> Реквизит1.Сотрудник 8.3.18.1520, 8.3.20.1674 Радиус рук. |
|||
8
ImNotARobot
11.03.22
✎
12:37
|
(7) У меня такой результат после выполение вышего кода:
Реквизит1СубконтоКт1 -> Реквизит1.СубконтоКт1 До: Реквизит1НомерСтроки -> Реквизит1.НомерСтроки Реквизит1Период -> Реквизит1.Период Реквизит1УточнениеПериода -> Реквизит1.УточнениеПериода Реквизит1Организация -> Реквизит1.Организация Реквизит1СчетДт -> Реквизит1.СчетДт Реквизит1СубконтоДт1 -> Реквизит1.СубконтоДт1 Реквизит1СубконтоДт2 -> Реквизит1.СубконтоДт2 Реквизит1СубконтоДт3 -> Реквизит1.СубконтоДт3 Реквизит1ВалютаДт -> Реквизит1.ВалютаДт Реквизит1ПодразделениеДт -> Реквизит1.ПодразделениеДт Реквизит1ВалютнаяСуммаДт -> Реквизит1.ВалютнаяСуммаДт Реквизит1КоличествоДт -> Реквизит1.КоличествоДт Реквизит1СуммаНУДт -> Реквизит1.СуммаНУДт Реквизит1СуммаПРДт -> Реквизит1.СуммаПРДт Реквизит1СуммаВРДт -> Реквизит1.СуммаВРДт Реквизит1СчетКт -> Реквизит1.СчетКт Реквизит1СубконтоКт2 -> Реквизит1.СубконтоКт2 Реквизит1СубконтоКт3 -> Реквизит1.СубконтоКт3 Реквизит1ВалютаКт -> Реквизит1.ВалютаКт Реквизит1ПодразделениеКт -> Реквизит1.ПодразделениеКт Реквизит1ВалютнаяСуммаКт -> Реквизит1.ВалютнаяСуммаКт Реквизит1КоличествоКт -> Реквизит1.КоличествоКт Реквизит1СуммаНУКт -> Реквизит1.СуммаНУКт Реквизит1СуммаПРКт -> Реквизит1.СуммаПРКт Реквизит1СуммаВРКт -> Реквизит1.СуммаВРКт Реквизит1Сумма -> Реквизит1.Сумма Реквизит1Содержание -> Реквизит1.Содержание Реквизит1НеКорректироватьСтоимостьАвтоматически -> Реквизит1.НеКорректироватьСтоимостьАвтоматически Реквизит1СодержаниеАнглийское -> Реквизит1.СодержаниеАнглийское После: Реквизит1Тест -> Реквизит1.Тест Реквизит1НомерСтроки -> Реквизит1.НомерСтроки Реквизит1Период -> Реквизит1.Период Реквизит1УточнениеПериода -> Реквизит1.УточнениеПериода Реквизит1Организация -> Реквизит1.Организация Реквизит1СчетДт -> Реквизит1.СчетДт Реквизит1СубконтоДт1 -> Реквизит1.СубконтоДт1 Реквизит1СубконтоДт2 -> Реквизит1.Тест Реквизит1СубконтоДт3 -> Реквизит1.СубконтоДт3 Реквизит1ВалютаДт -> Реквизит1.ВалютаДт Реквизит1ПодразделениеДт -> Реквизит1.ПодразделениеДт Реквизит1ВалютнаяСуммаДт -> Реквизит1.ВалютнаяСуммаДт Реквизит1КоличествоДт -> Реквизит1.КоличествоДт Реквизит1СуммаНУДт -> Реквизит1.СуммаНУДт Реквизит1СуммаПРДт -> Реквизит1.СуммаПРДт Реквизит1СуммаВРДт -> Реквизит1.СуммаВРДт Реквизит1СчетКт -> Реквизит1.СчетКт Реквизит1СубконтоКт1 -> Реквизит1.СубконтоКт1 Реквизит1СубконтоКт2 -> Реквизит1.Тест Реквизит1СубконтоКт3 -> Реквизит1.СубконтоКт3 Реквизит1ВалютаКт -> Реквизит1.ВалютаКт Реквизит1ПодразделениеКт -> Реквизит1.ПодразделениеКт Реквизит1ВалютнаяСуммаКт -> Реквизит1.ВалютнаяСуммаКт Реквизит1КоличествоКт -> Реквизит1.КоличествоКт Реквизит1СуммаНУКт -> Реквизит1.СуммаНУКт Реквизит1СуммаПРКт -> Реквизит1.СуммаПРКт Реквизит1СуммаВРКт -> Реквизит1.СуммаВРКт Реквизит1Сумма -> Реквизит1.Сумма Реквизит1Содержание -> Реквизит1.Содержание Реквизит1НеКорректироватьСтоимостьАвтоматически -> Реквизит1.НеКорректироватьСтоимостьАвтоматически Реквизит1СодержаниеАнглийское -> Реквизит1.СодержаниеАнглийское В полях Субконто2 ПутьКДанным слетел |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |