twilight_dream
19.10.16, 22:12
"Управление торговлей для Украины", редакция 2.3.
Здравствуйте.
Есть новый регистр назовем условно МойРегистрНакопления
Захотел чтобы его двигали документы РасходныйКассовыйОрдер и ПлатежноеПоручениеИсходящее. Если чесно 13 лет с 1С8.х работаю но типовую конфигурацию встретил впервые. Ну как то так сложилось. Не об этом вопрос.
Смотрю в модуль документа, а там никакого кода чтобы запись в регистры шла и нет то. Как то интуитивно понимаю, что просто берутся все движения, и реквизиты названы во всех регистрах стандартно. Переименовал и у себя стандартно "Организация, Подразделение" - измерения, "Сумма, СуммаУпр" - ресурсы.
Добавил в движения. Ан думаю сам модуль подхватит и проведет. А не тут то было. Вот не хочется из общей схемы выбиваться и дописывать свой обычный код проведения.
ХОчется использовать тот же механизм, что и в документе. Я там понял он тоже какой то общий.
Вопрос: Как провести мой регистр используя типовые механизмы, и возможно ли это вообще?
Цитата(twilight_dream @ 19.10.16, 23:12) необходимо зарегистрироваться для просмотра ссылки
Смотрю в модуль документа, а там никакого кода
Может плохо смотрите, в том же РасходныйКассовыйОрдер, например название процедуры "ДвиженияПоРегистрам" должно о чем-то говорить.
Самой записи в регистр там нет, для этого используются общие модули, а вот формирование таблицы движений происходит в модуле документа (кроме общих/сложных механизмов - взаиморасчеты, партии и т.п.).
jackill88
20.10.16, 12:14
Нет, нужно как минимум подписку на событие делать и общий модуль свой, или переписывать модуль объекта документа.
Цитата(jackill88 @ 20.10.16, 13:14) необходимо зарегистрироваться для просмотра ссылки
Нет, нужно как минимум подписку на событие делать и общий модуль свой, или переписывать модуль объекта документа.
Ой, предложите еще 1С новую купить. Всё зависит от структуры данных документа и регистра, никаких подписок, общих модулей и переписывания не надо.
jackill88
20.10.16, 13:34
logist @ Сегодня, 13:36 необходимо зарегистрироваться для просмотра ссылки
,
Хотелось бы чтобы Вы подкрепили примерами, как же в УТ 2 для Украины сделать движение документа по новому регистру без единой строки кода.
Можно еще круче: "А можно ли движения по новому регистру, чтобы не добавлять в метаданные новый регистр?"
Нужна подписка или не нужна зависит и от предпочтений конкретного программиста, конкретной задачи и от внешних факторов, например, таких как последующее обновление конфигурации или что-то ещё. Суть от этого не меняется: дополнительные движения надо программировать. logist написал где, как вариант, это можно посмотреть. twilight_dream, если все равно что-то непонятно, то задавайте уточняющие вопросы.
Цитата(jackill88 @ 20.10.16, 14:34) необходимо зарегистрироваться для просмотра ссылки
делать движение документа по новому регистру без единой строки кода.
Я написал - _переписываний_ не надо, можно _написать_ свою процедуру и _вставить_ ее вызов в обработку проведения. Ваш комментарий в том случае звучит как драма или приговор - "переписать", на самом деле переписывать ничего не надо.
// Движения по заказам покупателей.
НаборДвижений = Движения.ЗаказыПокупателей;
СтруктТаблицДокумента = Новый Структура;
СтруктТаблицДокумента.Вставить("ТаблицаПоТоварам", ТаблицаПоТоварам);
ТаблицыДанныхДокумента = ОбщегоНазначения.ЗагрузитьТаблицыДокументаВСтруктуру(НаборДвижений, СтруктТаблицДокумента);
ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "ЗаказПокупателя", Ссылка);
ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "ДоговорКонтрагента", ДоговорКонтрагента);
ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвиженияНакопления.Приход, ТаблицыДанныхДокумента, Дата);
где ТаблицаПоТоварам - ваша подготовленная таблица
twilight_dream
28.10.16, 8:53
Цитата(ignsv @ 21.10.16, 15:46) необходимо зарегистрироваться для просмотра ссылки
где ТаблицаПоТоварам - ваша подготовленная таблица
ignsv @ 21.10.16, 15:46
необходимо зарегистрироваться для просмотра ссылки
,
Все двоешниги кроме
ignsvЕсть ещё проще:
ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(ЭтотОбъект, ВидДвиженияНакопления.Расход);
Основано, как я вначале и высказал догадку на совпадении наименований реквизитов документа и регистров.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.