|
|
|
Как программно создать/изменить проводки для документа? | ☑ | ||
|---|---|---|---|---|
|
0
Великий мыслитель
05.03.10
✎
15:35
|
Или как настроить создание правильных проводок в документе в бух 8.1?
|
|||
|
1
Irbis
05.03.10
✎
15:37
|
Ответ на вопрос - 100 руб.
Правильный ответ на вопрос - 1000 руб. Вам замуж или мороженого? |
|||
|
2
Великий мыслитель
09.03.10
✎
07:45
|
Ну так кто-нибудь может подсказать
1. Как программно создать проводки для документа 2. Как настроить создание проводок |
|||
|
3
Нууф-Нууф
09.03.10
✎
07:50
|
книга Радченко "практические пособие разработчика"
|
|||
|
4
ИС-2
09.03.10
✎
08:12
|
Человек задал нормальный вопрос, что Вы ерничайте?
Например ДокРед = ;//ссылка на документ редактирования ДокРедОбъект = Докред.Получитьобъект(); ДокРедОбъект.Организация = РогаИКопыта; ... ДокРедОБъект.Записать(РежимЗаписи.Проведение); |
|||
|
5
Великий мыслитель
09.03.10
✎
08:16
|
А вот так вот будет правильно, я настроил создание нужных проводок в конфигураторе?
Процедура ОбработкаПроведения(Отказ, Режим) //в разработке Перем СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаОплата; //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Для Каждого ТекСтрокаРасшифровкаПлатежа Из РасшифровкаПлатежа Цикл // регистр Хозрасчетный Движение = Движения.Хозрасчетный.Добавить(); Движение.Период = Дата; Движение.СчетДт = планысчетов.Хозрасчетный.НайтиПоКоду("50.01"); Движение.СчетКт = планысчетов.Хозрасчетный.НайтиПоКоду("62.01"); Движение.Организация = Организация; Движение.Сумма = СуммаДокумента/10; Движение = Движения.Хозрасчетный.Добавить(); Движение.Период = Дата; Движение.СчетДт =планысчетов.Хозрасчетный.НайтиПоКоду("50.01"); Движение.СчетКт = планысчетов.Хозрасчетный.НайтиПоКоду("62.03"); Движение.Организация = Организация; Движение.Сумма = СуммаДокумента-СуммаДокумента/10; КонецЦикла; // регистр Хозрасчетный //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры // ОбработкаПроведения |
|||
|
6
Великий мыслитель
09.03.10
✎
08:17
|
это для ПКО
|
|||
|
7
butterbean
09.03.10
✎
08:18
|
(5) расчет суммы прикольный, а так вылядит нормально.... субконто только не хватает
|
|||
|
8
Великий мыслитель
09.03.10
✎
08:20
|
(7)
Так бухи велели. А субконто для просмотра ОСВ обязательно или можно и без него? |
|||
|
9
shuhard
09.03.10
✎
08:20
|
(7)[расчет суммы прикольный]
и работать не будет, копейки не сойдутся |
|||
|
10
Великий мыслитель
09.03.10
✎
08:20
|
(9)
а как сделать, чтобы сошлись? |
|||
|
11
ASU_Diamond
09.03.10
✎
08:21
|
а что в БП не в документе указываются счета? О_о
|
|||
|
12
Великий мыслитель
09.03.10
✎
08:22
|
(11)
а как их в документе настроить? |
|||
|
13
ASU_Diamond
09.03.10
✎
08:29
|
(12) у меня УПП
и там в зависимости от операции поставляются счета если "Прочие", то дает самим вводить |
|||
|
14
Нуф-Нуф
09.03.10
✎
08:30
|
(13) имхо УПП <> БП
|
|||
|
15
ASU_Diamond
09.03.10
✎
08:31
|
(14) я думаю принципы таких элементарных документов сохранились. Или я ошибаюсь?
так-то я просто в (11) спросил |
|||
|
16
Великий мыслитель
09.03.10
✎
08:46
|
А как программно задать, что субконто ДТ № 1 = определенный реквизит?
|
|||
|
17
hhhh
09.03.10
✎
09:31
|
(16) там функция УстановитьСубконто() есть. Посмотри как в типовой сделано. Возможно, тебе просто надо в типовых проводках подправить суммы, а ты решил весь документ изничтожить и по новой всё написать.
|
|||
|
18
luckyluke
09.03.10
✎
09:35
|
Ну я так понимаю он на чистой базе это делает, только вод обманчивая быстро освоения методом тыка займет намного больше времени, нежели использовать совет в (3)
|
|||
|
19
hhhh
09.03.10
✎
09:40
|
(18) что, для бухов делает приходный ордер на чистой базе? Ну, монстр!
|
|||
|
20
luckyluke
09.03.10
✎
09:45
|
hhhh
Ну я так понимаю он пытается разобраться как делать эти проводки вообще, если конечно он это всё делает в БП, то... всё крайне плохо и ему надо не программировать учиться, а типовую сначала изучать. А если вот это "//}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ" было сделано в типовом документе, то всё еще хуже :) |
|||
|
21
Великий мыслитель
09.03.10
✎
09:47
|
Вот я одно субконто сделал
БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт, "Контрагенты", этотобъект.Контрагент); Все вроде встало. Для счета субконто 3 не задано. Но, тем не менее, можно ли что-то туда запихнуть? Как это сделать программно (типа строчки выше) |
|||
|
22
luckyluke
09.03.10
✎
09:48
|
О, Великий мыслитель!
судя по фразе "это для ПКО", ты в приходном кассовом ордере, в типовой конфигурации Бухгалтерия предприятия использовал конструктор движений регистров? |
|||
|
23
Великий мыслитель
09.03.10
✎
09:49
|
(22)
да, я потом дополню типовую, сейчас просто для конкретного вида дока отрабатываю механизм. |
|||
|
24
ASU_Diamond
09.03.10
✎
09:49
|
(0) надеюсь что бекап есть.
|
|||
|
25
luckyluke
09.03.10
✎
09:50
|
"да, я потом дополню типовую"
Чем тебе типовой механизм не угодил? Слишком гибкий? |
|||
|
26
Великий мыслитель
09.03.10
✎
09:51
|
(25)
бухи сказали, им для конкретных пко надо другие движения |
|||
|
27
luckyluke
09.03.10
✎
09:54
|
(26)
Ну а почему бухи не могут ставить для "конкретных" ПКО другие счета? Ты выбрал очень неправильный путь для удовлетворения бухов. |
|||
|
28
Великий мыслитель
09.03.10
✎
09:54
|
блин, как у счета заполнить субконто 3, указав не его название, а именно что это субконто 3
|
|||
|
29
Великий мыслитель
09.03.10
✎
09:54
|
(27)
а как по другому? |
|||
|
30
luckyluke
09.03.10
✎
09:55
|
(28)
Выбрать вид операции прочие и заполнить счет 62.03 и выбрать все 3 субконто например? |
|||
|
31
Великий мыслитель
09.03.10
✎
09:56
|
(30)
блин, я программно проводку делаю, мне надо программно субконто 3 заполнить, как это сделать? |
|||
|
32
luckyluke
09.03.10
✎
09:57
|
(0)Ты понимаешь, что если ты вот это:
роцедура ОбработкаПроведения(Отказ, Режим) //в разработке Перем СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаОплата; //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ // Данный фрагмент построен конструктором. // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!! Для Каждого ТекСтрокаРасшифровкаПлатежа Из РасшифровкаПлатежа Цикл // регистр Хозрасчетный Движение = Движения.Хозрасчетный.Добавить(); Движение.Период = Дата; Движение.СчетДт = планысчетов.Хозрасчетный.НайтиПоКоду("50.01"); Движение.СчетКт = планысчетов.Хозрасчетный.НайтиПоКоду("62.01"); Движение.Организация = Организация; Движение.Сумма = СуммаДокумента/10; Движение = Движения.Хозрасчетный.Добавить(); Движение.Период = Дата; Движение.СчетДт =планысчетов.Хозрасчетный.НайтиПоКоду("50.01"); Движение.СчетКт = планысчетов.Хозрасчетный.НайтиПоКоду("62.03"); Движение.Организация = Организация; Движение.Сумма = СуммаДокумента-СуммаДокумента/10; КонецЦикла; // регистр Хозрасчетный //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ КонецПроцедуры // ОбработкаПроведения Добавишь в типовую, то ты сознательно похеришь весь типовой механизм, чем у бухов отберешь операции, которые до этого работатли. |
|||
|
33
Великий мыслитель
09.03.10
✎
09:58
|
(32)
Я скопирую типовой механизм, а свой по условию добавлю. |
|||
|
34
luckyluke
09.03.10
✎
09:59
|
(33)
Я сдаюсь, ты победил, добавляй. |
|||
|
35
Великий мыслитель
09.03.10
✎
09:59
|
(34)
а что, будут негативные последствия? |
|||
|
36
ASU_Diamond
09.03.10
✎
10:01
|
(35) для начала подумай как будешь обновляться
|
|||
|
37
luckyluke
09.03.10
✎
10:03
|
(35)
Почему-то я в этом не сомневаюсь, ты не понимаешь как работает типовая конфигурация, но уже с рвением собрался править её. Это как взять работающую машину с работающим двигателем, не зная как она устроена с уверенностью улучшения начнешь в двигатель добавлять свои "улучшения". |
|||
|
38
Великий мыслитель
09.03.10
✎
10:04
|
(36)
обновления раз в полгода. Обновлю, а потом скопирую свой код туда. |
|||
|
39
Великий мыслитель
09.03.10
✎
10:19
|
О, я все таки сделал это. И старые документы не похерились и новые работают как надо. Кто сомневался в моем плане - сосут!
Процедура ОбработкаПроведения(Отказ, Режим) //в разработке Перем СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаОплата; // Заголовок для сообщений об ошибках проведения. Заголовок = ОбщегоНазначения.ПредставлениеДокументаПриПроведении(Ссылка); // Проверка ручной корректировки Если ОбщегоНазначения.РучнаяКорректировкаОбработкаПроведения(РучнаяКорректировка,Отказ,Заголовок,ЭтотОбъект) Тогда Возврат КонецЕсли; ПодготовитьСтруктуруШапкиДокумента(Заголовок, СтруктураШапкиДокумента, Отказ); ЕстьРасчетыСКонтрагентами = УправлениеДенежнымиСредствами.ЕстьРасчетыСКонтрагентами(ВидОперации); ЕстьРасчетыПоКредитам = УправлениеДенежнымиСредствами.ЕстьРасчетыПоКредитам(ВидОперации); // Документ должен принадлежать хотя бы к одному виду учета (бухгалтерский, налоговый) ОбщегоНазначения.ПроверитьПринадлежностьКВидамУчета(СтруктураШапкиДокумента, Отказ, Заголовок); ПроверитьЗаполнениеДокумента(Отказ, Заголовок, СтруктураШапкиДокумента); //Проверим на возможность проведения в БУ и НУ Если ЕстьРасчетыСКонтрагентами или ЕстьРасчетыПоКредитам тогда Для каждого СтрокаОплаты из РасшифровкаПлатежа Цикл УправлениеВзаиморасчетами.ПроверкаВозможностиПроведенияВ_БУ_НУ(СтруктураШапкиДокумента,СтрокаОплаты.ДоговорКонтрагента, Отказ, Заголовок,"Строка "+СтрокаОплаты.НомерСтроки+" - "); КонецЦикла; КонецЕсли; Если Не Отказ Тогда ДвиженияПоРегистрам(Режим, Отказ, Заголовок, СтруктураШапкиДокумента); КонецЕсли; ///--------------------------------------------------------------------------------------доработка Если этотобъект.ВидОперации=перечисления.ВидыОперацийПКО.ОплатаПокупателя тогда ОбщегоНазначения.УдалитьДвиженияРегистратора(ЭтотОбъект, Отказ, РучнаяКорректировка); Для Каждого ТекСтрокаРасшифровкаПлатежа Из РасшифровкаПлатежа Цикл // регистр Хозрасчетный Движение = Движения.Хозрасчетный.Добавить(); Движение.Период = Дата; Движение.СчетДт = планысчетов.Хозрасчетный.НайтиПоКоду("50.01"); Движение.СчетКт = планысчетов.Хозрасчетный.НайтиПоКоду("62.01"); Движение.Организация = Организация; Движение.Сумма = СуммаДокумента/10; БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт, "Контрагенты", этотобъект.Контрагент); БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт, "Договоры", этотобъект.ДоговорКонтрагента); БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт, 3, этотобъект.Основание); Движение.Содержание = "Поступление денежных средств"; Движение = Движения.Хозрасчетный.Добавить(); Движение.Период = Дата; Движение.СчетДт =планысчетов.Хозрасчетный.НайтиПоКоду("50.01"); Движение.СчетКт = планысчетов.Хозрасчетный.НайтиПоКоду("62.03"); Движение.Организация = Организация; Движение.Сумма = СуммаДокумента-СуммаДокумента/10; БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт, "Контрагенты", этотобъект.Контрагент); БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт, "Договоры", этотобъект.ДоговорКонтрагента); Движение.Содержание = "Поступление денежных средств"; БухгалтерскийУчет.УстановитьСубконто(Движение.СчетКт, Движение.СубконтоКт, 3, этотобъект.Основание); КонецЦикла; конецесли; ///--------------------------------------------------------------------------------------доработка КонецПроцедуры // ОбработкаПроведения |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |