Имя: Пароль:
1C
1С v8
Автоматически рассчитать табличную часть
0 igel1969
 
31.01.14
11:05
Пишу программу, которая перебрасывает документы из сторонней программы в 1С.
В документе реализации товаров и услуг создал строки табличной части, в которые заполнил Количество, Цену и ставку НДС. В принципе я мог бы рассчитать и все остальные поля из этой информации, но боюсь ошибиться в округлениях, поэтому хочу узнать - а нет ли какой процедуры, которая по имеющейся информации рассчитывает все остальное, что положено?
1 azernot
 
31.01.14
11:07
Конечно есть, называется
РасчитатьВсеОстальноеЧтоПоложеноПравильноСУчетомВсехОкругленийИИменноВМоейКонфигурации()
2 Wobland
 
31.01.14
11:07
в платформе - нет
3 igel1969
 
31.01.14
11:09
azernot, как остроумно.
Учитывая, что я не 1С-ник, как надо в 1С: сперва сосчитать все суммы по строкам и потом округлить или наоборот - сперва каждую сумму в строке округлить, а потом сосчитать сумму?
если НДС в т.ч., то в одном случае может не сойтись сумма строк по Сумме, а в другом не сойтись сумма строк по СуммаНДС
4 igel1969
 
31.01.14
11:11
azernot, поскольку я сомневаюсь как правильно, потому и хотел бы, чтобы 1С сама рассчитала все как у нее принято
5 azernot
 
31.01.14
11:11
(3) Если ты не 1С-ник, зачем взялся за это дело?

Давай для начала определим, что за конфигурация у тебя и что за документ ты грузишь?
6 Wobland
 
31.01.14
11:11
часто иногда бывает в модулях менеджеров документов нужное
7 vhl
 
31.01.14
11:11
(1) У меня короче - "ПосчитатьВсеПравильно()"
8 Зойч
 
31.01.14
11:12
а что сумма ндс по строке в сторонней программе имеет точность более 2х знаков?
9 Wobland
 
31.01.14
11:12
+(6) когда я пилил типовые правила переноса в бухию, много такого встречал
10 igel1969
 
31.01.14
11:12
Бухгалтерия предприятия, редакция 2.0 (2.0.53.10)
документ Реализация товаров и услуг, табличная часть - товары
11 azernot
 
31.01.14
11:12
(3) В расчёте самое главное чтобы с исходными данными сошлись СуммаВсегоСНДС и СуммаНДС. Вот и организовывай пересчёт исходя из этого.
12 vhl
 
31.01.14
11:13
(4) Воспользуйся типовой конфой где все это уже решено.
13 igel1969
 
31.01.14
11:13
(11) спасип, попробую
14 azernot
 
31.01.14
11:13
(10) Отлично, теперь давай определимся что и в каком виде у тебя есть на вход?
15 igel1969
 
31.01.14
11:15
(14) есть строка в табличной части, где я уже заполнил поля Номенклатура, количество и ставкаНДС
16 igel1969
 
31.01.14
11:15
(14) есть строка в табличной части, где я уже заполнил поля Номенклатура, количество, Цена и ставкаНДС
17 Wobland
 
31.01.14
11:16
а ещё можно сторонней программой сформировать правильную XMLку...
18 azernot
 
31.01.14
11:16
(15) Данных для расчёта явно недостаточно.. Должна быть как минимум Цена и знание того, включает ли Цена НДС. Ну а может у тебя уже есть Сумма, Сумма НДС и Всего?
19 azernot
 
31.01.14
11:16
(16) Цена с НДС или без НДС?
20 azernot
 
31.01.14
11:19
Нужно правильно заполнить шапку документа (флаги УчитыватьтНДС и СуммаВключаетНДС)

ТОгда после заполнения известных данных можно применить методы:
ОбработкаТабличныхЧастей.РассчитатьСуммуТабЧасти(ТекущаяСтрока, ЭтотДокумент);
ОбработкаТабличныхЧастей.РассчитатьСуммуНДСТабЧасти(ТекущаяСтрока, ЭтотДокумент);
21 igel1969
 
31.01.14
11:19
Цена уже с НДС, и во всем документе сумма включает НДС. это поле в Документе я заполняю
22 igel1969
 
31.01.14
11:20
(20) да, все заполняю в шапке
23 igel1969
 
31.01.14
11:20
(20) ща попробую, спасибо.
24 igel1969
 
31.01.14
11:23
Урааа, все рассчитало и итоговые суммы тоже сама проставила.
25 igel1969
 
31.01.14
11:24
Урааа, все рассчитало само, и итоговые суммы документа проставило
26 azernot
 
31.01.14
11:25
(25) Поздравляю. Теперь ты умеешь правильно задавать вопросы на мисте.
27 igel1969
 
31.01.14
11:26
(26) ага, но согласись, что я более правильно поступил, доверив все рассчитать самой 1С, нежели если бы я стал сам все умножать и делить и "впихивать" свои числа в табличную часть?
28 azernot
 
31.01.14
11:36
(27) Скорее соглашусь, хотя есть плюсы и минусы в любом варианте. Если вдруг писатели типовых конфигураций изменят имя метода, состав параметров или логику работы, твой механизм сломается. И наоборот, если вдруг у тебя изменятся входящие данные (например, цены будут без НДС, организация на упрощёнке или что-то подобное) и ты правильно определяешь флаги в шапке - механизм будет правильно работать и в этом случае.
29 ilyavorobyev
 
31.01.14
11:41
(0) почему самому не зайти в конфигуратор и в событиях табличной части не посмотреть процедуры которые отвечают за это?
Программист всегда исправляет последнюю ошибку.