Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Добавить движение по новому регистру в РКО и ППИ
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
twilight_dream
"Управление торговлей для Украины", редакция 2.3.

Здравствуйте.
Есть новый регистр назовем условно МойРегистрНакопления

Захотел чтобы его двигали документы РасходныйКассовыйОрдер и ПлатежноеПоручениеИсходящее. Если чесно 13 лет с 1С8.х работаю но типовую конфигурацию встретил впервые. Ну как то так сложилось. Не об этом вопрос.

Смотрю в модуль документа, а там никакого кода чтобы запись в регистры шла и нет то. Как то интуитивно понимаю, что просто берутся все движения, и реквизиты названы во всех регистрах стандартно. Переименовал и у себя стандартно "Организация, Подразделение" - измерения, "Сумма, СуммаУпр" - ресурсы.
Добавил в движения. Ан думаю сам модуль подхватит и проведет. А не тут то было. Вот не хочется из общей схемы выбиваться и дописывать свой обычный код проведения.
ХОчется использовать тот же механизм, что и в документе. Я там понял он тоже какой то общий.

Вопрос: Как провести мой регистр используя типовые механизмы, и возможно ли это вообще?
logist
Цитата(twilight_dream @ 19.10.16, 23:12) необходимо зарегистрироваться для просмотра ссылки
Смотрю в модуль документа, а там никакого кода

Может плохо смотрите, в том же РасходныйКассовыйОрдер, например название процедуры "ДвиженияПоРегистрам" должно о чем-то говорить.
Самой записи в регистр там нет, для этого используются общие модули, а вот формирование таблицы движений происходит в модуле документа (кроме общих/сложных механизмов - взаиморасчеты, партии и т.п.).
jackill88
Нет, нужно как минимум подписку на событие делать и общий модуль свой, или переписывать модуль объекта документа.
logist
Цитата(jackill88 @ 20.10.16, 13:14) необходимо зарегистрироваться для просмотра ссылки
Нет, нужно как минимум подписку на событие делать и общий модуль свой, или переписывать модуль объекта документа.

Ой, предложите еще 1С новую купить. Всё зависит от структуры данных документа и регистра, никаких подписок, общих модулей и переписывания не надо.
jackill88
logist @ Сегодня, 13:36 необходимо зарегистрироваться для просмотра ссылки ,
Хотелось бы чтобы Вы подкрепили примерами, как же в УТ 2 для Украины сделать движение документа по новому регистру без единой строки кода.

Можно еще круче: "А можно ли движения по новому регистру, чтобы не добавлять в метаданные новый регистр?"
Vofka
Нужна подписка или не нужна зависит и от предпочтений конкретного программиста, конкретной задачи и от внешних факторов, например, таких как последующее обновление конфигурации или что-то ещё. Суть от этого не меняется: дополнительные движения надо программировать. logist написал где, как вариант, это можно посмотреть. twilight_dream, если все равно что-то непонятно, то задавайте уточняющие вопросы.
logist
Цитата(jackill88 @ 20.10.16, 14:34) необходимо зарегистрироваться для просмотра ссылки
делать движение документа по новому регистру без единой строки кода.

Я написал - _переписываний_ не надо, можно _написать_ свою процедуру и _вставить_ ее вызов в обработку проведения. Ваш комментарий в том случае звучит как драма или приговор - "переписать", на самом деле переписывать ничего не надо.
ignsv
        // Движения по заказам покупателей.
        НаборДвижений = Движения.ЗаказыПокупателей;
        
        СтруктТаблицДокумента = Новый Структура;
        СтруктТаблицДокумента.Вставить("ТаблицаПоТоварам", ТаблицаПоТоварам);

            
        ТаблицыДанныхДокумента = ОбщегоНазначения.ЗагрузитьТаблицыДокументаВСтруктуру(НаборДвижений, СтруктТаблицДокумента);
        
        ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "ЗаказПокупателя",    Ссылка);
        ОбщегоНазначения.УстановитьЗначениеВТаблицыДокумента(ТаблицыДанныхДокумента, "ДоговорКонтрагента", ДоговорКонтрагента);

        ОбщегоНазначения.ЗаписатьТаблицыДокументаВРегистр(НаборДвижений, ВидДвиженияНакопления.Приход, ТаблицыДанныхДокумента, Дата);


где ТаблицаПоТоварам - ваша подготовленная таблица
twilight_dream
Цитата(ignsv @ 21.10.16, 15:46) необходимо зарегистрироваться для просмотра ссылки
где ТаблицаПоТоварам - ваша подготовленная таблица

ignsv @ 21.10.16, 15:46 необходимо зарегистрироваться для просмотра ссылки ,
Все двоешниги кроме ignsv

Есть ещё проще:
ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(ЭтотОбъект, ВидДвиженияНакопления.Расход);

Основано, как я вначале и высказал догадку на совпадении наименований реквизитов документа и регистров.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.