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

Тема в разделе "1C и всё что с ней связано", создана пользователем Дайнеко, 12 окт 2011.

  1. Дайнеко

    Дайнеко Well-Known Member
    1C Team

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

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

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    В плане счетов типовой БП есть реквизит "ЗапретитьИспользоватьВПроводках", и функция общего модуля:
    Код ( (Unknown Language)):
    // Функция проверяет возможность использования счета в проводках.
    //
    // Параметры:
    // Счет  - Проверяемый счет.
    // Сообщать - признак вывода сообщений.
    //
    // Возвращаемое значение:
    // Булево - возможность использования счета в проводках
    //
    //
    Функция СчетМожноИспользоватьВПроводках(Счет, Сообщать = Истина) Экспорт

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

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

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

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

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

    КонецЕсли;

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

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

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

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    Уже неплохо. Но получается к каждому реквизиту Счет лепить обработку, а в ней эту Ф-ию. Чей-то перемудрила 1С - устранилась от термина "Групповой счет" и отдала на откуп глупым програмерам и криворуким бухам.
     
  4. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Можно для поля счет установить галочку РежимВыбораИзСписка и передавать для каждого поля список доступных для выбора счетов. Но это еще более извращено чем в сообщении unknown181538
     
  5. unknown181538

    unknown181538 НеГуру
    1C Team

    Регистрация:
    28 дек 2008
    Сообщения:
    1.418
    Симпатии:
    0
    Allexei
    список из сотни счетов это слишком)
     
  6. Allexei

    Allexei Well-Known Member

    Регистрация:
    2 май 2008
    Сообщения:
    322
    Симпатии:
    0
    Ну так можно же этот список ограничить? Каждый документ, же , работает с определенными счетами. Хотя если честно - действительно, идея бребовая. :)
     
  7. Дайнеко

    Дайнеко Well-Known Member
    1C Team

    Регистрация:
    19 ноя 2009
    Сообщения:
    951
    Симпатии:
    0
    А черт его знает, может напишу процедуру, которая из всего плана счетов запихивает только разрешенные.

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

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

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

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

Поделиться этой страницей