|
v7: Выгружаются неправильные суммы в документах из 7.7 | ☑ | ||
---|---|---|---|---|
0
Vigor06
02.03.15
✎
09:55
|
Доброго дня!
Есть самописная обработка по выгрузке доков из ТиС 7.7 и загрузке потом в КА 7.7 Почему-то в определенный момент при выгрузке в документе указанны одни суммы НДС (10 и 18%),а в файле с выгрузкой - другие. Проверял отладчиком - там до момента выгрузки значения строки одна сумма,а в момент выгрузки - другая. Вообще база SQL-ная, но я работаю с файловой выгрузкой. есть подозрение,что началось это после свертки базы в новую. Но остатки все сходятся, в отчетах суммы верные,а в выгрузке - другие(( пробовал ТиС раза 3 прогонять - не помогает Хэлп( |
|||
1
ДенисЧ
02.03.15
✎
09:56
|
Ключевое слово - самописная. Ковыряй в эту сторону
|
|||
2
ЕруФдуч
02.03.15
✎
09:57
|
смотри, что конкретно выгружает в выгрузке (суммы из регистра, суммы из док и т д ) и как. Что за КА 7.7 ?
|
|||
3
Vigor06
02.03.15
✎
10:06
|
(1) Раньше все выгружалось хорошо, проблем не было.Обработка не менялась с 2010 года.
|
|||
4
ДенисЧ
02.03.15
✎
10:07
|
(3) Готовь три конверта тогда.
|
|||
5
Vigor06
02.03.15
✎
10:07
|
(2) Данные берутся из самого документа непосредственно.
|
|||
6
Vigor06
02.03.15
✎
10:08
|
(2)Комплексная Автоматизация
|
|||
7
mikecool
02.03.15
✎
10:08
|
(5) а для выгрузки откуда берутся?
|
|||
8
ДенисЧ
02.03.15
✎
10:09
|
(6) Комплексная автоматизация 77 ???
|
|||
9
Масянька
02.03.15
✎
10:09
|
(5) "Другие цифры" - насколько другие?
|
|||
10
VladZ
02.03.15
✎
10:11
|
(3) А данные? А алгоритм работы этих документов?
Возможно раньше цены были с НДС, а теперь без НДС. Или наоборот. |
|||
11
Vigor06
02.03.15
✎
10:12
|
(7) так из документов же)
|
|||
12
Vigor06
02.03.15
✎
10:13
|
(8) На мне суть куда это потом будет загружаться,нам важно - откуда и как
|
|||
13
Vigor06
02.03.15
✎
10:14
|
(9) например,вместо сумм 2826,91 и 1610,00 выгружаются 2750,64 и 1655,48
|
|||
14
Vigor06
02.03.15
✎
10:15
|
(10) Данные берутся из документов. В документе они одни,в файле выгрузки - другие
|
|||
15
Масянька
02.03.15
✎
10:15
|
(13) Суммы берутся из док-та или пересчитываются?
|
|||
16
mikecool
02.03.15
✎
10:16
|
(15) вот ты чудак человек! сказано же тебе - дерево там такое!!!
|
|||
17
Масянька
02.03.15
✎
10:18
|
(16) Ты видел это дерево? Или только слышал о нем?
|
|||
18
Vigor06
02.03.15
✎
10:18
|
(15) просто берутся
Например: Пока т.ПолучитьСтроку()<>0 Цикл стр="СТРОКА"+Разделитель+ ПолучитьПредставлениеЭлемента(т.Вид)+Разделитель+ ПолучитьКодноменклатурыПоВиду(т.Вид)+Разделитель+ ПолучитьПредставлениеЭлемента(т.Прод)+Разделитель+ ПолучитьПредставлениеЭлемента(т.СтавкаНДС)+Разделитель+ ПолучитьПредставлениеЭлемента(т.СуммаНДС)+Разделитель+ ПолучитьПредставлениеЭлемента(т.Сумма)+Разделитель; текст.ДобавитьСтроку(стр); КонецЦикла; в "ПолучитьПредставлениеЭлемента" имеем Если тип="Строка" Тогда зн=ПреобразоватьСтроку(зн); КонецЕсли; "Преобразоватьстроку" работает так: Функция ПреобразоватьСтроку(стр) стр=СтрЗаменить(стр,РазделительСтрок," "); Возврат стр; КонецФункции |
|||
19
Мимохожий Однако
02.03.15
✎
10:20
|
Смотри как заполнен объект т.
|
|||
20
Масянька
02.03.15
✎
10:35
|
(18) Сливается все в одну строку: число в строку, потом обратно - тут может собака порыться.
Все параметры (которые сливаются) есть (например, если нет какого параметра - происходит смещение и тупо берется не та сумма)? |
|||
21
lavalit
02.03.15
✎
10:44
|
Вообще то складыввать строку с числом... стремно как то....
согласен с (20) надо бы число представлять как строку. Разделитель какой пользуешь для отделения значений? |
|||
22
Злопчинский
02.03.15
✎
10:46
|
Блин
Мир тупеет на глазах |
|||
23
Vigor06
02.03.15
✎
11:12
|
Наврал я Вам.Пропустил строку.
Данные он берет из регистра Функция ПолучитьТаблицуДвижений(док,приход) т=СоздатьОбъект("ТаблицаЗначений"); т.НоваяКолонка("Вид","Перечисление.СтатусыПартии"); т.НоваяКолонка("СтавкаНДС","Перечисление.СтавкиНДС"); т.НоваяКолонка("Сумма","Число",15,2); т.НоваяКолонка("СуммаНДС","Число",15,2); т.НоваяКолонка("Прод","Число",15,2); рег=СоздатьОбъект("Регистр.ПартииНаличие"); рег.ВыбратьДвиженияДокумента(док); Пока рег.ПолучитьДвижение()<>0 Цикл Если рег.Приход<>приход Тогда Продолжить; КонецЕсли; Если рег.СтатусПартии=Перечисление.СтатусыПартии.Т_ВРознице Тогда Продолжить; КонецЕсли; т.НоваяСтрока(); т.Вид =рег.СтатусПартии; Если док.Вид()="ВозвратОтПокупателя" Тогда т.Прод =рег.ПродСтоимость; т.СтавкаНДС =рег.Номенклатура.СтавкаНДС; т.СуммаНДС =т.Прод*?(док.СуммаВклНДС=1,глВыделяемыйНДС(т.СтавкаНДС),глНачисляемыйНДС(т.СтавкаНДС));; т.Сумма =рег.СуммаБезНДС; ИначеЕсли (док.Вид()="СписаниеТМЦ") ИЛИ (док.Вид()="КомплектацияТМЦ") Тогда т.Сумма =рег.СуммаРуб; т.СтавкаНДС =ПолучитьСтавкуНДС(рег.СуммаРуб,рег.СуммаБезНДС,рег.Номенклатура); т.СуммаНДС =рег.СуммаРуб-рег.СуммаБезНДС; ИначеЕсли приход=1 Тогда // приход т.Сумма =рег.СуммаРуб; т.СтавкаНДС =ПолучитьСтавкуНДС(рег.СуммаРуб,рег.СуммаБезНДС,рег.Номенклатура); т.СуммаНДС =рег.СуммаРуб-рег.СуммаБезНДС; Иначе // расход т.Прод =рег.ПродСтоимость; т.СтавкаНДС =рег.Номенклатура.СтавкаНДС; т.СуммаНДС =т.Прод*?(док.СуммаВклНДС=1,глВыделяемыйНДС(т.СтавкаНДС),глНачисляемыйНДС(т.СтавкаНДС));; т.Сумма =рег.СуммаБезНДС; КонецЕсли; КонецЦикла; т.Свернуть("Вид,СтавкаНДС","Сумма,СуммаНДС,Прод"); т.Сортировать("Вид,СтавкаНДС"); Возврат т; КонецФункции Документы перепровел,последовательность восттановил - нулевой результат( |
|||
24
Vigor06
02.03.15
✎
11:13
|
(21) используется "~"
|
|||
25
Масянька
02.03.15
✎
11:14
|
(23) Брехун :))))
И что в регистре (цифры какие)? |
|||
26
Vigor06
02.03.15
✎
11:33
|
(25)Получается,что в документе так http://gyazo.com/4aa794177816181c60164780aae60924
а в регистре так http://gyazo.com/7408d527b1426a15a13f6cdf5f93e90b |
|||
27
Мимохожий Однако
02.03.15
✎
11:38
|
(26)А в выходном файле? Отладчик пытался включить?
|
|||
28
Vigor06
02.03.15
✎
11:41
|
(27) не дурак) вы выходном файлке он формирует ТЗ,сворачивает ее и получается вот что
http://gyazo.com/7901a552888a840e6a914650eaa68ac2 |
|||
29
Vigor06
02.03.15
✎
11:43
|
это не отладчик, но не суть
|
|||
30
Vigor06
02.03.15
✎
11:44
|
в отладчике вот так
http://gyazo.com/73e727f431fda47caa561e3d03d78857 |
|||
31
Мимохожий Однако
02.03.15
✎
11:51
|
В порядке эксперимента... Закомментируй т.Свернуть и посмотри родные цифры. Возможно, есть нулевые суммы, которые накладываются этим методом.
|
|||
32
Vigor06
02.03.15
✎
12:06
|
(31) в отладчике вот так...Как я понял,нужная нам - последняя строка
http://gyazo.com/a276eb19e61e8a214789a4e0bbf35fbd Пустых нет |
|||
33
Мимохожий Однако
02.03.15
✎
13:02
|
Эта "нужная" строка правильная? в файл попадает?
|
|||
34
Vigor06
02.03.15
✎
13:21
|
(33)В файл попадает строка(если мы не сворачиваем)
СТРОКА~Т_Купленный~00000014~29.87~НДС18~4.56~28.81~ Вроде все верно,но значит где то что то не совпадает,раз итоговые суммы расходятся |
|||
35
Vigor06
02.03.15
✎
13:36
|
нашел!Не все просмотрел,но пример нашел
В документе в строке №8 сумма 68.92, Ставка НДС 18% СуммаНДС 10,51 В документе сумма 68,92, Ставка НДС 10% ,сумма нДС 6,27 В регистре вообще такая х-ня http://gyazo.com/be2e9622142490e9b9c400bea703c8f0 |
|||
36
Vigor06
02.03.15
✎
13:39
|
||||
37
Масянька
02.03.15
✎
13:45
|
(35) (36) НДС с сумме или сверху?
|
|||
38
Vigor06
02.03.15
✎
14:20
|
(37) в документе - "В т.ч"
|
|||
39
Масянька
02.03.15
✎
14:24
|
(38) Это - "в сумме". Считай: Сумма*18/118 = твой НДС.
По твоим цифрам (35) - нормально считается НДС. |
|||
40
Vigor06
02.03.15
✎
14:34
|
(39)А то,что разные ставки НДС там - Вас не смущает?))
В обработке же сумма НДС рассчитывается относительно константы документа "СуммаВклНдс" То есть сумму НДС он не переносит,а высчитывает т.СуммаНДС =т.Прод*?(док.СуммаВклНДС=1,глВыделяемыйНДС(т.СтавкаНДС),глНачисляемыйНДС(т.СтавкаНДС));; |
|||
41
Масянька
02.03.15
✎
14:43
|
(40) Нет, не смущает. Вполне допустимы разные ставки НДС в одном документе.
А константа "СуммаВклНДС" определяет: в сумме НДС или сверху. "т.СтавкаНДС" - должна браться из обрабатываемой строки. |
|||
42
Vigor06
02.03.15
✎
14:48
|
(41)ненене,уважаемая)То,что в одном документе - это ясно.
Но у нас в документе ставка номенклатуры 18%,а в документ почему то выгружается 10% |
|||
43
Масянька
02.03.15
✎
14:51
|
(42) А это уже - проблемы обработки, которая выгружает.
Вы, уважаемый, сначала клялись и божились, что суммы выгружаются из док-та. А оказалось - из регистра. Я не удивлюсь, если и ставка НДС выгружается, например, из номенклатуры (справочника). Так что - Пилите, Шура, пилите (С) |
|||
44
Vigor06
02.03.15
✎
14:51
|
Ставка НДС берется из номенклатуры т.СтавкаНДС =рег.Номенклатура.СтавкаНДС;
|
|||
45
Vigor06
02.03.15
✎
14:52
|
(43) так дело в том,что еще пару месяцев назад все выгружалось и сходилось!
Проблемы вылезла совсем недавно(подозреваю,что после свертки) |
|||
46
Vigor06
02.03.15
✎
14:52
|
Причем сходилось и выгружалось с помощью этой же обработки,которую уже несколько лет не допиливали
|
|||
47
Pahomich
02.03.15
✎
14:53
|
(45) Справочники НДС покопай в обоих базах
|
|||
48
Масянька
02.03.15
✎
15:00
|
(45) Большой, а в деда Мороза веришь (С)
Пилите, Шура, пилите (С) |
|||
49
VladZ
02.03.15
✎
19:56
|
(45) "подозреваю,что после свертки". Гадать лучше всего на кофейной гуще. Миллион причин сразу найдется.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |