Вход | Регистрация
 

Перенос справочника Способ отражения зп в бух из ЗУП 2.5 в З.1

Перенос справочника Способ отражения зп в бух из ЗУП 2.5 в З.1
Я
   Wefast
 
13.03.19 - 10:10
Понадобилось сделать функционал справочника Способ отражения зп в бух в ЗУП 3.1 такой же как в 2.5

Я честно говоря немного забыл принципиальную разницу программирования в обычных формах и УФ

Пытаюсь переносить куски кода и адаптировать под УФ.

Если в кратце
У объекта есть реквезиты СчетДТ, СубконтоДТ1-3
На форме есть счет(из плана счетов), и есть его субконто.
При изменение счета субконто должны стать определенного типа, чтобы при попытке выбора субконто открывался соответствующий справочник.

В 2.5 это было реализовано так:
Вызывалась процедура из модуля объекта:
    ВидыСубконтоСчета = Счет.ВидыСубконто;

    Для Ном = 1 по 3 Цикл
        Если Ном <= ВидыСубконтоСчета.Количество() и ЗначениеЗаполнено(Счет) и
        //    ВидыСубконтоСчета[Ном-1].ВидСубконто.ТипЗначения.СодержитТип(ТипЗнч(ЭтотОбъект["Субконто"+ДтКт+Ном])) Тогда
        ВидыСубконтоСчета[Ном-1].ВидСубконто.ТипЗначения = ЭтотОбъект["Субконто"+ДтКт+Ном] Тогда
        //    // Без изменений
        //Иначе
            Если Ном <= ВидыСубконтоСчета.Количество() тогда
            ЭтотОбъект["Субконто"+ДтКт+Ном] = Новый(ВидыСубконтоСчета[Ном-1].ВидСубконто.ТипЗначения.Типы()[0]);
        ИначеЕсли  ЭтотОбъект["Субконто"+ДтКт+Ном] <> Неопределено Тогда
            ЭтотОбъект["Субконто"+ДтКт+Ном] = Неопределено;
        КонецЕсли;
    КонецЦикла;


Я перенес ее в 3.1, заменил ЭтотОбъект на Объект. В пределах процедуры тип у субконто меняется. Но при возвращение на форму тип становится Неопределенно(тоже не понятно почему такой тип, так как по умолчанию это ПланВидовХарактеристик.ВидыСубконтоХозрасчетные
И при нажатие кнопки выбора нужно сначала выбрать, список которых указан в плане характеристик.

Подозреваю что ЭтотОбъект в обычных формах и Объект в уф немного разные вещи, да и принципе я наверное могу изменить тип только реквизита формы.

Пытаюсь подсматривать в БП 3.0, но там совсем иначе все реализовано, используется куча общих бухгалтерских модулей и все как всегда в новых конфигурациях запутано.



Мне бы не помешал какой ни-будь путь для реализации задачи в целом или конкретной подзадачи. Может не менять тип реквизитов, а в момент выбора значения субконто подсказывать какой там тип должен быть.
что то типа если это Субконто1, то РеквизитНаФорме.ТипЗначения = Новый (Счет.ВидыСубконто[1].ВидСубконто.ТипЗначения)
 
 
   Wefast
 
1 - 13.03.19 - 10:11
Про объект и этотОбъект я наверное ошибся, т.к. код уже из 3.1
   dnab
 
2 - 13.03.19 - 10:31
Интересно, зачем это надо?
   piter3
 
3 - 13.03.19 - 10:32
(2) хочет свою выгрузку нарисовать в бп
   Wefast
 
4 - 13.03.19 - 10:36
(3) все так, все ради выгрузки, только не в бп, а комплексную конфигурацию (7.7)
   Wefast
 
5 - 13.03.19 - 12:34
В общем не лезу в модуль объекта. Пишу там откуда ее вызывал
    УстановитьВидимостьСубконто(Счет, ДтКт);
     
    Для Н = 1 По 3 Цикл
        Если Н <= Счет.ВидыСубконто.Количество() и ЗначениеЗаполнено(Счет) и
            Объект["Счет"+ДтКт].ВидыСубконто[Н-1].ВидСубконто.ТипЗначения.Типы()[0] = ТипЗнч(Объект["Субконто"+ДтКт+Н]) Тогда
            // Без изменений

        ИначеЕсли Н <= Счет.ВидыСубконто.Количество() тогда
            Объект["Субконто"+ДтКт+Н] = Новый(Счет.ВидыСубконто[Н-1].ВидСубконто.ТипЗначения.Типы()[0]);
        ИначеЕсли  Объект["Субконто"+ДтКт+Н] <> Неопределено Тогда
            Объект["Субконто"+ДтКт+Н] = Неопределено;
        КонецЕсли;
    КонецЦикла;
   Skylark
 
6 - 13.03.19 - 12:37
Это всё цветочки - способы отражения ты сделаешь, а вот алгоритм формирования проводок по регистрам ЗУП 3.1 и этим способам отражения...
Я что-то сомневаюсь.
Будешь вытаскивать его из Бухгалтерии?
   Wefast
 
7 - 13.03.19 - 12:44
(6) Пока проводки вроде не нужны. Все это надо лишь для формирования файла при выгрузке и для понимания что способы отражения чем то отличаются, если наименование будет похожим.

А если отчеты какие то понадобятся будет достаточно регистров где сам способ указан.

Наверное

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует