Имя: Пароль:
1C
1С v8
Учет авансов, полученных в иностранной валюте
0 Alexperumov
 
20.06.12
10:47
УПП 1.3.26  - При проведении дока "реализация товаров и услуг" на 90й счет идет неправильная рублевая сумма, по курсу реализации, а не по курсу поступления аванса, в чем ошибка?
1 Alexperumov
 
20.06.12
11:10
Хелп!
2 shuhard
 
20.06.12
11:23
(1) что-то мешает открыть ИТС и посмотреть как оформлять операцию ?
3 Alexperumov
 
20.06.12
11:55
нету, только при оплате рублями там
4 Alexperumov
 
20.06.12
12:23
че за баки никто не оказывает услуги?!
5 Академик_
Келдыш
 
20.06.12
12:30
доковор по документам расчетов только должен быть
6 Академик_
Келдыш
 
20.06.12
12:31
и соответственно все документы расчетов должны быть проставлены везде
7 shuhard
 
20.06.12
12:31
(5)
(6) бред
8 Академик_
Келдыш
 
20.06.12
12:32
(7) какой бред??? открой код реализации
9 Академик_
Келдыш
 
20.06.12
12:35
(7) или ты всю жизнь думал что вариант ведения договора "по документам расчетов" - так от нечего делать придумали???
10 Naumov
 
20.06.12
12:35
не в настройках договора дело. Нужно выполнять весь регламент (восстановление последовательности по рпасчетам). Соответственно читайте ИТС
11 Академик_
Келдыш
 
20.06.12
12:38
// Вычислим курс документа для печати
   Если ВалютаДокумента <> мВалютаРегламентированногоУчета
      И ДоговорКонтрагента.РасчетыВУсловныхЕдиницах
      И ДоговорКонтрагента.ВестиПоДокументамРасчетовСКонтрагентом Тогда
       
       ЗапросКурсАванса = Новый Запрос;
       ЗапросКурсАванса.УстановитьПараметр("ДокументСсылка", Ссылка);
       ЗапросКурсАванса.Текст =
       "ВЫБРАТЬ
       |    Док.СуммаВзаиморасчетов,
       |    Док.СуммаРегл
       |ИЗ
       |    Документ.РеализацияТоваровУслуг.ДокументыРасчетовСКонтрагентом КАК Док
       |ГДЕ Док.Ссылка = &ДокументСсылка
       |ИТОГИ СУММА(СуммаВзаиморасчетов), СУММА(СуммаРегл) ПО ОБЩИЕ";
       
       Выборка = ЗапросКурсАванса.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
       Если Выборка.Следующий() Тогда
           КурсОплаты                 = ?(Выборка.СуммаВзаиморасчетов = 0, 0, Выборка.СуммаРегл/Выборка.СуммаВзаиморасчетов);
           ВыборкаСуммаВзаиморасчетов = Выборка.СуммаВзаиморасчетов;
           ВыборкаСуммаРегл           = Выборка.СуммаРегл;
       Иначе
           КурсОплаты                 = 0;
           ВыборкаСуммаВзаиморасчетов = 0;
           ВыборкаСуммаРегл           = 0;
       КонецЕсли;
       
       СуммаВзаиморасчетов = МодульВалютногоУчета.ПересчитатьИзВалютыВВалюту(УчетНДС.ПолучитьСуммуДокументаСНДС(ЭтотОбъект),
       ВалютаДокумента, ДоговорКонтрагента.ВалютаВзаиморасчетов,
       ЗаполнениеДокументов.КурсДокумента(ЭтотОбъект, мВалютаРегламентированногоУчета), КурсВзаиморасчетов,
       ЗаполнениеДокументов.КратностьДокумента(ЭтотОбъект, мВалютаРегламентированногоУчета), КратностьВзаиморасчетов);
       НеоплаченнаяСумма = СуммаВзаиморасчетов - ВыборкаСуммаВзаиморасчетов;
       Если НеоплаченнаяСумма > 0 Тогда
           КурсДляПечати = (НеоплаченнаяСумма * КурсВзаиморасчетов + ВыборкаСуммаРегл)/(НеоплаченнаяСумма + ВыборкаСуммаВзаиморасчетов);
       Иначе
           КурсДляПечати = КурсОплаты;
       КонецЕсли;
       
       Если КурсДляПечати = 0 Тогда
           Запрос.УстановитьПараметр("Курс",      ЭтотОбъект.КурсВзаиморасчетов);
           Запрос.УстановитьПараметр("Кратность", ?(ЭтотОбъект.КратностьВзаиморасчетов=0,1,ЭтотОбъект.КратностьВзаиморасчетов));
       Иначе
           Запрос.УстановитьПараметр("Курс",      КурсДляПечати);
           Запрос.УстановитьПараметр("Кратность", 1);
       КонецЕсли;
       
   ИначеЕсли ВалютаДокумента = ДоговорКонтрагента.ВалютаВзаиморасчетов Тогда
       
       // Документ оформлен в валюте взаиморасчетов
       Запрос.УстановитьПараметр("Курс", ЭтотОбъект.КурсВзаиморасчетов);
       Запрос.УстановитьПараметр("Кратность", ?(ЭтотОбъект.КратностьВзаиморасчетов=0,1,ЭтотОбъект.КратностьВзаиморасчетов));
       
   Иначе
       
       // Документ оформлен в валюте регламентированного учета
       Запрос.УстановитьПараметр("Курс",      1);
       Запрос.УстановитьПараметр("Кратность", 1);
       
   КонецЕсли;
12 Академик_
Келдыш
 
20.06.12
12:38
не очем (11) вам не говорит?
13 shuhard
 
20.06.12
12:43
(12) говорит о твоей не компетенции,
данный код к проводкам ни какого отношения не имеет
14 Naumov
 
20.06.12
12:43
И о чем должен рассказать фрагмент формирования печатной формы?
15 Академик_
Келдыш
 
20.06.12
12:49
(13) просто сидел в печати. в проводках таже история. или как вы представляете документ с одной суммой в печати и другой в проводках?
16 Alexperumov
 
20.06.12
12:50
Кроме восстановления последовательностей, остается только рукоблудие?
17 shuhard
 
20.06.12
12:53
(15)[в проводках таже история]
открой общий модуль и убедись в обратном
18 Академик_
Келдыш
 
20.06.12
12:54
(16) просто проверь: с контрагентом новый договор с ведением по документам расчетов создай и в платежке его выбери и реализацию проведи по нему.
19 Naumov
 
20.06.12
12:57
а потом выбери две платежки с разными курсами и удивись результату.
Академик, хорош людей путать.
20 Alexperumov
 
20.06.12
12:58
ведением по документам расчетов у меня и стоит..
21 Академик_
Келдыш
 
20.06.12
13:03
хочешь - включи тим вьевер - подключусь - все будет.
22 Академик_
Келдыш
 
20.06.12
13:05
(19) весело. а акт и накладная будут печататься по курсу отгрузки вопреки правилам ведения БУ????
23 shuhard
 
20.06.12
13:07
(22) не путай тёплое с мягким
24 Naumov
 
20.06.12
13:07
(22) ТЫ сам проверь и нам расскажешь
25 Alexperumov
 
20.06.12
13:11
(21) дак а что ты хочешь еще сделать?
26 Академик_
Келдыш
 
20.06.12
13:11
//Выбираем текущие остатки по регистру расчетов в у.е.
       
       Запрос = Новый Запрос;
       Запрос.УстановитьПараметр("Договор", ДоговорКонтрагента);
       СчетОстатков = ?(ЭтоВозврат, СчетОплаты, СчетАванса);
       Запрос.УстановитьПараметр("Счет", СчетОстатков);
       
       ИспользоватьОтборПоСделкам = не СтруктураПараметров.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом;
       Запрос.УстановитьПараметр("ИспользоватьОтборПоСделкам", ИспользоватьОтборПоСделкам);
       Если ИспользоватьОтборПоСделкам Тогда
           Сделки = ОбщегоНазначения.УдалитьПовторяющиесяЭлементыМассива(ТаблицаСделокДокумента.ВыгрузитьКолонку("Сделка"));
           Запрос.УстановитьПараметр("Сделки", Сделки);
       Иначе
           Запрос.УстановитьПараметр("Сделки", Неопределено);
       КонецЕсли;
27 Академик_
Келдыш
 
20.06.12
13:12
ИспользоватьОтборПоСделкам = не СтруктураПараметров.ВедениеВзаиморасчетов = Перечисления.ВедениеВзаиморасчетовПоДоговорам.ПоДоговоруВЦелом; специально для наумова))
28 Академик_
Келдыш
 
20.06.12
13:12
(25) просто глянуть, может там у тебя учетная политика не настроена. или не в уе договор
29 Академик_
Келдыш
 
20.06.12
13:15
(24) веселый там модуль))) но все сводится к тому что либо во докам либо по сделкам но никак не подоговору в целом)))
30 Naumov
 
20.06.12
13:16
(27) Посмотри на 10 строк выше
"    Если ЕстьТаблицаПоВзаиморасчетам И НЕ ВызванРегламентнойПроцедурой Тогда
"
и убедись, что приведенный код может быть вызван ТОЛЬКО регламентной обработкой.
31 shuhard
 
20.06.12
13:16
(29) не понятно, кого ты обмануть пытаешься ?
и я и Наумов знаем как работает УПП и у нас курсовые разницы работают
и у.е. 62 закрывается
32 Академик_
Келдыш
 
20.06.12
13:21
(31) да не пытаюсь я никого обмануть. то что упорядочится потом - верю. но человеку нужно сейчас , а также в форме. в форме при чем ОБЯЗАТЕЛЬНО нужно указывать курс аванса или смешанный при частичном авансе
33 Alexperumov
 
20.06.12
14:16
тоесть в форме руками прописать курс он и пойдет на 90й?