|
Как программно ПОЛНОСТЬЮ заполнить ТЧ документов? | ☑ | ||
---|---|---|---|---|
0
НоваяВолна
23.11.22
✎
15:49
|
Есть обработка, которая добавляет записи в документы различных видов. Поля, которые при ручном вводе заполняются автоматически, соответственно обработкой не заполняются. Например Сумма и СчетаУчета. При ручном изменении Номенклатуры на ту же ... все встает на место. Но процедуры ПриИзменении в каждом документе разные... Может кто подскажет самый простой способ решить проблему?
|
|||
1
vicof
23.11.22
✎
15:50
|
Приказать заполнить документы ручками
|
|||
2
НоваяВолна
23.11.22
✎
15:53
|
(1) Весело, но не то
|
|||
3
НоваяВолна
23.11.22
✎
15:54
|
(0) БП 3.0
|
|||
4
vicof
23.11.22
✎
15:55
|
Вызывать вложенные в обработчики процедуры заполнения счетов и сумм.
|
|||
5
Мультук
гуру
23.11.22
✎
16:07
|
(3)
1) СчетаУчета Я бы смотрел в МенеджерОбменаЧерезУниверсальныйФормат там магическим образом это происходит при получении документов по обмену (например из УТ) Можно, конечно 2) Сумма Нужно взять себя в руки и выяснить для себя как работает типовой механизм пересчета таб.частей 3) Например ДокОб = выборка.ссылка.ПолучитьОбъект(); ЗаполнитьСчетаУчетаДокумента(ДокОб, ТолькоНезаполненные); ДокОб.Записать(РежимЗаписиДокумента.Проведение); &НаСервереБезКонтекста Процедура ЗаполнитьСчетаУчетаДокумента(Объект, ТолькоНезаполненные) Экспорт // Заполняем счета по отбору Отбор = Новый Структура; Отбор.Вставить("НеЗаполненныеРеквизиты", ТолькоНезаполненные); СчетаУчетаВДокументах.Заполнить(Объект, Отбор); КонецПроцедуры |
|||
6
ass1c
23.11.22
✎
16:13
|
Просто посмотри в своей конфе как это реализовано. Примеры:
Модули "ОбработкаТабличнойЧасти..." Вот это пример возможно можно как то использовать: СтруктураДействий = ПолучитьСтруктуруДействийОбработкиСтрокиТабЧасти(Объект); ОбработкаТабличнойЧастиКлиент.ОбработатьСтрокуТЧ(ТекДанные, СтруктураДействий, Неопределено); |
|||
7
d4rkmesa
23.11.22
✎
16:14
|
(0) Везде по-разному реализовано. Пишите код.
|
|||
8
НоваяВолна
23.11.22
✎
16:25
|
(7) Код чего? Конфигурация БП 3.0
|
|||
9
Kassern
23.11.22
✎
16:27
|
(8) Смотрите внимательно обработчики заполнения ТЧ при изменении реквизитов, смотрите к каким серверным функциям/процедурам это дело ссылается. Проходите по всем необходимым документам, по которым происходит заполнение. Далее уже пишите в обработчике вызов нужных серверных методов заполнения ТЧ для различных видов документов (но что-то мне подсказывает, что там будет один общий метод)
|
|||
10
Fish
23.11.22
✎
16:28
|
(8) Пиши код обработки, разумеется. За тебя его никто не напишет.
|
|||
11
НоваяВолна
23.11.22
✎
16:32
|
(9) вы в 1С конфигурации заглядываете? Или просто со смартфона сюда пишете от фонаря? Что значит один метод хотя бы для Поступления и Реализации? Разница хотя бы по счетам Учета
|
|||
12
ass1c
23.11.22
✎
16:36
|
(9)+
Спокойно. Если посмотреть модули менеджеров объектов, то можно увидеть такие вещи. Что значит как минимум по менеджеру объекта можно вызывать эти функции, но она устарела // Устарела: Следует использовать ЗаполнитьПередЗаписью(), // ЗаполнитьПередОтображениемПользователю(), Заполнить(), // ЗаполнитьОбъектПриИзменении(), ЗаполнитьСтроки(), // либо перед записью документа устанавливать дополнительное свойство // ЗаполнитьСчетаУчетаПередЗаписью // Процедура ЗаполнитьСчетаУчетаВТабличнойЧасти(Объект, ИмяТабличнойЧасти) Экспорт СчетаУчетаВДокументах.ЗаполнитьСчетаУчетаВТабличнойЧасти( Объект, ИмяТабличнойЧасти); КонецПроцедуры Поэтому можно использовать это СчетаУчетаВДокументах.ЗаполнитьПередЗаписью(ЭтотОбъект, РежимЗаписи); Все уже скорее всего написано универсально для любой конфигурации, надо просто немного покурить кода... |
|||
13
Kassern
23.11.22
✎
16:39
|
(11) "вы в 1С конфигурации заглядываете?" - представьте себе. Видимо вы не внимательно читаете, специально для вас продублирую "Далее уже пишите в обработчике вызов нужных серверных методов заполнения ТЧ для различных видов документов". Вы сами дальше стека вызовов процедур формы переходили в отладчике, читали код, что в общих модулях происходит?
|
|||
14
Kassern
23.11.22
✎
16:56
|
(11) Глянул одним глазком БП3, а там:
СчетаУчетаДляНоменклатуры = СчетаУчетаВДокументах.ЗаполнитьРеквизитыПриИзменении( Документы.РеализацияТоваровУслуг, СчетаУчетаКЗаполнению, ДанныеОбъекта, "Товары", СтрокаТабличнойЧасти); ЗаполнитьЗначенияСвойств(СтрокаТабличнойЧасти, СчетаУчетаДляНоменклатуры); Что в поступлении, что реализации, "Что значит один метод хотя бы для Поступления и Реализации?" - ой а как же так? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |