|   |   | 
| 
 | v7: назначитьТип() не работает в форме обработки | ☑ | ||
|---|---|---|---|---|
| 0
    
        jah1111 13.09.23✎ 17:17 | 
        Дано:
 реквизит формы видПлатежа типа "Справочник.ВидыОпераций" рекизит формы субконтоПлатежа типа "Неопределенный" ну я в процедуре стараюсь назначить реквизиту "субконтоПлатежа" назначить тип в зависимости от значения реквизита "ВидыОпераций" так вот, в модуле формы ДОКУМЕНТА такая строка работает: назначитьТип("субконтоПлатежа",видПлатежа.Счет.ВидСубконто(1)); а в форме ОБРАБОТКИ проверка матерится - назначитьТип<<?>>("субконтоПлатежа",видПлатежа.Счет.ВидСубконто(1)); {Обработка.ПрихОрдер.Форма.Модуль(9)}: Процедура не обнаружена (назначитьТип) При проверке модуля обнаружены синтаксические ошибки! почему форма обработки не понимает назначитьТип() ? | |||
| 1
    
        azernot 13.09.23✎ 18:04 | 
        (0) Потому что это не метод глобального контекста. Это метод справочника, документа, регистра и т.п.
 Используйте ПриНачалеВыбораЗначения(ИдентЭлемДиалога, ФлагСтанд06р) Если ИдентЭлемДиалога = "субконтоПлатежа" Тогда Если ВидыОпераций = ... Тогда //Тут организовать выбор нужных данных, нужного типа-вида... | |||
| 2
    
        jah1111 13.09.23✎ 18:19 | 
        а как, собственно организовать?
 как назначить тип реквизиту типа "Неопределенный", какой метод использовать? | |||
| 3
    
        mikecool 13.09.23✎ 18:33 | 
        (2) попробуй присвоить пустое значение нужного типа     | |||
| 4
    
        azernot 13.09.23✎ 18:43 | 
        (3) Не, в 1С 7.7 это не работало...
 (2) Чесгря не помню. Хоть убей. И 1с 7.7 под рукой нету... Но я точно что-то такое делал. | |||
| 5
    
        azernot 13.09.23✎ 18:47 | 
        Так погоди! Любой отчёт из 1С:бухгалтерия можно же сохранить как внешний и он будет работать. А там 100% есть выбор счета и определение по этому счёту типа для реквизитов вида Субонто1, Субконто2, Субконто3 где можно настраивать отборы.     | |||
| 6
    
        jah1111 13.09.23✎ 19:03 | 
        субконтоПлатежа.УстановитьТип()?     | |||
| 7
    
        jah1111 13.09.23✎ 22:06 | 
        все, разобрался
 кому интересно | |||
| 8
    
        jah1111 13.09.23✎ 22:09 | 
        (7) Форма.субконтоПлатежа.НазначитьТип(видПлатежа.Счет.ВидСубконто(1)); - так работает
 но иногда поражает что одни и те же методы в разных формах имеют совершенно разный синтаксис | |||
| 9
    
        Злопчинский 14.09.23✎ 00:22 | 
        НазначитьТип(<?>,,);
 Синтаксис: НазначитьТип(<ИмяТипа>,<Длина>,<Точность>) Назначение: Назначить тип для элемента диалога, которому в конфигураторе назначен тип 'Неопределенный'. Параметры: <ИмяТипа> - строковое выражение - название типа данных, которое назначается элементу диалога. Например, 'Строка', 'Число', 'Справочник.Товары', 'Документ.РасходнаяНакладная' и т.п. <Длина> - необязательный параметр. Числовое выражение - длина поля представления числа. Имеет смысл только при задании числового типа. <Точность> - необязательный параметр. Числовое выражение - число знаков числа после десятичной точки. Имеет смысл только при задании числового типа. Замечание: Доступ к методу возможен только в контексте Модуля формы через атрибут Форма. Подробнее см. в документации, глава 'Атрибуты и методы контекста Модуля формы' | |||
| 10
    
        Злопчинский 14.09.23✎ 00:24 | 
        Если что-то не получается - сразу бежим в СП и делаем Поиск интересующего. НазначитьТип - находится в куче веток СП, одна из них по Форме.. ну дальше - понятно...
 ;-) | |||
| 11
    
        Злопчинский 14.09.23✎ 00:25 | 
        (8) Поражает типа то, что у ТЗ - КоличествоСтрок(), а у СЗ - РазмерСписка()...     | |||
| 12
    
        jah1111 14.09.23✎ 12:57 | 
        хорошо... а как ПОЛУЧИТЬ тип реквизита на форме?     | |||
| 13
    
        jah1111 14.09.23✎ 13:20 | 
        (12)         ТипВид=ТипЗначенияСтр(субконтоПлатежа)+?(ТипЗначения(субконтоПлатежа)%14 > 3, "."+субконтоПлатежа.Вид(), "");
 сам спросил, сам ответил но ребусы конечно те еще в семерке | |||
| 14
    
        Arbuz 14.09.23✎ 17:03 | 
        (13) Гы-гы-гы. Ты попробуй найти метод ЗаполнитьПоАлгоритму() у ИТЗ.     | |||
| 15
    
        MWWRuza 14.09.23✎ 19:54 | 
        Ну, для начала надо саму ИТЗ найти. Это далеко не типовой объект из состава движка 7.7...     | |||
| 16
    
        Злопчинский 15.09.23✎ 04:26 | 
        (13) какие ребусы? Да, чего-то в клюшках не хватает, но на то они и клюшки. Простая и понятная. Легкоусваиваемая... Это вы там в снеговика привыкли какие-то ребусы постоянно решать - вам всё и кажется ребусами везде...     | |||
| 17
    
        Arbuz 15.09.23✎ 14:22 | 
        (15) Я старушку семёрку без этих (1срр, формекс, скулайт и ещё по-вкусу) костылей уже не представляю ))     | |||
| 18
    
        MWWRuza 15.09.23✎ 14:54 | 
        (17) Это да... Если грамотно их использовать, то от восьмерки не далеко. 
 С масштабируемостью, конечно хуже, но, для небольших(в разумных пределах) баз - хватает. Зато проще, менее требовательно к железу(отсюда быстрее, во всяком случае по интерфейсным заморочкам), и наработок куча. Но, судя по вопросам ТС, ему пока не до этих костылей... | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |