Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
БП 3.0
Добавляю новый документ с ТЧ.
Поля ТЧ: счет затрат, субконто1, субконто2, субконто3, подразделение.
На форме при выборе счета мне нужно скрыть "лишние" субконто, если таковые имеются (если на счете их 1 или 2).
Нашел в других формах документов, например "КорректировкаПоступления" подобные механизмы, но легко перенести их не удается.
Например код
успешно отрабатывает, но в строки таблицы эти поля не добавляются.
В результате имею ошибку в процедуре БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(СтрокаТаблицы.СчетЗатрат, СтрокаТаблицы, ПоляОбъекта, Истина, ЗначенияСубконто) тк объект СтрокаТаблицы не содержит поля Субконто1Доступность.
Уже затупил совсем, может кто-то кратко рассказать алгоритм решения подобных задач, возможно я пошёл не тем путем или у меня какой-то шаг пропущен.
Добавляю новый документ с ТЧ.
Поля ТЧ: счет затрат, субконто1, субконто2, субконто3, подразделение.
На форме при выборе счета мне нужно скрыть "лишние" субконто, если таковые имеются (если на счете их 1 или 2).
Нашел в других формах документов, например "КорректировкаПоступления" подобные механизмы, но легко перенести их не удается.
Например код
&НаСервере
Процедура УстановитьУсловноеОформлениеВидимость()
// Субконто БУ и НУ
// Первое субконто не скрываем, чтобы не мигала колонка в разных строках.
Для Сч = 1 По 3 Цикл
ЭлементУО = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУО.Поля, "ТабличнаяЧасть1Субконто" + Сч);
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ЭлементУО.Отбор,
"Объект.ТабличнаяЧасть1.Субконто" + Сч + "Доступность", ВидСравненияКомпоновкиДанных.Равно, Ложь);
ЭлементУО.Оформление.УстановитьЗначениеПараметра("Видимость", Ложь);
КонецЦикла;
// Субконто БУ
// Первое субконто не скрываем, чтобы не мигала колонка в разных строках.
ЭлементУО = УсловноеОформление.Элементы.Добавить();
КомпоновкаДанныхКлиентСервер.ДобавитьОформляемоеПоле(ЭлементУО.Поля, "ТабличнаяЧасть1Субконто1");
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ЭлементУО.Отбор,
"Объект.ТабличнаяЧасть1.Субконто1Доступность", ВидСравненияКомпоновкиДанных.Равно, Ложь);
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ЭлементУО.Отбор,
"Объект.ТабличнаяЧасть1.Субконто2Доступность", ВидСравненияКомпоновкиДанных.Равно, Ложь);
ОбщегоНазначенияКлиентСервер.ДобавитьЭлементКомпоновки(ЭлементУО.Отбор,
"Объект.ТабличнаяЧасть1.Субконто3Доступность", ВидСравненияКомпоновкиДанных.Равно, Ложь);
ЭлементУО.Оформление.УстановитьЗначениеПараметра("Видимость", Истина);
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.НедоступныеДанныеЦвет);
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Ложь);
ЭлементУО.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = '<не требуется>'"));
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина);
КонецПроцедуры
Показатьуспешно отрабатывает, но в строки таблицы эти поля не добавляются.
В результате имею ошибку в процедуре БухгалтерскийУчетКлиентСервер.ПриИзмененииСчета(СтрокаТаблицы.СчетЗатрат, СтрокаТаблицы, ПоляОбъекта, Истина, ЗначенияСубконто) тк объект СтрокаТаблицы не содержит поля Субконто1Доступность.
Уже затупил совсем, может кто-то кратко рассказать алгоритм решения подобных задач, возможно я пошёл не тем путем или у меня какой-то шаг пропущен.
По теме из базы знаний
- Раздельный учет по гособоронзаказу (ГОЗ) - Подсистема для 1С:Бухгалтерии 3.0 ПРОФ и КОРП
- Модульная (open source) конфигурация "INFOSTART ERP community edition"
- Типовые операции в 1С: БГУ 2. Часть 4. Заключение
- Подборка полезных советов по работе с программой 1С:Бухгалтерия 3.0
- ФинОфис. Контроль и управление финансами. Практика применения
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) roofless, смысл этого кода в том, что при установке флагов СубконтоХДоступность поле становится доступным, а при их снятии - недоступным, отображающим слова "<не требуется>". Т.е. эти колонки должны быть в табличной части (по крайней мере через реквизит формы).
Внимание! Тема сдана в архив
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот