|
БП 2.0 Зачет авансов | ☑ | ||
---|---|---|---|---|
0
Evgen54
25.12.11
✎
20:23
|
У меня в БП 1.6 в Общие-ОбщиеМодули-БухгалтерскийУчетРасчетовсКонтрагентами была функция "ЗачетАвансов". Она была дописана. Где в БП 2.0 сейчас эта функция? Неужели ее в каждый документ запихали??? Подскажите пжл.
|
|||
1
Aleksey
25.12.11
✎
20:25
|
зачем она нужна?
|
|||
2
Aleksey
25.12.11
✎
20:27
|
В конфигураторе работает поиск, который показывает, что теперь в каждом доке своя процедура
// Зачет авансов ТаблицаЗачетаАвансов = ПодготовитьТаблицуЗачетаАвансов(СтруктураШапкиДокумента); ПроверитьЗаполнениеТабличнойЧастиЗачетАвансов(ТаблицаЗачетаАвансов, СтруктураШапкиДокумента, Отказ, Заголовок); ... // Движения по документу Если Не Отказ Тогда ДвиженияПоРегистрам( РежимПроведения, СтруктураШапкиДокумента, ТаблицаПоТоварам, ТаблицаПоТаре, ТаблицаПоУслугам, ТаблицаПоАгентскимУслугам, ТаблицаЗачетаАвансов, Отказ, Заголовок); КонецЕсли; |
|||
3
Evgen54
25.12.11
✎
20:29
|
У меня в документе "ПоступлениеТоваровУслуг" надо дописать отдельным полем зачет авансов в шапке. Дописать то дописал а как проводку сделать не могу додумать. Переношу базу из 1.6 в 2.0
|
|||
4
Evgen54
25.12.11
✎
20:38
|
Помогите сделать проводку документу. Я так понимаю надо редактировать эту функцию или я не прав?
Функция ПодготовитьТаблицуЗачетаАвансов(СтруктураШапкиДокумента) Если СтруктураШапкиДокумента.СпособЗачетаАвансов <> Перечисления.СпособыЗачетаАвансов.ПоДокументу Тогда //И СтруктураШапкиДокумента.ЗачетСуммыАванса = 0 Тогда ТаблицаЗачетаАвансов = ЗачетАвансов.ВыгрузитьКолонки(); Иначе //ТаблицаЗачетаАвансов.ДокументАванса = СтруктураШапкиДокумента.СчетДоговораАванс; //ТаблицаЗачетаАвансов.СуммаЗачета = СтруктураШапкиДокумента.ЗачетСуммыАванса; ТаблицаЗачетаАвансов = ЗачетАвансов.Выгрузить(); ТаблицаЗачетаАвансов.Свернуть("ДокументАванса", "СуммаЗачета"); КонецЕсли; ТаблицаЗачетаАвансов.Колонки.ДокументАванса.Имя = "ДокументРасчетов"; ТаблицаЗачетаАвансов.Колонки.СуммаЗачета.Имя = "СуммаВзаиморасчетов"; Возврат ТаблицаЗачетаАвансов; КонецФункции |
|||
5
Evgen54
25.12.11
✎
20:42
|
комментарии это мои пробы. что-то не получается ели так дописать. Ругается что тип неверный.
|
|||
6
Aleksey
25.12.11
✎
20:43
|
Нет, см дальше
Процедура ДвиженияПоРегистрам(РежимПроведения, СтруктураШапкиДокумента, ... ТаблицаВзаиморасчетов = УправлениеВзаиморасчетами.ЗачестьАвансКонтрагента( СтруктураШапкиДокумента, ТаблицыДокумента, ТаблицаЗачетаАвансов, Проводки, СтруктураШапкиДокумента.НДСВключенВСтоимость, Отказ, Заголовок); Смотри что делается в УправлениеВзаиморасчетами.ЗачестьАвансКонтрагента |
|||
7
Aleksey
25.12.11
✎
20:47
|
Хотя хз что там тебе нужно
|
|||
8
Evgen54
25.12.11
✎
21:04
|
Aleksey! У меня есть в документе поле ЗачетАванса и стоит галочка ПроизвольнаяСуммаАванса мне нужно чтобы он просто тупо делал проводку с 60.02 на 60.01 сумму которая указана в поле ЗачетАванса. Можете мне помочь в этом?
|
|||
9
Ногаминебить
25.12.11
✎
21:15
|
Конечно будет ругаться на тип. Надо не колонке таблицы присваивать, а конкретной строке.
Ну хотя бы //ТаблицаЗачетаАвансов[НомерСтроки].ДокументАванса = СтруктураШапкиДокумента.СчетДоговораАванс; //ТаблицаЗачетаАвансов[НомерСтроки].СуммаЗачета = СтруктураШапкиДокумента.ЗачетСуммыАванса; Только с НомерСтроки нужным опеределиться необходимо. :) |
|||
10
Evgen54
25.12.11
✎
21:19
|
При произвольном зачете авансов строка вообще одна. Их не может быть больше одной.
|
|||
11
Evgen54
25.12.11
✎
21:23
|
тоесть мне надо написать
ТаблицаЗачетаАвансов.Строка1.ДокументАванса = СтруктураШапкиДокумента.СчетДоговораАванс;? |
|||
12
Ногаминебить
25.12.11
✎
21:24
|
(10) Ну таблица-то сначала 1Ской я так понимаю формируется какая-то. Если она пустая - строку надо добавить, если строка действительно одна - ну значит хорошо и просто подменить значения в ней, если строк больше одной - лишние придется удалять иначе все будет очень криво.
|
|||
13
Ногаминебить
25.12.11
✎
21:25
|
(11) ТаблицаЗачетаАвансов[0].ДокументАванса = СтруктураШапкиДокумента.СчетДоговораАванс;
Но вообще так нельзя. Надо сначала проверить, а что там в таблице есть. |
|||
14
Evgen54
25.12.11
✎
21:29
|
Там нет таблицы. Таблица появляется только после того как ставлю галочку "СписокДокументов". А в обычном режиме там просто 2 поля ДокументАванса и СуммаЗачета.
|
|||
15
Evgen54
25.12.11
✎
21:36
|
Пишет "Получение документов по индексу не определенно"
|
|||
16
Evgen54
25.12.11
✎
21:42
|
Стоп. Я по моему понял. Принятый документ с БП 1.6 содержит только поле и ее значение в шапке документа, а таблицы то вообще нету. При проведении документа нужно наверно еще создать таблицу сначала а потом что-то присваивать? Я прав?
|
|||
17
Aleksey
25.12.11
✎
21:42
|
(8) А он разве так не делает? Если указать в ТЧ сумму он ее и возьмет
В БП 1.6 вроде бы не было такого механизма |
|||
18
Evgen54
25.12.11
✎
21:53
|
в 1.6 такого механизма не было. Его дописали вручную. в 2.0 такой механизм появился, но по стандартному раскладу ему надо поставить в поле "ЗачетАвансов" выбрать "По Документу" из перечислений и тогда он создает дополнительную таблицу значений "ЗачетАвансов" в которой можно выбрать из базы документ авансов. Это бухи будут делать дальше, а мне данные за этот год перенести надо!
|
|||
19
Evgen54
25.12.11
✎
22:00
|
Я сейчас и хочу чтобы при проведении создалась таблица со значениями ЗачетаАвансов из шапки документа.
|
|||
20
Aleksey
25.12.11
✎
22:08
|
(18) И в чем проблема при загрузки установить нужные реквизиты? Зачем модуль типовой бухии то трогать?
|
|||
21
Evgen54
25.12.11
✎
22:12
|
хм. А как?
|
|||
22
Evgen54
25.12.11
✎
22:14
|
Я так понимаю нужно дописать в Обработчике событий после выгрузки?
у меня там дописано Так: Если Объект.Контрагент=Справочники.Контрагенты.ПустаяСсылка() Тогда Объект.Контрагент=Объект.ДоговорКонтрагента.Владелец; КонецЕсли; Попытка Объект.Записать(РежимЗаписиДокумента.Проведение) Исключение Объект.Записать(РежимЗаписиДокумента.Запись) КонецПопытки Что нужно подправить Подскажите? |
|||
23
Aleksey
25.12.11
✎
22:24
|
А что там должно быть? Какой документ?
|
|||
24
Aleksey
25.12.11
✎
22:24
|
Ты его тоже выгружаешь или ищешь?
|
|||
25
Evgen54
25.12.11
✎
22:31
|
Это выгрузка документа "ПоступлениеТоваровУслуг" в нем в шапке есть поле ЗачетСуммыАванса и СчетДоговораАванс. В 2.0 При проведении если есть "ТаблицаЗачетаАвансов" он проводит суммы аванса которые в этой таблице. т.е. при переносе нужно создать ТаблицуЗачетаАвансов с двумя колонками, "ДокументАванса" и "СуммаЗачета", и вставить данные из документа 1.6 соответственно "СчетДоговораАванс" и "ЗачетСуммыАванса".
|
|||
26
Aleksey
25.12.11
✎
22:33
|
(25) Документ аванса - это выписка или ПКО, т.е. то что создало аванс, а не счет на оплату
|
|||
27
Aleksey
25.12.11
✎
22:34
|
А так в КД это будет выглядит примерно так http://screencast.com/t/myCDomgax
|
|||
28
Evgen54
25.12.11
✎
22:35
|
Это СчетДоговораАванс - это может быть и платежка и выписка
|
|||
29
Aleksey
25.12.11
✎
22:37
|
(28) Тогда смотри мультик и делай как в кино
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |