Имя: Пароль:
1C
 
Когда происходит ограничение доступа субконто1, 2, 3... 2-я версия
🠗 (Волшебник 28.01.2025 13:23)
,
0 VladSt
 
22.01.25
17:18
Добрый день.
Писал немного раньше на эту же тему, но никто не помог. Теперь упростил задачу, чтобы разобраться, но так и не нашел как это происходит.
1С:8, УФ, Бухгалтерия типовая...
Есть документ ПоступлениеТоваровУслуг. На форме документа в таблице Услуги есть реквизиты: СчетЗатрат, Субконто1,2,3....
При правильном поведении формы, когда вводится/изменяется счет затрат, становятся доступными/не доступными Субконто1,2,3 на счете. И это все просто и понятно. Но в конфигураторе у этих субконто на форме стоит флаг доступность = Истина.
Хорошо, я удаляю ВЕСЬ КОД(!) в модуле формы, т.е. нет никаких обработчиков на форме. Открываю форму в режиме 1СПредприятия, добавляю строку в Услуги и вижу, что нет доступа ни на одно Субконто1, 2, 3.
В конфигураторе удаляю саму форму Услуги, Создаю новую - все работает, доступа нет.
КАК и где это прописано.
Дальше, создаю свою форму документа, закидываю на форму все реквизиты, все табличные части, открываю эту форму в режиме 1с, создаю строку в Услуги - опа, Субконто1, 2, 3 ДОСТУПНЫ
Помогите
1 DiMel_77
 
22.01.25
18:21
(0) Гугли "Связь по типу" и "Элемент связи по типу" и для чего это нужно...
2 VladSt
 
22.01.25
18:58
(1) Спасибо за реакцию, но не понял, что с чем связывать и чей тип(
3 Волшебник
 
22.01.25
19:08
(2) Сказали же: ГУГЛИ
4 VladSt
 
24.01.25
15:42
(2) (3) погуглил, прочитал, пересмотрел курс по 1С, не один, и не нашел.
5 VladSt
 
24.01.25
15:51
Два момента, один понятный - другой нет:
1. Создаю новую форму документа, закидываю в нее ТЧ Услуги со всеми реквизитами. Никаких обработчиков нет. Открываю в режиме 1с, создаю строку в ТЧ, счет затрат, субконто1, 2, 3 - все доступны, что естественно, т.к. никаких обработчиков на форме нету.
2. Непонятный. ФормаДокумента из поставки. Удаляю весь код на форме. Пусто. Ни одной строки кода. Удаляю с формы саму ТЧ Услуги. Добавляю в форму ТЧ Услуги. Естественно, что никаких обработчиков к ТЧ Услуги не прописано. Она только что сгенерирована 1С. Захожу в 1с, создаю новую строку в ТЧ Услуги. Субконто1,2,3 - нет доступа.
Откуда?
6 Доминошник
 
24.01.25
16:21
В "ФормаДокументаОбщая" прописано:

&НаКлиенте
Процедура УслугиСчетЗатратПриИзменении(Элемент)
	
	ТекущиеДанные = Элементы.Услуги.ТекущиеДанные;
	
	Если ТекущиеДанные.СчетЗатратНУ <> ТекущиеДанные.СчетЗатрат Тогда
		
		ТекущиеДанные.СчетЗатратНУ = ТекущиеДанные.СчетЗатрат;
		
		Для Индекс = 1 По 3 Цикл
			ТекущиеДанные["СубконтоНУ" + Индекс] = Неопределено;
		КонецЦикла;
		
	КонецЕсли;
	
	БухгалтерскийУчетКлиентСервер.УстановитьСвойстваСубконтоСтрокиПриИзмененииСчета(
		ЭтотОбъект, ТекущиеДанные, ПараметрыУстановкиСвойствСубконто(ЭтотОбъект));
	
	БухгалтерскийУчетКлиентСервер.УстановитьСвойстваСубконтоСтрокиПриИзмененииСчета(
		ЭтотОбъект, ТекущиеДанные, ПараметрыУстановкиСвойствСубконтоНУ(ЭтотОбъект));
	
	ПараметрыОбъекта = Неопределено;
	ЗаполнитьПараметрыОбъектаДляЗаполненияДобавленныхКолонок(ЭтотОбъект, ПараметрыОбъекта);
	
	ЗаполнитьДобавленныеКолонкиСтрокиТаблицыУслуги(ТекущиеДанные, ПараметрыОбъекта)
	
КонецПроцедуры
7 DiMel_77
 
24.01.25
16:35
(5) Пришлось развернуть БП чтобы посмотреть. В (6) вам правильно указали. В модуле менеджера документа в процедуре ОбработкаПолученияФормы() есть подмена формы. Только неужели вы не заметили этого, когда писали вопрос?
8 VladSt
 
24.01.25
16:37
(6) Изначально, примерно так и было, и я бы все понял, но я же удалил ВЕСЬ код в модуле формы документа! Ctrl + A, Del. Удалил с форму табличную часть "Услуги" (вдруг я где-то в свойствах формы что-то не заметил), опять добавил ТЧ "Услуги", нажал F5.
Нет никакого кода в форме: Процедура УслугиСчетЗатратПриИзменении(Элемент)
Модуль формы пустой!
9 shuhard
 
24.01.25
16:43
(8) ты про подписки не слыхал и замером производительности не умеешь пользоваться ?
10 VladSt
 
24.01.25
16:58
(7) в модуле менеджера у меня такая процедура пустая.
в форме списка есть такой код:
&НаКлиенте
Процедура КомандаСоздать(Команда)
    
    //1С-Минск
    КлючеваяОперация = "ОткрытиеФормыПоступлениеТоваровУслуг";
    //КлючеваяОперация = ПредопределенноеЗначение("Справочник.КлючевыеОперации.ОткрытиеФормыПоступлениеТоваровУслуг");
    //Конец 1С-Минск
    
    // {{ Локализация_БухгалтерияДляБеларуси
    //ОценкаПроизводительностиКлиентСервер.НачатьЗамерВремени(КлючеваяОперация);
    ОценкаПроизводительностиКлиент.НачатьЗамерВремени(, КлючеваяОперация);
    //  Локализация_БухгалтерияДляБеларуси }}
    
    ЗначенияЗаполнения = ОбщегоНазначенияБПКлиентСервер.ПолучитьСтруктуруОтбораСписка(Список.Отбор.Элементы);
    
    ОткрытьФорму("Документ.ПоступлениеТоваровУслуг.Форма.ФормаДокумента",
        Новый Структура("ЗначенияЗаполнения", ЗначенияЗаполнения), ЭтаФорма)
    
КонецПроцедуры

но опять же: в это форме в модуле формы кода нет вообще! Он пустой.
Причем, если создаю свою ФормуДокумента, тоже модуль формы пустой, открываю ее, все норм, Субконто доступны
11 VladSt
 
28.01.25
13:16
Разобрался.
Дело было в условном оформлении табличной части управляемой формы.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн