Правильно Выбирать Счет

Дайнеко

Well-Known Member
19.11.2009
951
0
#1
Есть на форме реквизит Счет из плана счетов.
Когда выбираешь счет групповой (имеет субсчета) , 1С выдает менюшку с субсчетами.
Но группу все равно можно выбрать! Как запретить? У элемента нет св-ва "ВыборГруппИЭлементов".
Может я чего не знаю про счета?

P.S.
Есть конечно вариант ПриИзменении() проверить.
Почему-то мне не нравится. Громозко. Ибо таких объектов множество.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#2
В плане счетов типовой БП есть реквизит "ЗапретитьИспользоватьВПроводках", и функция общего модуля:
Код:
// Функция проверяет возможность использования счета в проводках.
//
// Параметры:
// Счет	 - Проверяемый счет.
// Сообщать - признак вывода сообщений.
//
// Возвращаемое значение:
// Булево - возможность использования счета в проводках
// 
//
Функция СчетМожноИспользоватьВПроводках(Счет, Сообщать = Истина) Экспорт

Если ТипЗнч(Счет) <> Тип("ПланСчетовСсылка.Хозрасчетный") Тогда
Возврат Ложь; // Неправильный тип
КонецЕсли;

Если Счет = ПланыСчетов.Хозрасчетный.ПустаяСсылка() Тогда
Возврат Истина; // Пустая ссылка может использоваться
КонецЕсли;

Если Счет.ЗапретитьИспользоватьВПроводках Тогда

Если Сообщать Тогда
Предупреждение("Счет " + СокрЛП(Счет)+" """ + Счет.Наименование + """ нельзя использовать в проводках.");
КонецЕсли;

Возврат Ложь; // Счет использовать в проводках нельзя

КонецЕсли;

Возврат Истина; // Счет можно использовать в проводках 

КонецФункции // СчетМожноИспользоватьВПроводках()

Добавлено: Да и, насколько я понимаю, в плане счетов иерархия элементов, т.е. нет никаких групп.
 

Дайнеко

Well-Known Member
19.11.2009
951
0
#3
Уже неплохо. Но получается к каждому реквизиту Счет лепить обработку, а в ней эту Ф-ию. Чей-то перемудрила 1С - устранилась от термина "Групповой счет" и отдала на откуп глупым програмерам и криворуким бухам.
 

Allexei

Well-Known Member
02.05.2008
322
1
#4
Можно для поля счет установить галочку РежимВыбораИзСписка и передавать для каждого поля список доступных для выбора счетов. Но это еще более извращено чем в сообщении unknown181538
 

Allexei

Well-Known Member
02.05.2008
322
1
#6
Ну так можно же этот список ограничить? Каждый документ, же , работает с определенными счетами. Хотя если честно - действительно, идея бребовая. :)
 

Дайнеко

Well-Known Member
19.11.2009
951
0
#7
Можно для поля счет установить галочку РежимВыбораИзСписка и передавать для каждого поля список доступных для выбора счетов.
А черт его знает, может напишу процедуру, которая из всего плана счетов запихивает только разрешенные.

Я за ночь чуть обмозговал свою задачу и разложу на 2 ситуации:
1) Счет на документе, который пойдет в проводку. Это я и описал. Здесь надо категорично запретить групповые, а физически они могут вводятся.

New!
2) Счет на отчете, тут чел может выбрать любой. Но вот что раздражает. Набираю "60" (он с субсчетами). А 1С, зараза, мне выдает меню с его субсчетами. Я должен еще раз энтером клацнуть, сказать, что я не ошибся. Эту глупую мелочь можно погасить?

Не поленился, глянул на типовую. Так и ведет себя. В обработке ввода для первой ситуации (в доках) стоит
СтандартнаяОбработка = БухгалтерскийУчет.СчетМожноИспользоватьВПроводках(ВыбранноеЗначение);

Честное слово, мне нравятся новации. Но иногда появляется повод крякнуть "А вот в 7-ке это было проще".