#0
by Dmitriy_Kolesnikov
Есть очень тяжелая процедура ПередЗаписью, поэтому не хочу делить её функционал на две части - ту, что в форме и ту, что в модуле документа. Задача - передать таблицу значений из формы документа в ПередЗаписью модуля документа. Какие есть варианты?
#3
by Irbis
Делить "тяжёлую процедуру" правильно! Желательно на процедурки, которыми можно пользоваться и из формы и из модуля. Не сейчас, так в дальнейшем всё равно придётся.
#4
by Dmitriy_Kolesnikov
там не поделишь. Есть ТЗ, которая формируется при открытии формы, затем меняется и передается обратно в ДокументОбъект при записи. При этом хитро обрабатывается, что-то идет в ТЧ, но многие данные пишутся в "подчиненные" документы. если разделить синхронизацию ТЗ с ТЧ документа - нарушится целостность данных. ещё нашел вариант - экспортная переменная в ДокументОбъект. Пробую.
#5
by Irbis
Налицо кривизна проектирования, и опять же налицо время устранения этой кривизны. Затраты на сохранение кривого решения уже даже разработчику кажутся излишними. Вам нужно крепко подумать.
#6
by Dmitriy_Kolesnikov
есть управляющий нетиповой документ, который создает, изменяет и контролирует штук 50 типовых документов. Что тут криво? Ящетаю, лезть напрямую в типовые регистры - ещё кривее. А с учетом того, что речь идет о финансовых документах, на которые завязан используемый типовой функционал - тем более. Сочинять своё СписаниеБезналичныхДенежныхСредств с блекджеком и шлюхами - значительно хуже.
#7
by Irbis
Криво именно то, что один документ редактирует другой. Это не по феншую. Если не хотим лезть в чужие регистры, используем свои и, желательно, в рамках отдельной собственной подсистемы.
#9
by Dmitriy_Kolesnikov
там автоматизируется создание большого количества платежек, например. А у документа СБДС есть много реквизитов, которые связаны с работой системы Клиент-Банк. Мне проще автоматизировать создание типовых документов по своим шаблонам, чем глубоко лезть в типовые механизмы. чтобы исключить дублирование данных. Каждое число хранится в базе только один раз, в каком-то одном документе. Если же оно нужно в форме другого документа - то берется из места хранения при открытии формы.
#10
by Dmitriy_Kolesnikov
Господа, я чота туплю, подскажите. Модуль формы, Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Объект имеет тип УправляемыеФормыСтруктура и в нем нет ДополнительныеСвойства. Почему нет, когда все остальные реквизиты и табличные части есть?
#12
by lexasan
Тут может возникнуть проблема с тем, что нужно записывать именно вот этот объект - РеквизитФормыВЗначение("Объект"). Если запись вызывается методом формы Записать, то доп. сведения будут пустые, потому что объект может переполучается заново в модуле объекта.
#16
by Dmitriy_Kolesnikov
вся запись происходит в процедуре Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Соответственно, я использую ТекущийОбъект.ДополнительныеСвойства.вставить("тзРаспределениеС", тзРаспределениеС);
#19
by Dmitriy_Kolesnikov
критикуешь - предлагай. А вешать ярлыки, не разобравшись, умеет любой дурак.
#20
by Dmitriy_Kolesnikov
да, всё через структуру ДокументОбъект.ДополнительныеСвойства - и туда, и обратно. Очень удобно.
#21
by 1dvd
Как ты себе представляешь программную запись документа без участия пользователя и без создания формы?
#22
by Dmitriy_Kolesnikov
леХко. ПередСохранением в модуле формы передаем измененные ТЧ обратно через ДополнительныеСвойства. В ПередСохранением модуля объекта: смотрим, есть ли измененная ТЗ в ДополнительныеСвойства. Если нет: копируем её из ТЧ, добавляем недостающие колонки, заполняем их автоматически. Всё это легкие операции, производятся в памяти, без запросов к БД. А потом уже проверяем, сравниваем и т. д. Могу целиком привести код, но его очень много.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как из ТаблицыЗначений передать значения в таблицу документа.
- Как из одной формы вызвать процедуру другой формы.
- Как передать переменную из модуля формы в модуль объекта?
- Как передать переменную модуля объекта в модуль формы внешней обработки? (ЗУП 8.1)
- v7: Можно ли как нибудь передать переменную из модуля формы в модуль объекта (док)
- Как передать управление с сервера на клиента?Можно ли передать Вопрос на клиента
- Передать значенние поля формы в модуль формы документа УТ 11
- Как вызвать процедуру модуля формы из модуля объекта
- Как передать переменную с клиента на сервер.
В этой группе 1С
- ПодключитьОбработчикИзмененияДанных в УФ, как?
- Лицевой счет организации в УТ 11
- Клеверенс Магазин 15 Базовая, ТСД не показывает остаток по одной конкретной характеристике
- ЗУП 3.1.3.158 Табель, отпуска просчет
- Открытие своей формы во внешнем отчёте
- Установка программно параметров СКД в отчете
- Получить значение реквизита в модуле менеджера.
- Пересчет/корректировка страховых взносов ЗУП 3.0
- Дублируются области в СКД
- Как записать секцию CDATA через фабрику XDTO?
- Excel неверно определяет количество листов
- Подключение к отладке у пользователя у которого не разрешена отладка
- "Ошибка определения принадлежности процессов" при подключении к серверу 1С 8.3 в Docker
- Управление торговлей - ответственные лица
- Не проставляется субконто статья затрат при списании ОС по НУ
- Масштаб в СКД
- Обмен Розница-УТ 8.3. Выгрузка чеков ККМ
- как перебрать ТЗ и записать данные в ТЗ на форме
- КА 2.2 Списание безналичных ДС "Алименты"
- Прервать проверку cnvdbfl.exe