Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Как сложить "Сумму" из трех документов , В отчете неправильно считается сумма          
wmatik Подменю пользователя
сообщение 31.05.11, 9:50
Сообщение #1

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

1С Предприятие 7.7(сетевая версия) - 7.70.027
Конфигурация: Производство-Услуги-Бухгалтерия для Украины(7.70.010)
В отчет выводится непонятная сумма, надо её (сумму) брать из трех разных видов документов "ПриходнаяНакладнаяЗапасы","ПриходнаяНакладнаяГТД", "ПриходнаяНакладнаяПрочие". Когда указываю документы "запасы" и "прочие", сумму считает правильно, как только добавляю еще и "гтд" вообще какую-то непонятную сумму выдает.
        Если (Док.Вид() = "ПриходнаяНакладнаяЗапасы") ИЛИ
                       (Док.Вид() = "ПриходнаяНакладнаяПрочие") Тогда
                        (Док.Вид() = "ПриходнаяНакладнаяГТД") Тогда    
            Док.ВыбратьСтроки();
            Сумма = 0;
            Пока Док.ПолучитьСтроку() = 1 Цикл
                Если ПустоеЗначение(Док.КодДК) = 1 Тогда
                    Продолжить;
                КонецЕсли;
                Если (ПустоеЗначение(ВыбКод) = 0)и((Лев(СокрЛП(Док.КодДК),СтрДлина(СокрЛП(ВыбКод))) <> СокрЛП(ВыбКод))или(СтрДлина(СокрЛП(ВыбКод))>СтрДлина(СокрЛП(Док.КодДК)))) Тогда
                    Продолжить;
                КонецЕсли;
                
                Табл.НоваяСтрока();
                Табл.КодДК = Док.КодДК;    
                Сумма = глПересчет(Док.СуммаСНДС,Док.Валюта,Док.ДатаДок,Гривня,Док.ДатаДок,Док.ДатаДок);// Док.СуммаСНДС;
                Если ПрошлГод = СокрЛП(ПериодСтр(НачГода(Док.ДатаДок),КонГода(Док.ДатаДок))) Тогда
                    Табл.ПрошлФакт = Сумма;
                ИначеЕсли ЭтотГод = СокрЛП(ПериодСтр(НачГода(Док.ДатаДок),КонГода(Док.ДатаДок))) Тогда
                    Табл.УстановитьЗначение(Табл.КоличествоСтрок(),"мес"+Строка(ДатаМесяц(Док.ДатаДок))+"_факт",Сумма);
                КонецЕсли;
            КонецЦикла;
        Иначе  
            Сумма = 0;
            Если ПустоеЗначение(Док.Закупки) = 1 Тогда
                Продолжить;
            КонецЕсли;  
            Если (ПустоеЗначение(ВыбКод) = 0)и((Лев(СокрЛП(Док.Закупки),СтрДлина(СокрЛП(ВыбКод))) <> СокрЛП(ВыбКод))или(СтрДлина(СокрЛП(ВыбКод))>СтрДлина(СокрЛП(Док.Закупки)))) Тогда
                Продолжить;
            КонецЕсли;
            
            Если Док.Вид() = "ПлатежноеПоручение" Тогда
                Сумма = глПересчет(Док.СуммаСНДС,Док.РСчет.Валюта,Док.ДатаДок,Гривня,Док.ДатаДок,Док.ДатаДок);// Док.СуммаСНДС;
            Иначе
                Сумма = глПересчет(Док.СуммаВал,Док.РСчет.Валюта,Док.ДатаДок,Гривня,Док.ДатаДок,Док.ДатаДок);// Док.СуммаВал;
            КонецЕсли;
            Табл.НоваяСтрока();
            Табл.КодДК = Док.Закупки;
            Если ПрошлГод = СокрЛП(ПериодСтр(НачГода(Док.ДатаДок),КонГода(Док.ДатаДок))) Тогда
                Табл.ПрошлФакт = Сумма;
            ИначеЕсли ЭтотГод = СокрЛП(ПериодСтр(НачГода(Док.ДатаДок),КонГода(Док.ДатаДок))) Тогда
                Табл.УстановитьЗначение(Табл.КоличествоСтрок(),"мес"+Строка(ДатаМесяц(Док.ДатаДок))+"_факт",Сумма);
            КонецЕсли;
        КонецЕсли;



Вторая строка так выглядит:
(Док.Вид() = "ПриходнаяНакладнаяПрочие") ИЛИ


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

-=VJ=- Подменю пользователя
сообщение 31.05.11, 10:05
Сообщение #2

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Отладчиком параметры процедуры глПересчет проверяли?


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

wmatik Подменю пользователя
сообщение 31.05.11, 10:06
Сообщение #3

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

не умею пользоваться отладчиком(


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

-=VJ=- Подменю пользователя
сообщение 31.05.11, 10:22
Сообщение #4

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Ну впишите Перед глПересчет
Сообщить(Док.Валюта.Курс.Получить(Док.ДатаДок));
Сообщить(Гривня.Курс.Получить(Док.ДатаДок));


Скорее всего у вас где-то получилась путаница в курсах валют - в отличии от остальных документов в ГТД она может не быть гривней с курсом 1.

Сообщение отредактировал -=VJ=- - 31.05.11, 10:23


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Спасибо сказали: wmatik,

wmatik Подменю пользователя
сообщение 31.05.11, 10:49
Сообщение #5

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

Вот такое выдает:
2.6224
1
2.6224
1
1
1
1
1
1
1
1
1
1
1
2.7725
1
1
1
1
1
796.47
1
1
Т.е. это разные курсы были я так понимаю, только вот что за число 796, 47

разобралась, 796,47 курс по доллару
Так что,получается все правильно работает?)


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

-=VJ=- Подменю пользователя
сообщение 31.05.11, 11:15
Сообщение #6

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(wmatik @ 31.05.11, 10:49) *
разобралась, 796,47 курс по доллару
Так что,получается все правильно работает?)


Получается да - просто Вы не учли пересчета валютных сумм.


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

wmatik Подменю пользователя
сообщение 31.05.11, 12:02
Сообщение #7

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

а как учесть? и стоит ли это делать?


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

-=VJ=- Подменю пользователя
сообщение 31.05.11, 13:44
Сообщение #8

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Оно уже учтено.
посчитайте гривневое покрытие - должна сумма сходиться.


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

wmatik Подменю пользователя
сообщение 31.05.11, 14:10
Сообщение #9

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

в том то и дело, что в документе ГТД в валюте например указывается курс 10руб=2,71 грн., в колонка СуммаСНДС сумма уже в грн, а в отчете выдается эта сумма в грн умноженная на 0,271, в общем заново почему то переводит, и получается например в доке 1 190 205грн, а в отчете 322 545,555


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

-=VJ=- Подменю пользователя
сообщение 31.05.11, 14:44
Сообщение #10

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Цитата(wmatik @ 31.05.11, 14:10) *
в общем заново почему то переводит, и получается например в доке 1 190 205грн, а в отчете 322 545,555


Не почему-то, а потому что в модуле так.
Если во всех трех документах сумма уже в гривневом покрытии - тогда просто закомментируйте строки пересчета и сделайте

Сумма = Док.СуммаСНДС;


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Спасибо сказали: wmatik,

wmatik Подменю пользователя
сообщение 31.05.11, 15:11
Сообщение #11

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

так правильно считает, только вот не могу сообразить зачем все таки эта функция нужна.


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

-=VJ=- Подменю пользователя
сообщение 31.05.11, 15:58
Сообщение #12

Оратор
Иконка группы
Группа: Местный
Сообщений: 402
Из: Киев
Спасибо сказали: 73 раз
Рейтинг: 0

Пересчет суммы из одной валюты в другую.
Очевидно автор подразумевал, что в документах валюта суммы зависит от реквизита документа Валюта и забыл, что многие из них в табличной части уже содержат пересчитанные суммы.


Signature
Живу на VJ.net.ua.
Спілкуюсь в ЖЖ

Спасибо сказали: wmatik,

wmatik Подменю пользователя
сообщение 01.06.11, 6:48
Сообщение #13

Оратор
*****
Группа: Пользователи
Сообщений: 294
Спасибо сказали: 1 раз
Рейтинг: 0

разобралась, все стало ясно, спасибо за помощь -=VJ=-


Signature
1С Предприятие 7.7(сетевая версия) - 7.70.027,Конф: ПУБ(7.70.010)

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 19.06.24, 17:08
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!