|
Проводки в 1С:ERP 2 | ☑ | ||
---|---|---|---|---|
0
happysan
15.01.15
✎
12:58
|
Как известно проводки в 1С:ERP 2 формируются "отложенно" рег.заданием , либо вручную по кнопке "Отразить в рег.учете" в форме проводок документа.
Кто-нибудь дорабатывал, чтобы документ отражался в регл учете при проведении документа, без дополнительных действий или какие идеи есть? |
|||
1
shuhard
15.01.15
✎
12:58
|
(0) [какие идеи есть]
возьми лобзик и запили |
|||
2
ilpar
15.01.15
✎
12:59
|
Идеи есть у программистов. Обратись к своим.
Пилотов мало, а уж такую фигню и подавно не все делают. |
|||
3
leonidkorolev
15.01.15
✎
13:23
|
Ради интереса посмотрел как это можно доработать, хотя у самого такой необходимости не предвидится. На первый взгляд кажется что очень просто доработать.
В обработке проведения надо добавить такой код СтруктураРеквизиты = Новый Структура( "Ссылка, Дата, Организация", Документ, Дата, Организация); ОтразитьДокументВРеглУчетеСервер(СтруктураРеквизиты); Это кусок кода из кнопки Отразить в регл. учете |
|||
4
leonidkorolev
15.01.15
✎
13:56
|
||||
5
Быдло замкадное
15.01.15
✎
14:06
|
запрос вида "хочу как было раньше..." такими темпами у вас опять УПП получится
|
|||
6
happysan
15.01.15
✎
14:17
|
(3)(4)делал аналогичное, но в модуле набора записей РС "Отражение в регл.учете" в процедуре при записи, но не понравилось, что эта процедура несколько раз отрабатывает, так как при записи в серверное процедуре снова меняется статус "К отражение в рег.учете" в РС и снова инициализация идёт процедуры при записи, плюс ещё идёт перепроведение документов связанных и текущего и снова перезапись РС.
|
|||
7
Vladal
15.01.15
✎
14:29
|
(0) "как известно". Манипулируешь?
|
|||
8
happysan
15.01.15
✎
14:34
|
(7) Констатирую.
|
|||
9
shuhard
15.01.15
✎
14:36
|
(7) в таком контексте это всего лишь вежливая преамбула
|
|||
10
DailyLookingOnA Sunse
15.01.15
✎
15:57
|
О, пионеры уже до УКЗ2 добрались.
Хорошим рашпилем можно любую конфигурацию допилить, смелости у форума при этом спрашивать не надо. |
|||
11
happysan
15.01.15
✎
16:26
|
(4)Благодарю за пример.
|
|||
12
happysan
15.01.15
✎
16:40
|
(4)Но если снова нажать кнопку "Отразить в регл.учете" проводки немного изменятся, по понятным причинам. Скорее всего придётся в обработке проведения каждого документа прописывать.
|
|||
13
leonidkorolev
15.01.15
✎
16:57
|
(12) По каким понятным причинам? Почему по разному проводит?
|
|||
14
happysan
15.01.15
✎
17:10
|
(13)Наверное, разное состояние РС "Отражение в рег.учете" в момент проведения документа и после, так как реально на документе "Поступление и прочих активов" формируется проводка с кт 000 автоматом, а после нажатия кнопки "Обновить" и "Отразить в рег.учете" проставляется счет кт 60.01
|
|||
15
leonidkorolev
15.01.15
✎
17:12
|
(14) ОК. Понятно.
|
|||
16
happysan
15.01.15
✎
17:18
|
(15)Причём если прописывать те же самые алгоритмы непосредственно в МО в конце процедуры "Обработка проведения", то тоже формируются разные проводки.
|
|||
17
Гёдза
15.01.15
✎
17:37
|
но зачем? чтоб все опять тормозило и блокировалось?
|
|||
18
happysan
15.01.15
✎
17:45
|
(17)Полностью согласен, но руководство жаждет, этот довод я озвучил уже.
|
|||
19
shuhard
15.01.15
✎
18:04
|
(18) тебе придётся двинуть тучу Рг и время проведения документов будет не детским
с зачетом авансов проблемы будут отдельно |
|||
20
Гёдза
15.01.15
✎
18:06
|
В ПриЗаписи запускать нужную процедуру тогда
|
|||
21
Гёдза
15.01.15
✎
18:06
|
Или в крайнем случае в форме после записи
|
|||
22
vvp91
15.01.15
✎
21:17
|
(3) В общем верная доработка, с рядом замечаний.
1. У большинства документов есть поля Ссылка, Дата и Организация, в обработчике подписки на событие можно просто написать: РеглУчетПроведениеСервер.ОтразитьДокумент(Источник); 2. Второй параметр ВыполнитьПересчеты в методе ОтразитьДокумент лучше оставить для регламентного закрытия месяца, поскольку пересчеты могут выполнятся довольно долго и затронуть движения, не связанные с проводимым документом. Оффлайновые расчеты, на момент разработки, двигали партии, расчеты с поставщиками с клиентами и считали себестоимость для всех данных, которые были не актуальны - в общем длительная процедура. На практике тормознуто проводится только "первый" документ, потом все движения делают довольно быстро, поскольку объем пересчетов снят. Но могут быть тонкости. |
|||
23
happysan
16.01.15
✎
15:25
|
(20)Спасибо!
(22) По пункту 2: второй параметр в типовой конфигурации включен, если запускать отражение с кнопки "Отразить в рег.учете". Если отключить его, то могут возникнуть проблемы с зачетом авансов? |
|||
24
vvp91
17.01.15
✎
09:50
|
> (23) Если отключить его, то могут возникнуть проблемы с зачетом авансов?
Да, проблемы с зачетом авансов могут возникнуть. Тут нужно понимать, что проблемы с зачетом авансов присутствуют в любом случае, если не делать зачет авансов для документа по кнопке (Зачет оплаты). Возможно, что имеет смысл вызвать свою последовательность оффлайновых расчетов перед отражением документа в регл.учете. Например, если требуется только зачитывать авансы, то позвать методы проведения документов по расчетам с указанием аналитики учета по конкретному партнеру из документа. |
|||
25
happysan
17.01.15
✎
11:44
|
(24)Благодарю за информацию.
|
|||
26
happysan
21.01.15
✎
17:39
|
Как и ожидалось, возникли проблемы с зачётом авансов, не формируется проводка по кт 60.2. Кто-нибудь реализовывал?
|
|||
27
happysan
22.01.15
✎
12:02
|
Значит никто...
|
|||
28
shuhard
22.01.15
✎
12:56
|
(26) тебя дважды предупредили, что будут проблемы
(27) бу га га - пилите Шура, они золотые (с) |
|||
29
vvp91
22.01.15
✎
14:10
|
> (26) проблемы с зачётом авансов
Я же писал (24): "имеет смысл вызвать свою последовательность оффлайновых расчетов". > (26) Кто-нибудь реализовывал? Я реализовывал ;-) Например, можешь сделать общую процедуру с таким содержимым: ////////// Запрос = Новый Запрос(" |ВЫБРАТЬ | АналитикаПоПартнерам.КлючАналитики КАК Аналитика |ИЗ | РегистрСведений.АналитикаУчетаПоПартнерам КАК АналитикаПоПартнерам |ГДЕ | АналитикаПоПартнерам.Организация В (&Организация) | И АналитикаПоПартнерам.Партнер = &Партнер | И АналитикаПоПартнерам.Контрагент = &Контрагент |"); Запрос.УстановитьПараметр("Организация", Источник.Организация); Запрос.УстановитьПараметр("Партнер", Источник.Партнер); Запрос.УстановитьПараметр("Контрагент", Источник.Контрагент); Выгрузка = Запрос.Выполнить().Выгрузить(); АналитикиПартнера = Выгрузка.ВыгрузитьКолонку("Аналитика"); ВзаиморасчетыСервер.ВыполнитьПроведениеДокументовПоРасчетамСПоставщиками(АналитикиПартнера); ВзаиморасчетыСервер.ВыполнитьПроведениеДокументовПоРасчетамСКлиентами(АналитикиПартнера); РеглУчетПроведениеСервер.ОтразитьДокумент(Источник); ////////// После этого вызывать такую процедуру при проведении документов по (организации, партнеру и контрагенту). Тогда авансы должны зачитываться автоматом и появляться в проводках. Но надо иметь ввиду, что вставка документа перед уже проведенным документом по (организации, партнеру и контрагенту) приведет к некорректности проводок по авансам. З.Ы. использовать этот код для проведения документов по нескольким организациям, по нескольким контрагентам нельзя - надо дорабатывать. |
|||
30
Dmitry1c
22.01.15
✎
14:24
|
Если столько жалоб на УТ 11, то как внедряют ERP 2.0?
|
|||
31
Психотерапевта Вызыва
22.01.15
✎
14:33
|
(26) а если в общем модуле МодификацияКонфигурацииПереопределяемый
в текст переопределяемой процедуры записать: // Переопределяемая процедура, вызываемая из одноименного обработчика события формы. // // Параметры: // Форма - форма, из обработчика события которой происходит вызов процедуры. // см. справочную информацию по событиям управляемой формы. // Процедура ПослеЗаписиНаСервере(Форма, ТекущийОбъект, ПараметрыЗаписи)Экспорт Запрос = Новый Запрос(" |ВЫБРАТЬ | Данные.Период КАК Дата, | Данные.Регистратор КАК Ссылка, | Данные.Организация КАК Организация |ИЗ | РегистрСведений.ОтражениеДокументовВРеглУчете КАК Данные |ГДЕ | Данные.Регистратор = &Ссылка | И Данные.Статус В ( | ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВРеглУчете), | ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.НеУказаныСчетаУчета)) | И &Организация В (Данные.Организация, НЕОПРЕДЕЛЕНО, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) |УПОРЯДОЧИТЬ ПО | Данные.Период ВОЗР |"); Запрос.УстановитьПараметр("Ссылка", ТекущийОбъект.Ссылка); Запрос.УстановитьПараметр("Организация", ТекущийОбъект.Организация); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда СтруктураРеквизиты = Новый Структура( "Ссылка, Дата, Организация", ТекущийОбъект.Ссылка, ТекущийОбъект.Дата, ТекущийОбъект.Организация); РеглУчетПроведениеСервер.ОтразитьДокумент(СтруктураРеквизиты, Истина); КонецЕсли; КонецПроцедуры |
|||
32
happysan
22.01.15
✎
14:49
|
(29)
1. Тогда алгоритм не будет отрабатывать при проведении не из формы документа. 2. Этот объект захвачен тобой в хранилище)) |
|||
33
happysan
22.01.15
✎
14:51
|
(29) пардон, это сообщение для (31))
|
|||
34
happysan
22.01.15
✎
14:51
|
(31)
1. Тогда алгоритм не будет отрабатывать при проведении не из формы документа. 2. Этот объект захвачен тобой в хранилище)) |
|||
35
happysan
22.01.15
✎
14:56
|
(29) Почему идёт обращение к РегистрСведений.АналитикаУчетаПоПартнерам, а не к РегистрНакопления.РасчетыСПоставщиками и РегистрНакопления.РасчетыСКлиентами?
|
|||
36
Психотерапевта Вызыва
22.01.15
✎
15:08
|
(34) ты про какое хранилище намекаешь?
немного поправил код Запрос = Новый Запрос(" |ВЫБРАТЬ | Данные.Период КАК Дата, | Данные.Регистратор КАК Ссылка, | Данные.Организация КАК Организация |ИЗ | РегистрСведений.ОтражениеДокументовВРеглУчете КАК Данные |ГДЕ | Данные.Регистратор = &Ссылка | И Данные.Статус В ( | ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.КОтражениюВРеглУчете), | ЗНАЧЕНИЕ(Перечисление.СтатусыОтраженияДокументовВРеглУчете.НеУказаныСчетаУчета)) | И &Организация В (Данные.Организация, НЕОПРЕДЕЛЕНО, ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)) |УПОРЯДОЧИТЬ ПО | Данные.Период ВОЗР |"); Запрос.УстановитьПараметр("Ссылка", ТекущийОбъект.Ссылка); Запрос.УстановитьПараметр("Организация", ТекущийОбъект.Организация); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда ВременныеТаблицы = Новый МенеджерВременныхТаблиц; ЗапросПланаСчетов = РеглУчетВыборкиСервер.ЗапросПланаСчетов(); ЗапросПланаСчетов.МенеджерВременныхТаблиц = ВременныеТаблицы; ЗапросПланаСчетов.Выполнить(); // выборка вариабельных счетов учета ЗапросСчетов = РеглУчетВыборкиСервер.ЗапросСчетов(); ЗапросСчетов.МенеджерВременныхТаблиц = ВременныеТаблицы; ЗапросСчетов.Выполнить(); СтруктураРеквизиты = Новый Структура( "Ссылка, Дата, Организация", ТекущийОбъект.Ссылка, ТекущийОбъект.Дата, ТекущийОбъект.Организация); РеглУчетПроведениеСервер.ОтразитьДокумент(СтруктураРеквизиты, Ложь, ВременныеТаблицы); ВременныеТаблицы.Закрыть(); КонецЕсли; Вроде авансы засчитывает |
|||
37
happysan
22.01.15
✎
15:16
|
(36)а проведение не из формы документа? Что тогда?
|
|||
38
Психотерапевта Вызыва
22.01.15
✎
15:24
|
(37) Объясни подробнее я не догоняю - при чем здесь это?
|
|||
39
happysan
22.01.15
✎
15:54
|
(38)ок, этот переопределяемый общий модуль дополняет обработчики событий вызываемые из модулей форм документов. Таким образом эти события отрабатываются только если форма открыта пользователем и он проводит документ, но если какое-то групповое проведение документов, то есть программное или интерактивное без открытия формы, то процедура твоя не отработает.
|
|||
40
Психотерапевта Вызыва
22.01.15
✎
15:56
|
(39) это было 1) - это ясно и так
а ты же писал про какое-то хранилище во 2) |
|||
41
Психотерапевта Вызыва
22.01.15
✎
15:59
|
(39) если проведение без открытия формы то работает типовой механизм.
|
|||
42
happysan
22.01.15
✎
16:03
|
(41)вот поэтому этот механизм и не подходит
(40) забудь про хранилище) |
|||
43
vvp91
22.01.15
✎
16:22
|
> (31) РеглУчетПроведениеСервер.ОтразитьДокумент(СтруктураРеквизиты, Истина);
Не рекомендую писать Истина во втором параметре при оперативном проведении документа. Это вызовет пересчет всей базы по партионному учету, взаиморасчетам с поставщиками и клиентами и расчет себестоимости. Если нужно просто зачесть авансы, то надо пересчитать только взаиморасчеты с поставщиками и клиентами по организации, партнеру и контрагенту, указанными в проводимом документе. > (35) Почему идёт обращение к РегистрСведений.АналитикаУчетаПоПартнерам, а не к РегистрНакопления.РасчетыСПоставщиками и РегистрНакопления.РасчетыСКлиентами? Обращение к регистру сведений АналитикаУчетаПоПартнерам идет для определения ключа аналитики партнера по данным документа. Обращение к регистрам накопления РасчетыСПоставщиками и РасчетыСКлиентами идет в вызове типовых методов ВзаиморасчетыСервер.ВыполнитьПроведениеДокументовПоРасчетамСХХХ > (36) ЗапросПланаСчетов = РеглУчетВыборкиСервер.ЗапросПланаСчетов(); Ну и зачем ты продублировал треть метода РеглУчетПроведениеСервер.ОтразитьДокумент, когда ты все равно вызываешь этот метод? |
|||
44
happysan
22.01.15
✎
17:15
|
(43)Это выглядит всё как полумеры. которые никак не решают ситуацию, есть практичное предложение?
|
|||
45
vvp91
22.01.15
✎
17:54
|
> (44) Это выглядит всё как полумеры. которые никак не решают ситуацию...
Весьма голословное утверждение. Тебе помощь нужна или как? Что не решает? > (44) есть практичное предложение? Пойди работать в 1С. Напишешь там свой бух.учет с автозачетом авансов и удовлетворенными бухгалтерами. |
|||
46
happysan
22.01.15
✎
18:00
|
(45)Реализую по-своему и продемонстрирую.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |