Имя: Пароль:
1C
1C 7.7
v7: ТиС 77. Из каких данных формируется отчет о движениях документа ?
0 raykom
 
27.01.13
18:55
Спасайте мою психику, граждане подельники ...

Как так может быть ? Документ реализация - в ТЧ имеем
В колонке сумма - одну цифру. Ну, например 117,69, а в отчете по движениям документа - имеем в движениях - 120 рублей ?
Ну и в отчетах по реализации - такая же хурма ...

Откуда берут данные отчет по движениям и по реализации ???

Бамагити ...
50 raykom
 
29.01.13
14:32
(49)Я его не трогал. Но при чем тут движения и как с этим бороться ?
51 raykom
 
29.01.13
14:32
Может его тупо очищать при записи дока ?
52 raykom
 
29.01.13
14:32
Lf/ 'nj NbC
53 abfm
 
29.01.13
14:33
Идет пересчет табличной части и суммы взаимозачетов. По какому регистру не идет?
54 raykom
 
29.01.13
14:33
Да, это ТиС
55 raykom
 
29.01.13
14:34
(53)С этого тема начиналась.

ХЗ, откуда движения формируются по кнопке действия и по РКМ на документе в жургале
56 raykom
 
29.01.13
14:34
Не идут движения ни так ни так
57 raykom
 
29.01.13
14:36
Нуко попробую пересчитать
58 abfm
 
29.01.13
14:37
Остатки, продажи и партии идут всегда, взаимозачеты по реквизиту шапки. Это не Уриб?
59 raykom
 
29.01.13
14:40
ТиС
60 starter1c
 
29.01.13
14:41
В доке есть параметр "автоматическое удаление движений". Как-то в самописке сталкнулся что при корректировке проведенного дока (изменении числа строк, цифр) старые движения не удалялись, был такой хаос.......
61 raykom
 
29.01.13
14:41
(58)>Остатки, продажи и партии идут всегда, взаимозачеты по реквизиту шапки

Ниченипонял
62 raykom
 
29.01.13
14:42
(60)Ммм .. Дак я его не трогал.
63 raykom
 
29.01.13
14:44
(60)Проверил - не стоит.
64 starter1c
 
29.01.13
14:45
(62) лучше если галка стоит.
без нее движения удалялись, только если сделать непроведенным, затем провести,
65 raykom
 
29.01.13
14:45
Надо в типовой глянуть
66 raykom
 
29.01.13
14:47
Так и в типовой не стоит
67 abfm
 
29.01.13
14:49
(66)Там есть процедура удалить движения документа.
68 starter1c
 
29.01.13
14:49
с каких это пор типовая для Вас эталон?
если например док пишет при проведении значения в справочник, проводится, затем удаляются строки и док перепроводится- то в удаленных строках остается, значение, которое было первоначально.... хотя это и неправильно..
69 raykom
 
29.01.13
15:23
При выгрузке снял признак выгрузки с реквизита СуммаВзаиморасчетов

Теперь при загрузке в другую базу в движениях пропадает продажная стоимость (значение реквизита сумма)

Вот пздец то какой ... Данные в доке есть, а сделать нихя нельзя. Мда.

Явно он влияент падла ... Как так то ...
При явных значениях высчитывать их херзнает откуда. Ну колдуны.

Буду думать как это непотребство пересчитывать.
70 Ёпрст
 
гуру
29.01.13
15:24
(50) ну праильно

"не трогал" -  ключевое слово.
71 raykom
 
29.01.13
15:29
(70)Нубля ... Я думал, что это совершенно производный реквизит от основных цифр ... А тут такая фигня.
Что то тут не правильно.
72 sapphire
 
29.01.13
15:29
(0) regprint.ert/docprint.ert, dev/head & dev/straight/hands тебе помогут.
73 raykom
 
29.01.13
15:32
Мне поможет маленькая монтировочка ...
74 raykom
 
29.01.13
15:32
Нет . Большая! Лом!
75 abfm
 
29.01.13
15:34
Это какая выгрузка загрузка дает раные цифры в документе?
76 raykom
 
29.01.13
15:35
Не в документе, а у докумета и движений документа разница.

Самопал. Сам документ переносится корректно.
77 raykom
 
29.01.13
15:41
+(76)Ну не совсем самопал. МОД - менеджер обмена данными чуток подпиленый. Настраивал по руководству. А в итоге такое блдство ... Уже четвертый день борюсь. Башка трещит от порожняка.
Незнал да еще забыл.
78 abfm
 
29.01.13
15:41
Сам документ переносится корректно.
Корень зла.
79 Ёпрст
 
гуру
29.01.13
15:42
(77) дык ты с движениями переносишь, или нет ?
80 Ёпрст
 
гуру
29.01.13
15:43
если без них, то чего ты там гришь меняешь при переносе ?, таб часть ? И движения лепишь свои в базе приёмнике ?
Ежели да - пересчитывай сумму взаиморасчетов при этом и наслаждайся.
81 raykom
 
29.01.13
15:43
(78)Разверни мысль то ? А то дефицит интеллекта в тренде ...
Что из этой сентенции следует ?
Ошибочное представление о правильности переноса ?
82 raykom
 
29.01.13
15:44
(79)Движения отключены при выгрузке, а при загрузке стоит признак необходимости проведения.
83 sapphire
 
29.01.13
15:46
(0) Мож там тупо округление стоит?
84 raykom
 
29.01.13
15:47
(80)>чего ты там гришь меняешь при переносе

При загрузке менятю в шапке тип цены и значения цены и суммы пересчитываю и подписываю в ТЧ при загрузке, потом провожу.
85 abfm
 
29.01.13
15:49
Боже, Пересчитай Сумму Взаиморасчетов!
86 raykom
 
29.01.13
15:49
(83)Да там пусть хй соит ...
Как после проведения дока можно получить разницу между ТЧ и Движениями дока ??? Вот пдец то

Окургление стоит, но оно корректно и я его снимал. Результат один.
87 raykom
 
29.01.13
15:49
(85)Ну я пробую кнешно ...
88 Ёпрст
 
гуру
29.01.13
15:51
(82) ну и круто, сами реквизиты в правилах выгрузки и ли загрузки меняешь при этом ? (или еще где в ПриВыгрузке..траля ля  ?)
Реквизит шапки суммавзаиморасчетов летит в базу ?
89 raykom
 
29.01.13
16:00
(88)в правилах выгрузки
В справочнике правил выгрузки как положени

@М_ПолучитьЦену(Док)                    Цена
@М_ПолучитьЦену(Док)*Док.Количество     Сумма
@Окр((М_ПолучитьЦену(Док)*Док.Количество)*глВыделяемыйНДС(Док.СтавкаНДС),2)                       СуммаНДС
90 raykom
 
29.01.13
16:02
(88)>Реквизит шапки суммавзаиморасчетов
Сначала да, я его не трогал.
Теперь попробовал отключить. В приемнике в движениях пропали суммы продаж.

Щас кубатурб что все эта муйня значит
91 abfm
 
29.01.13
16:03
8 лет притворялся?
92 raykom
 
29.01.13
16:03
Если сумму взаиморасчетов пересчитывать стандартной процедурой, то это надо делать в правилах загрузки по новым реквизитам цены и суммы.
93 raykom
 
29.01.13
16:04
(91)Умным ? Ну.
94 Ёпрст
 
гуру
29.01.13
16:11
(89) ну и круто, вот теперь тоже самое нужно написать в реквизите СуммаВзаиморасчетов, чтоб тоже новое значение туда летело, а не старое.
95 Ёпрст
 
гуру
29.01.13
16:12
@М_ПресчитатьСуммуВзаиморасчетов(Док)                    СуммаВзаиморасчетов

от типа того, где в ПресчитатьСуммуВзаиморасчетов пересчитаешь этот реквизит.. и усё.
96 raykom
 
29.01.13
16:13
(94)
Ну вот так примерно
@глТекущийДолг(Док.Фирма, Док.Договор, "покупатель") в правилах загрузки
97 raykom
 
29.01.13
16:14
(95)Дак, а стандартная глобальная не прокатит ?

>М_ПресчитатьСуммуВзаиморасчетов
И ты это откуда вытащил ? Сам придумал или в МОДе есть такая ??? Я чето не видел
98 raykom
 
29.01.13
16:17
(95)>@глТекущийДолг(Док.Фирма, Док.Договор, "покупатель")
Вот жто вот нормально возвращает значение (правда хз какое) при загрузке примера

Ну щас поробую эту химию.
99 Ёпрст
 
гуру
29.01.13
16:17
(97) конечно, у тя же есть глобальные ПолучитьЦену и т.д..
вот и напиши свою для пересчета, можешь и готовую взять с дока
100 raykom
 
29.01.13
16:18
(99)Дак глобальная стандартная норм вызывается из МОДа. ее и использую
101 abfm
 
29.01.13
16:18
Типовая, Потом плюс МОД <> Типовая.
102 raykom
 
29.01.13
16:19
(101)Ну понятное дело.
103 Ёпрст
 
гуру
29.01.13
16:20
(100) так и есть, только ПересчетСуммыВзаиморасчетов в форме дока торчит.. тебе придётся сделать свою в глобальничке, мод тока их видит
104 abfm
 
29.01.13
16:20
(101)Да ещё с пересчетом табличных данных.
105 Ёпрст
 
гуру
29.01.13
16:22
да и.. оригинально конечно, подменять цену в документе на цену из справочника. Это так и надо ?
:)
106 raykom
 
29.01.13
16:23
(103)Почему ? Я же говорю -
@глТекущийДолг(Док.Фирма, Док.Договор, "покупатель")

Нормально возвращает значение в форму справочника правил выгрузки.
107 raykom
 
29.01.13
16:24
(105)Я из спарвочника бкру бузовую и пересчитываю в соответствии с типом цены в шапке.
108 Ёпрст
 
гуру
29.01.13
16:25
(106) и.. какое отношение долг клиента имеет к суммевзаиморасчетов ?
Это же просто сумма за документ в целом, которую клиент будет должен
109 abfm
 
29.01.13
16:25
Долг <> Сумма документа который ещё не записан.
110 Ёпрст
 
гуру
29.01.13
16:25
(107) ага, вот и я грю, зачем ?
Продавали по одной цене, в другую базу летит по цене из справочника ?
:))

воруете ?
:)
111 raykom
 
29.01.13
16:27
(108)Емае ... Вот я туепень ... Точно ведь :)))

Какого хрена посмотрел в кнопку пересчет текущего долга на форме ...
Клинит уже.

(110) Да )) приворовываю
112 Ёпрст
 
гуру
29.01.13
16:29
(111) ага, не забудь поделиться!
113 raykom
 
29.01.13
16:35
(112)Да, блин, все как то беспонтово ... С таким пониманием 1с много не наворуешь биспалива ...
Говорила же мама - учись ...

Порожняки короче )) Один шум. Я доновогодние заморочки только допиливаю.

Но намек понял. Сроки то не динамил, так что кинут ченибудь.
114 Злопчинский
 
29.01.13
16:57
(111),(112) - Помедленее, я - записываю...
115 raykom
 
29.01.13
17:18
(114)Типа - Кто слышал тот в доле ? :D
116 Сияющий Асинхраль
 
29.01.13
17:33
(115) однозначно :-)
117 raykom
 
29.01.13
17:39
:)) Нифига вас тут и у всех со слухом порядок как погляжу
118 raykom
 
29.01.13
17:48
Короче я приплыл. Какой то некорректный передача парамета. Теряется где то или лишний, а где не пойму.

В МОД забубенил  стандартную процедуру, только название подпилил и объектдобавил для необходимых раквизитов
"Док." Его параметром передаю из формы справочника "Правила загрузки"

Функция М_ПересчетСуммыВзаиморасчетов(Док)
   
   // Для контроля необходимости пересчетов
   
   Если ПустоеЗначение(Док.Договор.ВалютаВзаиморасчетов)=1 Тогда
       Если Док. СуммаВзаиморасчетов<>0 Тогда
           Док.СуммаВзаиморасчетов=0;
       КонецЕсли;
       ВалютаДоговораСтарая        = Док.Договор.ВалютаВзаиморасчетов;
       Возврат "";
   КонецЕсли;                      
   
СуммаВзаиморасчетовДок    = Док.Итог("Сумма")
                           +?(Док.СуммаВклНП =1,0,Док.Итог("СуммаНП" ))
                           +?(Док.СуммаВклНДС=1,0,Док.Итог("СуммаНДС"));

   СуммаВзаиморасчетовДокРуб    = глПересчет (СуммаВзаиморасчетовДок,Док.Валюта,Док.Курс,глРубли,Док.ДатаДок,Док.Кратность);
   
   Если (СуммаВзаиморасчетовДокРуб<>СуммаДокументаСтараяРуб) или
        (ВалютаДоговораСтарая    <>Док.Договор.ВалютаВзаиморасчетов)Тогда
           
       // изменили сумму документа или валюту взаиморасчетов, надо пересчитать
       СуммаДокументаСтараяРуб    = СуммаВзаиморасчетовДокРуб;      
       ВалютаДоговораСтарая        =Док.Договор.ВалютаВзаиморасчетов;
       
       СуммаВзаиморасчетов        = глПересчет(СуммаВзаиморасчетовДок,Док.Валюта,Док.Курс,Док.Договор.Док.ВалютаВзаиморасчетов,Док.ДатаДок,Док.Кратность);
       Форма.Обновить();  
   КонецЕсли;
   
КонецФункции // ПересчетСуммыВзаиморасчетов()



Получаю такую ошибку

СуммаВзаиморасчетов        = глПересчет(СуммаВзаиморасчетовДок,Док.Валюта,Док.Курс,Док.Договор.Док.ВалютаВзаиморасчетов,Док.ДатаДок,Док.Кратность);
{Обработка.ОбменДаннымиОЛЕ.Форма.Модуль(6255)}: Поле агрегатного объекта не обнаружено (Док)
119 Ёпрст
 
гуру
29.01.13
17:50
(118) дык она у тебя не правильная :))
Тебе же надо с учетом того, что цена будет из справочника и сумма в пересчете.
120 Сияющий Асинхраль
 
29.01.13
17:52
Ну так, про сумму взаиморасчетов тебе сказали в первых постах ветки, а ты все увеличиваешь число слушателей :-) переспрашивая
121 Ёпрст
 
гуру
29.01.13
17:52
ты же выше в правилах меняешь сумму и цену..
вот и сумму взаиморасчетов должен вычислить мальца по другому.
122 raykom
 
29.01.13
18:00
(120)Каюсь ... Но блдь, кто ж мог подумать, щто вся кухня от этой цифры.
123 raykom
 
29.01.13
18:02
(119)Уже посмотрел в (118) Там вся лабуда нужна для контроля необходимости пересчета.
А мне от туда нужно только глПересчет(
124 Сияющий Асинхраль
 
29.01.13
18:05
Не люблю комплексную с тис, у тебя реализация тебе надо одну циферку рассчитать, а в поступлениях еще и партии пришлось бы формировать...
125 raykom
 
29.01.13
18:08
(124)Да, мне сиськи тоже больше нравятся ... )
126 Сияющий Асинхраль
 
29.01.13
18:26
(125) Однозначно :-)
127 raykom
 
29.01.13
18:29
Но путь к сиськам лежит через 1с Ссскааа!!! Говорила мама учись хорошо ...
128 PALESIA
 
29.01.13
18:32
(0) имхо проверь разрядность сумм в регистре (особенно дробную часть) ... ну и кратность в справочнике Валют, если расчет от них построен
129 raykom
 
29.01.13
18:33
(128)Да не ... Там не та проблема.
130 PALESIA
 
29.01.13
18:37
(129) ну ты хоть код глПересчет(...) своего в студию кинь ... что-ли)
131 raykom
 
29.01.13
18:43
(130)Дак нате, не жалко ))

//  глПересчет(Сумма,ВалютаНач,ПоКурсуВалютыНач,ВалютаКон,ПоКурсуВалютыКон,ПоКратностиВалютыНач,ПоКратностиВалютыКон)
//
// Параметры:      
//    Сумма                - сумма, которую следует пересчитать
//    ВалютаНач            - валюта (элемент справочника "Валюты"), из которой считаем
//    ВалютаКон            - валюта (элемент справочника "Валюты"), в которую считаем
//    ПоКурсуВалютыНач     - курс или дата курса валюты нач
//    ПоКурсуВалютыКон     - курс или дата курса валюты кон
//    ПоКратностиВалютыНач - кратность валюты нач
//    ПоКратностиВалютыКон - кратность валюты кон
//
// Возвращаемое значение:
//  Сумма, пересчитанная в другую валюту
//
// Описание:
//    Эта функция пересчитывает сумму из ВалютаНач и возвращает значение Сумма в
//    ВалютаКон в параметрах ПоКурсуВалютыНач и ПоКурсуВалютыКон могут передаваться
//    либо сами курсы либо даты
//
Функция глПересчет(Сумма,ВалютаНач,ПоКурсуВалютыНач,ВалютаКон,ПоКурсуВалютыКон,ПоКратностиВалютыНач = 1,ПоКратностиВалютыКон = 1) Экспорт
   
   Если ВалютаНач = ВалютаКон Тогда
       // ну, тут и считать нечего...
       Возврат Сумма;
   КонецЕсли;

   ТипЗн=ТипЗначенияСтр(ПоКурсуВалютыНач);
   
   Если ТипЗн = "Число" Тогда
       КурсВалютыНач      = ПоКурсуВалютыНач;
       КратностьВалютыНач = ПоКратностиВалютыНач;
       КратностьВалютыНач = ?(КратностьВалютыНач = 0,1,КратностьВалютыНач);
       
   ИначеЕсли ТипЗн = "Дата" Тогда
       КурсВалютыНач      = глКурсДляВалюты(ВалютаНач,ПоКурсуВалютыНач);
       КратностьВалютыНач = глКратностьДляВалюты(ВалютаНач,ПоКурсуВалютыНач);
       
   Иначе
       Сообщить("глПересчет():Неверный тип параметра ПоКурсуВалютыНач!");
       Возврат Сумма;
       
   КонецЕсли;

   ТипЗн = ТипЗначенияСтр(ПоКурсуВалютыКон);
   
   Если ТипЗн = "Число" Тогда
       КурсВалютыКон      = ПоКурсуВалютыКон;
       КратностьВалютыКон = ПоКратностиВалютыКон;
       КратностьВалютыКон = ?(КратностьВалютыКон = 0,1,КратностьВалютыКон);
       
   ИначеЕсли ТипЗн = "Дата" Тогда
       КурсВалютыКон      = глКурсДляВалюты(ВалютаКон,ПоКурсуВалютыКон);
       КратностьВалютыКон = глКратностьДляВалюты(ВалютаКон,ПоКурсуВалютыКон);
       
   Иначе
       Сообщить("глПересчет():Неверный тип параметра ПоКурсуВалютыКон!");
       Возврат Сумма;
       
   КонецЕсли;

   Если (КурсВалютыНач = 0)
    ИЛИ (КурсВалютыКон = 0) Тогда
       Сообщить("При пересчете валюты обнаружен нулевой курс валюты "
       +?(КурсВалютыНач = 0,ВалютаНач,ВалютаКон));
       Возврат Сумма;
   КонецЕсли;
   
   Если (КратностьВалютыНач = 0) ИЛИ (КратностьВалютыКон = 0) Тогда
       Возврат 0;
   КонецЕсли;
   
   Возврат Сумма * ((КурсВалютыНач / КратностьВалютыНач) / (КурсВалютыКон / КратностьВалютыКон));
   
КонецФункции // глПересчет()
132 raykom
 
29.01.13
18:45
Емае как просто то все

>Если ВалютаНач = ВалютаКон Тогда
       // ну, тут и считать нечего...

       Возврат Сумма;
   КонецЕсли;

:DD
133 raykom
 
29.01.13
18:46
Все понял ))))
134 raykom
 
29.01.13
18:47
А как мобрать сумму накладной, емае не понос так золотуха ...
135 Злопчинский
 
29.01.13
19:02
(134) в смысле?
136 raykom
 
29.01.13
19:07
(135)Так я ее должен поймать в итерфейсе справочника конфигурации обмена, через вызываемые функции. Если бы в модуле в цикле, или после заполнения - так все понятно.
Есть встроенный метод
@Итог(Док,Колонка) Но он в примере не возвращает никакого значения. Щас пробую в процессе загрузки
137 raykom
 
29.01.13
19:08
Да этот МОД - та еще канапля ...
138 raykom
 
29.01.13
19:10
ЕПРСТ !!!! Епрст, ты где, ЕПРСТ ?? ))

Я понял что ада, но не знаю как. Может наведешь на мысль ?
139 raykom
 
29.01.13
19:24
А я щас тупо в "ПриЗаписи"
Вставлю СуммаВзаиморасчетов = Итог("Сумма");
:DDD
А потом удалю. И пусть надо мной смеются.
140 raykom
 
29.01.13
19:27
Не прокатило
141 Cthulhu
 
29.01.13
20:03
(140): а это, двоешник Перестукин, случилось потому, что "ПриЗаписи" срабатывает только при интерактивной записи нажатием на кнопку с кратким вызовом записи обхекта ланных.
142 Cthulhu
 
29.01.13
20:05
в (136) не пробовал @Итог(Док,"СуммаСНДС"), например?.. ничего не возвращает?..
143 raykom
 
29.01.13
20:11
(141):D
(142)Да пробовал в (136). Ничего не возвращает.
144 raykom
 
29.01.13
20:15
+(143)В базе приемнике в справочнике правил загрузки.
Вроде всеравно, табличная справочника обходится как в цикле, многократно, в конце концов то должна бы дать итогг, а нет. Цццука ...
145 Cthulhu
 
29.01.13
20:19
мод - зло.
лепи СуммаВзаиморасчетов=Итог("СуммаСНДС") в модуль проведения, в сааамое начало.
146 raykom
 
29.01.13
20:25
МОД - пздец вообще, но не сейчас пока )

Да, когда в призаписи пытался вставить - тоже направление, только с мекстом ошибся.

Щас воткну.

А почему "СуммаСНДС"

Там нет реквизитов таких. Есть Сумма и СуммаНДС
147 Cthulhu
 
29.01.13
20:29
(146): ну воткни тот, который есть (и по которому итог соответствует нужной сумме взаиморасчетов по документу).
только, смотри, не тычь в модуль "Записать" - оно и само без твоих указок запишет, ты только устанавливай шо надо.
148 raykom
 
29.01.13
21:15
(147)Костыль сработал :)) Все встало как надо.
Щас главное, с тюнингом потом разберусь.

Ну спасибо всем за участие. Всем хороших сисек!

Спасибо.
149 raykom
 
29.01.13
21:19
А AlekseyЮ и ДжиннУ по две сиськи :D
Кросавцы.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан