|
Себестоимость по FIFO | ☑ | ||
---|---|---|---|---|
0
Mikhail Volkov
26.05.16
✎
15:29
|
Клиент хочет в УТ11 учитывать курсовые разницы в себестоимости товара купленного по импорту в упр. учете. Для этого делал ему, оплату поставщику по упр. учету по себестоимости валюты (не по офиц. курсу ЦБ, как в регламентном учете. Для этого раньше писал ему такую функцию:
// По управленческому учету списание ДС по себестоимости валюты // (а поступление ДС по курсу конвертации банка) Функция СебестоимостьВалюты(Документ) Экспорт КурсКонвертации = 0; Если Документ.БанковскийСчет.ВалютаДенежныхСредств = Константы.ВалютаУправленческогоУчета.Получить() И Не Константы.УчитыватьКурсовыеРазницыСебестоимостьТоваровПоУправленческомуУчету.Получить() Тогда Возврат КурсКонвертации; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВЫБОР | КОГДА ДенежныеСредстваБезналичные.СуммаОстаток = 0 | ТОГДА 0 | ИНАЧЕ ДенежныеСредстваБезналичные.СуммаУпрОстаток / ДенежныеСредстваБезналичные.СуммаОстаток | КОНЕЦ КАК КурсКонвертации |ИЗ | РегистрНакопления.ДенежныеСредстваБезналичные.Остатки(&Дата, БанковскийСчет = &БанковскийСчет) КАК ДенежныеСредстваБезналичные |"; Граница = Новый Граница(Документ.МоментВремени(), ВидГраницы.Исключая); // нужен предшествующий момент самому документу Запрос.УстановитьПараметр("Дата", Граница); Запрос.УстановитьПараметр("БанковскийСчет", Документ.БанковскийСчет); Выборка = Запрос.Выполнить().Выбрать(); Если Выборка.Следующий() Тогда КурсКонвертации = Окр(Выборка.КурсКонвертации, 4, 1); // Разрядности явно не хватает, надо бы увеличить до 6-8 знаков после запятой КонецЕсли; Возврат КурсКонвертации; КонецФункции Теперь расчет себестоимости валюты по среднему его не устраивает, говорит, что хочет по ФИФО. Как это лучше сделать? Функция вызывается только из документа Списание безналичных денежных средств, сумма в валюте задана. Надо высчитать упр. сумму, списывая валютные остатки с банковского счета сначала по более раннему курсу, затем следующую, пока не наберется вся валютная сумма оплаты. Тут надо учесть, что крупные валютные оплаты готовят заранее, закупая валюту в несколько этапов, ловя моменты выгодного курса. Наверное надо выбирать остатки валюты из РегистрНакопления.ДенежныеСредстваБезналичные по мере ее закупки, и по мере пока не наберется сумма оплаты в валюте, суммировать упр. суммы... |
|||
1
Джинн
26.05.16
✎
15:32
|
Шо, опять? (с)
|
|||
2
Злопчинский
26.05.16
✎
15:42
|
а у тя что - валютные ОСТАТКИ в разрезе документов поступления?
|
|||
3
Mikhail Volkov
26.05.16
✎
15:45
|
(1) Если про ERP Воссоздание управленческого учета, то да. Клиент так работает с марта (точнее с НГ база пересчитана) - доволен. Сейчас думает, что расчет по FIFO будет правильнее
|
|||
4
Mikhail Volkov
26.05.16
✎
15:49
|
(2) Да, списывает с рублевого на валютный р/счет с хоз. операцией Конвертация валюты. По упр. учету суммы поступают по фактическому курсу банка (не по офиц. курсу ЦБ как в регламентном).
|
|||
5
Чайник Рассела
26.05.16
✎
15:51
|
(0) у меня была похожая ситуация. Клиент был с шумом послан далеко.
|
|||
6
Mikhail Volkov
26.05.16
✎
16:00
|
(5) Не надо мне про ситуации, клиенту так надо. Нужен алгоритм расчета себестоимости по FIFO. Пытался найти пример, нечто похожее для товара...
|
|||
7
vde69
26.05.16
✎
16:08
|
(6) Вы для начала опишите что Вы имеете в виду под "себестоимость по ФИФО" ???
в моем понимании это учет типовой партионный учет в валюте взаиморасчетов.... |
|||
8
Карупян
26.05.16
✎
16:08
|
тебе нужно двойное фифо: валюты + остатки
|
|||
9
vde69
26.05.16
✎
16:11
|
кстати если для него важен учет в валюте - пусть считает в валюте без рублей вообще...
|
|||
10
vde69
26.05.16
✎
16:11
|
(8) такого не бывает, ибо это разные аналитики и моменты времени
|
|||
11
Карупян
26.05.16
✎
16:12
|
(10) на то оно и двойное
|
|||
12
Карупян
26.05.16
✎
16:12
|
(10) merge join слышал, что такое?
|
|||
13
Злопчинский
26.05.16
✎
16:13
|
(4) я не спрашиваю про ДФИЖЕНИЯ - что куда списывается. Остатки валюты - в разрезе документов, образовавших эти остатки - есть возможность получить? если нет - откуда ты историю курсов будешь тянуть для валютного остатака в 1000 енотов?
|
|||
14
vde69
26.05.16
✎
16:16
|
(13) >>>откуда ты историю курсов будешь тянуть для валютного остатака в 1000 енотов
он хочет анализировать операции "конвертация" которая пишет реально валютную + рублевую сумму, и от туда плясать... я не вижу смысла вообще считать этот курс в принцепе, я считаю правильным вести паралельно 2 учета 1. бух в рублях по всем правилам 2. управленческий в валюте (без учета курсов) |
|||
15
scanduta
26.05.16
✎
16:19
|
(0) Торгаши сходят с ума?
|
|||
16
Чайник Рассела
26.05.16
✎
16:21
|
(15) скорее менеджеры, которые получают % от прибыли по сделки. Вот они то хотят использовать курс по которому была куплена валюта в своих целях.
|
|||
17
Джинн
26.05.16
✎
16:29
|
(15) Ларечник - это не род деятельности, это диагноз (с) Джинн.
|
|||
18
vde69
26.05.16
✎
16:38
|
(16) нафига это им? пусть всю сделку считают в валюте вообще без рублей... в том числе и свой бонус то-же в валюте, это логично... ну а руководство будет подгадывать выплачивать бонус при низком курсе :)
|
|||
19
Mikhail Volkov
26.05.16
✎
18:28
|
(13) РН ДенежныеСредстваБезналичные имеет ресурсы:
Сумма - в валюте СуммаРегл - в рублях по офиц. курсу ЦБ СуммаУпр - тоже в рублях, но по курсу банка, конвертировавшего в валюту, т.е. реальная стоимость валюты. Поэтому история курсов в нем зафиксирована. (14) Правильно поняли идею расчета по ФИФО. А по поводу смысла, как-то не принято на территории России вести валютный учет. Экономическая ситуация сейчас близка к 90-м, но и тогда (когда создавался упр. учет в 7.0 Торговля) учет велся не в долларах, а в УЕ, которые еще учитывали комиссию по конвертации валюты. В этом суть - вести учет затрат на конвертацию валюты, наряду с транспортными и прочими затратами в себестоимости товара. Сейчас упр. учет курсовые разницы (как прочие внереализационные расходы) не учитывает. (16) Да, хотят снизить риск уйти в убыток. Внереализационные расходы они узнают только по закрытию месяца по бух. учету. |
|||
20
Mikhail Volkov
26.05.16
✎
18:30
|
Как из РН ДенежныеСредстваБезналичные получить 1-ю запись прихода валюты, которая есть на остатке?
|
|||
21
Джинн
26.05.16
✎
18:31
|
(19) Чушь. К "уходу в убыток" эта хрень не имеет ни малейшего отношения.
В ТиС упр. учет велся в любой выбранной валюте, а не в неких мифических УЕ. |
|||
22
Джинн
26.05.16
✎
18:32
|
(19) Кстати зарплату они тоже в конце месяца узнают. Не боятся уйти в убыток? Ежедневно нужно начислять!
|
|||
23
Mikhail Volkov
26.05.16
✎
18:51
|
(21) Не по теме, может и не имеет, но клиент хочет видеть внереализационные расходы оперативно.
+ (20) Выбрать в ВТ обороты в обратном порядке на сумму остатка в валюте, а затем из ВТ выбирать записи на сумму оплаты? |
|||
24
Джинн
26.05.16
✎
19:19
|
(23) Кто мешает ему видеть внереализационные расходы оперативно?
И какое все же отношение это имеет к "убытку"? |
|||
25
Джинн
26.05.16
✎
19:20
|
(24) ___plus___ На каждый костыль Вы будете вынуждены лепить пару других костылей.
|
|||
26
mistеr
26.05.16
✎
20:23
|
(9) (14) Поясни, как это "без рублей вообще" и "без учета курсов", если доп расходы, формирующие себестоимость, оплачиваются вполне деревянными и валютой там даже не пахнет.
|
|||
27
Лефмихалыч
26.05.16
✎
20:49
|
(0) взбугагнул. Себестоимость валюты... по ФИФО... карл...
|
|||
28
Mikhail Volkov
26.05.16
✎
20:51
|
(24) Менеджер по продаже исходя только из себестоимости отгруженного товара считает что выгодную сделку провел. И бывает, что из-за неучтенных курсовой разницы, на самом деле в убыток сработал. Товар в основном закуплен по импорту, в условиях частых скачков курса валюты большой риск возникновения таких ситуаций. Вот и решили подстраховаться.
|
|||
29
Лефмихалыч
26.05.16
✎
20:52
|
(18) думаю, что беда здесь в том, что продажники заключают сделки в валюте, а зарплату с них получают в рублях и потому на такое пойтить не могут. Думают, что риски получить меньше зарплаты, которые они получают в связи с колебаниями курсов валют, произрастают от того, что стоимость валюты считается не так, а вот эдак. Наивные. Это обычные риски при работе с валютой и к способу пересчетов не имеют они отношения.
|
|||
30
Лефмихалыч
26.05.16
✎
20:53
|
если я правильно всё угадал, то это система мотивации для продажников говенная - в этом проблема
|
|||
31
Mikhail Volkov
26.05.16
✎
21:04
|
(27) Блин, зачем в заголовке валюту упомянул, ни одной подсказки как реализовать метод ФИФО!?
В последних конфигурациях (УТ11/ERP) искать пример ФИФО бесполезно? Везде РАУЗ. Смотрел бегло УТ10.3, Альфа-Авто - там вроде классический партионный, но тоже конкретно алгоритма ФИФО не нашел, что в клюшки лезть? |
|||
32
Лефмихалыч
26.05.16
✎
21:24
|
(31) куле там реализовывать?
ОсталосьСписать = ВыборкаСтроки.Количство; ВыборкаПартии = ВыборкаСтроки.Выбрать(); Пока ОсталосьСписать >0 и ВыборкаПартии.Следующий() Цикл СписатьСейчас = Мин(ВыборкаПартии.КоличествоОстаток, ОсталосьСписать); ОсталосьСписать = ОсталосьСписать - СписатьСейчас; |
|||
33
Лефмихалыч
26.05.16
✎
21:24
|
а, ну и с суммой те же танцы примерно
|
|||
34
vde69
модератор
26.05.16
✎
22:26
|
(29) не согласен, корень зла тут в рублевых тендерах... мне это ой как знакомо :)
выиграли рублевый тендер, а закупка - за рубежем... правильным выходом будет деление доп затрат пропорционально стоимости поступившей номенклатуры и дальнейший учет в рублях... но кто-то на верху считает не правильной ситуацию когда купили год назад за 10руб (2 доллара) а продают сегодня за 20 рублей (но по тек курсу это 1 доллар), с точки зрения РСБУ - тут прибыль 10 руб, а с точки зрения "кого-то" тут убыток 1 доллар... Вопрос методологии учета... в сабже методология именно "валютная" и им нужно вести остатки в валюте поступления включая доп расходы размазаные на себестоимость поступления, и тогда вопросов не будет |
|||
35
Злопчинский
26.05.16
✎
22:37
|
(19) не надо нихрена мудрить
Эти попытки учесть внереализационные расходыдоходы изза курса - херня полная. Вы в уу учтете вот так, а в итоге в бу получится не так а по другому - все равно состояние фирмы будете смотреть по бу, а не по рваному неполному уу. Поэтому нехрен ломать голову. Считатй текущий средний курс по имеющимся остаткам и учитывайте его. Все равно ваше фифо рассчитываемое на каждой сделке к концу месяца придет к среднему |
|||
36
vde69
26.05.16
✎
22:41
|
(35) тут проблема в том, что владельцы фирм из 90х и они так привыкли считать, и убедить их невозможно....
|
|||
37
Джинн
26.05.16
✎
22:54
|
(28) Чушь полная. В ее ларечной неприглядности. Цена продажи определяется не себестоимостью, а спросом и предложением. Похрен какая себестоимость - продадите Вы по той цене, по которой покупатель готов купить. Хоть по миллиону купите, хоть даром получите.
Зарядите больше рынка - не купят. Зарядите меньше рынка - сами себе злобные буратины. |
|||
38
Джинн
26.05.16
✎
23:02
|
(34) > равильным выходом будет деление доп затрат пропорционально стоимости поступившей номенклатуры
Все жизнь рассказываю знаменитую историю одной питерской конторы в качестве примера для правильного выбора базы распределения :) Продавала контора в массовых масштабах оборудование для пищевой промышленности - чаны/баки большого объема из спецсталей и мелочевку в виде фитингов. Баки большие, возить накладно. А когда их наполнить мелочевкой, то в размазанном виде все пучком. И тут большой заказ на баки. Менеджеры смотрят в базу - вот цена, вот допрасходы, вот уже квартирка, которую прикупят на маржу. Потерли руки, заказали, привезли... И прослезились - фитингов на заполнение баков не оказалось ввиду того, что такое количество на хрен никому не нужно. И все транспортные расходы бодро упали на баки с копеечной стоимостью, копеечным весом, но охрененным объемом. Пришлось не квартиру прикупать, а штаны продавать... PS Относитесь очень аккуратно к выбору баз распределения. |
|||
39
Злопчинский
26.05.16
✎
23:33
|
928) тогда посоветуйте товар закупать на минимуме валюты, а продавать на макимуме. или наоборот как надо. все обогатятся!
|
|||
40
Bell
27.05.16
✎
00:51
|
Тогда и стоимость валютного перевода нужно туда включать...
|
|||
41
Злопчинский
27.05.16
✎
01:15
|
И комиссию банка да конвертацию
|
|||
42
RayCon
27.05.16
✎
03:32
|
Да уж... (с) И.Ильф, Е.Петров
И почему мне вспомнился афоризм Сократа про одного глупца и сотню мудрецов?.. (5), (15), (17), (27) +1 |
|||
43
Mikhail Volkov
27.05.16
✎
04:59
|
(32) А сам запрос?
|
|||
44
Mikhail Volkov
27.05.16
✎
11:05
|
По аналогии партионным учетом товара написал:
Функция СебестоимостьВалюты(Документ) Экспорт КурсКонвертации = 0; Запрос = Новый Запрос; Запрос.Текст = " |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ДенежныеСредстваБезналичныеОстаткиИОбороты.СуммаОборот, | ДенежныеСредстваБезналичныеОстаткиИОбороты.СуммаУпрОборот |ИЗ | РегистрНакопления.ДенежныеСредстваБезналичные.ОстаткиИОбороты( | , | &Дата, | &БанковскийСчет) КАК ДенежныеСредстваБезналичныеОстаткиИОбороты |ГДЕ | ДенежныеСредстваБезналичныеОстаткиИОбороты.СуммаКонечныйОстаток > 0"; Граница = Новый Граница(Документ.МоментВремени(), ВидГраницы.Исключая); // нужен предшествующий момент самому документу Запрос.УстановитьПараметр("Дата", Граница); Запрос.УстановитьПараметр("БанковскийСчет", Документ.БанковскийСчет); ОсталосьСписать = Документ.СуммаДокумента; Сумма = 0; СуммаУпр = 0; Выборка = Запрос.Выполнить().Выбрать(); Пока ОсталосьСписать > 0 И Выборка.Следующий() Цикл КурсКонвертации = ?(Выборка.СуммаОборот > 0, Выборка.СуммаУпрОборот/Выборка.СуммаОборот, 0); Сумма = Сумма + ?(Выборка.СуммаОборот > ОсталосьСписать, ОсталосьСписать, Выборка.СуммаОборот); СуммаУпр = СуммаУпр + ?(Выборка.СуммаОборот > ОсталосьСписать, ОсталосьСписать*КурсКонвертации, Выборка.СуммаУпрОборот); ОсталосьСписать = ОсталосьСписать - Выборка.СуммаОборот; КонецЦикла; КурсКонвертации = ?(Сумма > 0, СуммаУпр/Сумма, 0); Возврат КурсКонвертации; КонецФункции Но партионном учете выбираются лишь партии, которые есть на остатках в момент списания, а тут какие партии? Надо как-то определить начальный момент выборки. Или сначала выбрать в ВТ обороты в обратном порядке на сумму остатка в валюте, а затем из ВТ выбирать записи на сумму оплаты? |
|||
45
vde69
27.05.16
✎
11:17
|
(44) могу дать тебе запрос который текущую дебеторку разворачивает от самой старшей даты в сторону начала всех времен, тебе именно это и нужно :)
вот он: //----------------------------- Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1 КАК Контрагент, | ХозрасчетныйОстатки.Субконто2 КАК Аналитика, | ЕСТЬNULL(ХозрасчетныйОстатки.Валюта, ВалютаРегламентированногоУчета.Значение) КАК Валюта, | ХозрасчетныйОстатки.СуммаОстатокДт, | ЕСТЬNULL(ХозрасчетныйОстатки.ВалютнаяСуммаОстатокДт, 0) КАК ВалютнаяСуммаОстатокДт |ПОМЕСТИТЬ ОстаткиДляРаспределения |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(, Счет В (&СписокСчетов), , Организация В (&СписокОрганизаций)) КАК ХозрасчетныйОстатки, | Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ПланЗакрытияТоварногоКредитаПокупателем.Документ, | ПланЗакрытияТоварногоКредитаПокупателем.Дата |ПОМЕСТИТЬ ДатыОплатПоРеализациям |ИЗ | ОстаткиДляРаспределения КАК ОстаткиДляРаспределения | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ПланЗакрытияТоварногоКредитаПокупателем КАК ПланЗакрытияТоварногоКредитаПокупателем | ПО ОстаткиДляРаспределения.Аналитика = ПланЗакрытияТоварногоКредитаПокупателем.Документ.Сделка |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ХозрасчетныйОбороты.Счет, | ХозрасчетныйОбороты.Регистратор, | ХозрасчетныйОбороты.Субконто1 КАК Контрагент, | ХозрасчетныйОбороты.Субконто2 КАК Аналитика, | ЕСТЬNULL(ХозрасчетныйОбороты.Валюта, ВалютаРегламентированногоУчета.Значение) КАК Валюта, | ХозрасчетныйОбороты.СуммаОборот, | ЕСТЬNULL(ХозрасчетныйОбороты.ВалютнаяСуммаОборот, 0) КАК ВалютнаяСуммаОборот |ПОМЕСТИТЬ СуммыЗадолженостиПоРеализациям |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(, , Регистратор, Счет В (&СписокСчетов), , Организация В (&СписокОрганизаций), , ) КАК ХозрасчетныйОбороты, | Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета |ГДЕ | ХозрасчетныйОбороты.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг | И (ХозрасчетныйОбороты.СуммаОборот > 0 | ИЛИ ХозрасчетныйОбороты.ВалютнаяСуммаОборот > 0) |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | СуммыЗадолженостиПоРеализациям.Счет, | СуммыЗадолженостиПоРеализациям.Регистратор, | СуммыЗадолженостиПоРеализациям.Контрагент, | СуммыЗадолженостиПоРеализациям.Аналитика, | СуммыЗадолженостиПоРеализациям.Валюта, | СуммыЗадолженостиПоРеализациям.СуммаОборот, | СуммыЗадолженостиПоРеализациям.ВалютнаяСуммаОборот, | ЕСТЬNULL(ДатыОплатПоРеализациям.Дата, &ДатаНачала) КАК Дата |ПОМЕСТИТЬ СуммыИДатыПоРеализациям |ИЗ | СуммыЗадолженостиПоРеализациям КАК СуммыЗадолженостиПоРеализациям | ЛЕВОЕ СОЕДИНЕНИЕ ДатыОплатПоРеализациям КАК ДатыОплатПоРеализациям | ПО СуммыЗадолженостиПоРеализациям.Регистратор = ДатыОплатПоРеализациям.Документ |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ | ВложенныйЗапрос.Счет, | ВложенныйЗапрос.Регистратор, | ВложенныйЗапрос.Контрагент, | ВложенныйЗапрос.Аналитика, | ВложенныйЗапрос.Валюта, | ВложенныйЗапрос.ДатаДолга КАК ДатаДолга, | ВЫБОР | КОГДА ВложенныйЗапрос.Валюта = ВалютаРегламентированногоУчета.Значение | ТОГДА ВЫБОР | КОГДА ВложенныйЗапрос.СуммаДолга > 0 | ТОГДА ВложенныйЗапрос.СуммаДолга | ИНАЧЕ 0 | КОНЕЦ | ИНАЧЕ ВЫБОР | КОГДА ВложенныйЗапрос.ВалютнаяСуммаДолга > 0 | ТОГДА ВложенныйЗапрос.ВалютнаяСуммаДолга | ИНАЧЕ 0 | КОНЕЦ | КОНЕЦ КАК СуммаДолга |ИЗ | (ВЫБРАТЬ | ВложенныйЗапрос.Счет КАК Счет, | ВложенныйЗапрос.Регистратор КАК Регистратор, | ВложенныйЗапрос.Контрагент КАК Контрагент, | ВложенныйЗапрос.Аналитика КАК Аналитика, | ВложенныйЗапрос.Валюта КАК Валюта, | ВложенныйЗапрос.Дата КАК ДатаДолга, | ВЫБОР | КОГДА ВложенныйЗапрос.СуммаОстатокДт >= ВложенныйЗапрос.СуммаОборотИтого - ВложенныйЗапрос.СуммаОборотНИ + ВложенныйЗапрос.СуммаОборот | ТОГДА ВложенныйЗапрос.СуммаОборот | ИНАЧЕ ВложенныйЗапрос.СуммаОстатокДт - ВложенныйЗапрос.СуммаОборотИтого + ВложенныйЗапрос.СуммаОборотНИ | КОНЕЦ КАК СуммаДолга, | ВЫБОР | КОГДА ВложенныйЗапрос.ВалютнаяСуммаОстатокДт >= ВложенныйЗапрос.ВалютнаяСуммаОборотИтого - ВложенныйЗапрос.ВалютнаяСуммаОборотНИ + ВложенныйЗапрос.ВалютнаяСуммаОборот | ТОГДА ВложенныйЗапрос.ВалютнаяСуммаОборот | ИНАЧЕ ВложенныйЗапрос.ВалютнаяСуммаОстатокДт - ВложенныйЗапрос.ВалютнаяСуммаОборотИтого + ВложенныйЗапрос.ВалютнаяСуммаОборотНИ | КОНЕЦ КАК ВалютнаяСуммаДолга | ИЗ | (ВЫБРАТЬ | НарастающийИтогОтгрузок.Счет КАК Счет, | НарастающийИтогОтгрузок.Регистратор КАК Регистратор, | НарастающийИтогОтгрузок.Контрагент КАК Контрагент, | НарастающийИтогОтгрузок.Аналитика КАК Аналитика, | НарастающийИтогОтгрузок.Валюта КАК Валюта, | НарастающийИтогОтгрузок.СуммаОборот КАК СуммаОборот, | НарастающийИтогОтгрузок.ВалютнаяСуммаОборот КАК ВалютнаяСуммаОборот, | НарастающийИтогОтгрузок.Дата КАК Дата, | НарастающийИтогОтгрузок.СуммаОборотНИ КАК СуммаОборотНИ, | НарастающийИтогОтгрузок.ВалютнаяСуммаОборотНИ КАК ВалютнаяСуммаОборотНИ, | ОстаткиДляРаспределения.СуммаОстатокДт КАК СуммаОстатокДт, | ОстаткиДляРаспределения.ВалютнаяСуммаОстатокДт КАК ВалютнаяСуммаОстатокДт, | ПолнаяСуммаОтгрузок.СуммаОборот КАК СуммаОборотИтого, | ПолнаяСуммаОтгрузок.ВалютнаяСуммаОборот КАК ВалютнаяСуммаОборотИтого | ИЗ | (ВЫБРАТЬ | СуммыИДатыПоРеализациям.Счет КАК Счет, | СуммыИДатыПоРеализациям.Регистратор КАК Регистратор, | СуммыИДатыПоРеализациям.Контрагент КАК Контрагент, | СуммыИДатыПоРеализациям.Аналитика КАК Аналитика, | СуммыИДатыПоРеализациям.Валюта КАК Валюта, | СуммыИДатыПоРеализациям.СуммаОборот КАК СуммаОборот, | СуммыИДатыПоРеализациям.ВалютнаяСуммаОборот КАК ВалютнаяСуммаОборот, | СуммыИДатыПоРеализациям.Дата КАК Дата, | СУММА(СуммыИДатыПоРеализациям1.СуммаОборот) КАК СуммаОборотНИ, | СУММА(СуммыИДатыПоРеализациям1.ВалютнаяСуммаОборот) КАК ВалютнаяСуммаОборотНИ | ИЗ | СуммыИДатыПоРеализациям КАК СуммыИДатыПоРеализациям | ВНУТРЕННЕЕ СОЕДИНЕНИЕ СуммыИДатыПоРеализациям КАК СуммыИДатыПоРеализациям1 | ПО СуммыИДатыПоРеализациям.Счет = СуммыИДатыПоРеализациям1.Счет | И СуммыИДатыПоРеализациям.Аналитика = СуммыИДатыПоРеализациям1.Аналитика | И (ВЫБОР | КОГДА СуммыИДатыПоРеализациям.Дата < СуммыИДатыПоРеализациям1.Дата | ТОГДА ЛОЖЬ | КОГДА СуммыИДатыПоРеализациям.Дата = СуммыИДатыПоРеализациям1.Дата | И СуммыИДатыПоРеализациям.Регистратор.МоментВремени > СуммыИДатыПоРеализациям1.Регистратор.МоментВремени | ТОГДА ЛОЖЬ | ИНАЧЕ ИСТИНА | КОНЕЦ) | | СГРУППИРОВАТЬ ПО | СуммыИДатыПоРеализациям.Аналитика, | СуммыИДатыПоРеализациям.Регистратор, | СуммыИДатыПоРеализациям.Контрагент, | СуммыИДатыПоРеализациям.Счет, | СуммыИДатыПоРеализациям.Дата, | СуммыИДатыПоРеализациям.СуммаОборот, | СуммыИДатыПоРеализациям.ВалютнаяСуммаОборот, | СуммыИДатыПоРеализациям.Валюта) КАК НарастающийИтогОтгрузок | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ОстаткиДляРаспределения КАК ОстаткиДляРаспределения | ПО НарастающийИтогОтгрузок.Счет = ОстаткиДляРаспределения.Счет | И НарастающийИтогОтгрузок.Контрагент = ОстаткиДляРаспределения.Контрагент | И НарастающийИтогОтгрузок.Аналитика = ОстаткиДляРаспределения.Аналитика | И НарастающийИтогОтгрузок.Валюта = ОстаткиДляРаспределения.Валюта | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | СуммыИДатыПоРеализациям.Счет КАК Счет, | СуммыИДатыПоРеализациям.Контрагент КАК Контрагент, | СуммыИДатыПоРеализациям.Аналитика КАК Аналитика, | СуммыИДатыПоРеализациям.Валюта КАК Валюта, | СУММА(СуммыИДатыПоРеализациям.СуммаОборот) КАК СуммаОборот, | СУММА(СуммыИДатыПоРеализациям.ВалютнаяСуммаОборот) КАК ВалютнаяСуммаОборот | ИЗ | СуммыИДатыПоРеализациям КАК СуммыИДатыПоРеализациям | | СГРУППИРОВАТЬ ПО | СуммыИДатыПоРеализациям.Аналитика, | СуммыИДатыПоРеализациям.Контрагент, | СуммыИДатыПоРеализациям.Счет, | СуммыИДатыПоРеализациям.Валюта) КАК ПолнаяСуммаОтгрузок | ПО НарастающийИтогОтгрузок.Счет = ПолнаяСуммаОтгрузок.Счет | И НарастающийИтогОтгрузок.Контрагент = ПолнаяСуммаОтгрузок.Контрагент | И НарастающийИтогОтгрузок.Аналитика = ПолнаяСуммаОтгрузок.Аналитика | И НарастающийИтогОтгрузок.Валюта = ПолнаяСуммаОтгрузок.Валюта) КАК ВложенныйЗапрос) КАК ВложенныйЗапрос, | Константа.ВалютаРегламентированногоУчета КАК ВалютаРегламентированногоУчета |ГДЕ | ВЫБОР | КОГДА ВложенныйЗапрос.Валюта = ВалютаРегламентированногоУчета.Значение | И ВложенныйЗапрос.СуммаДолга > 0 | ТОГДА ИСТИНА | КОГДА ВложенныйЗапрос.Валюта <> ВалютаРегламентированногоУчета.Значение | И ВложенныйЗапрос.ВалютнаяСуммаДолга > 0 | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ"; Результат = Запрос.Выполнить().Выгрузить(); |
|||
46
Одинесю
27.05.16
✎
11:39
|
(31) Принцип простой - строишь итоги, упорядочиваешь по ВОЗР, сначала в обходе по иерархии смотришь достаточно ли количество для списания, потом заходишь в детальные записи и списываешь, там все будет по порядку.
|
|||
47
aleks_default
27.05.16
✎
11:51
|
поржал с названия темы...
|
|||
48
Mikhail Volkov
27.05.16
✎
13:31
|
(47) Блин, убрал бы валюту из названия темы, уже достали...
|
|||
49
Mikhail Volkov
27.05.16
✎
16:19
|
(45) Откуда такой, из какой конфигурации, или самописный?
|
|||
50
vde69
27.05.16
✎
16:23
|
(49) самописный, и конфа то же самописная :)
|
|||
51
Mikhail Volkov
27.05.16
✎
19:13
|
(50) Просьба слово "валюты" из заголовка убрать? Достали уже, не по делу отвечают...
|
|||
52
Mikhail Volkov
28.05.16
✎
02:44
|
(46) > сначала в обходе по иерархии смотришь достаточно ли количество для списания
Этот момент можно подробнее? В моем запросе (44) как раз не хватает начального момента выборки, когда "достаточно ли количество для списания" |
|||
53
Злопчинский
28.05.16
✎
02:46
|
(52) посмотри на ис у Ильдаровича запрос по расчету долгов по фифо запросом
|
|||
54
Mikhail Volkov
28.05.16
✎
05:09
|
(53) Извиняюсь, ИС это где, можно ссылку?
|
|||
55
Alexor
28.05.16
✎
13:02
|
(0) Оформить доп.расходы на поступление не поможет в вашем случае?
|
|||
56
Злопчинский
28.05.16
✎
13:42
|
(54) ИС = инфостарт
|
|||
57
bura_limon
28.05.16
✎
20:20
|
(43) смотри любый из билетов специалист 1с по ут.У ТС стаж 5 лет...
|
|||
58
Serginio1
29.05.16
✎
08:54
|
||||
59
Mikhail Volkov
29.05.16
✎
08:59
|
(55) Нет, курсовые разницы - внереализационные расходы, по законодательству в себестоимость товара не должны входить (по регл. учету).
(58) Спс. Уже смотрел в УТ10.3 с классическим партионным учетом. Но там товар, имеющий партии. В отбор берутся только партии, которые в наличии на момент списания. Порядок отбора партий можно задать по ФИФО, или еще как надо. Мой объект учета не имеет партий. В этом вся сложность - ни сколько в написании запроса, в построении алгоритма. |
|||
60
Serginio1
29.05.16
✎
09:06
|
(59) Значит надо заводить либо ссылку на накладну. или справочник партия
|
|||
61
FIXXXL
29.05.16
✎
09:32
|
(59) документ твой чем не партия?
|
|||
62
Mikhail Volkov
29.05.16
✎
18:17
|
(60) Добавить еще подчиненный справочник партий (как в 7-ке), или в табл. часть "Расшифровка платежа" документа "Списание безналичных денежных средств" добавить ссылки типа ДокументПартии (как в УТ10.3) - думал над этим, но не хочется вносить такие серьезные изменения в конфигурацию (добавление объектов). Попытаюсь решить задачу чисто алгоритмически, появились некоторые идеи в направлении подсказанные (46).
|
|||
63
Злопчинский
29.05.16
✎
18:38
|
Еще раз Ильдарович
http://catalog.mista.ru/public/262300/ |
|||
64
Mikhail Volkov
29.05.16
✎
19:17
|
(63) Спс, кажись что надо!
|
|||
65
Злопчинский
29.05.16
✎
21:28
|
(64) Потом отпишись что получилось
|
|||
66
Mikhail Volkov
05.06.16
✎
12:23
|
Задачу в принципе решил алгоритмически без добавления каких либо объектов (Партий, реквизитов ДокументПартии). Правда не стал все пихать в один запрос. Отдельным запросом определяю начальный момент выборки для запроса (44), когда на остатке нулевой, или состоящий из одной "партии" остаток. Им же подсчитываю сумму Сумму предшествующую расходов. Уже в цикле (44) сначала ее погашаю, а уже после начинаю погашать свою сумму списания. В общем алгоритм работает.
Тут еще одна неточность вылезла: когда валютная сумма списывается под ноль, я тоже подгоняю свой КурсКонвертации, чтобы по упр. учету все списалось под ноль. Но у него в 1С лишь 4 знака после запятой (у банка 8), в результате остаются копейки по упр. учету. Надо бы непосредственно в алгоритме проведения СписаниеБезналичныхДенежныхСредств это обнуление прописать, но не могу найти где именно этот запрос, который формирует движения по РегистрНакопления.ДенежныеСредстваБезналичные. Подскажите где его искать? |
|||
67
Mikhail Volkov
06.06.16
✎
16:31
|
Функция ТекстЗапросаТаблицаДвиженияДенежныхСредств(Запрос, ТекстыЗапроса, Регистры) - наверное?
|
|||
68
Mikhail Volkov
07.06.16
✎
20:00
|
Не, эта:
Функция ТекстЗапросаТаблицаДенежныеСредстваБезналичные(Запрос, ТекстыЗапроса, Регистры) ИмяРегистра = "ДенежныеСредстваБезналичные"; Если НЕ ПроведениеСервер.ТребуетсяТаблицаДляДвижений(ИмяРегистра, Регистры) Тогда Возврат ""; КонецЕсли; УстановитьПараметрыЗапросаКоэффициентыВалют(Запрос); Если НЕ ПроведениеСервер.ЕстьТаблицаЗапроса("ТаблицаРасшифровкаПлатежа", ТекстыЗапроса) Тогда ТекстЗапросаВременнаяТаблицаРасшифровкаПлатежа(Запрос, ТекстыЗапроса); КонецЕсли; ТекстЗапроса = " |ВЫБРАТЬ | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) | ИНАЧЕ | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) | КОНЕЦ КАК ВидДвижения, | &Период КАК Период, | | ДанныеДокумента.Организация КАК Организация, | ДанныеДокумента.БанковскийСчет КАК БанковскийСчет, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ТаблицаРасшифровкаПлатежа.Сумма | ИНАЧЕ | 0 | КОНЕЦ КАК Сумма, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ТаблицаРасшифровкаПлатежа.СуммаУпр | ИНАЧЕ | 0 | КОНЕЦ КАК СуммаУпр, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ТаблицаРасшифровкаПлатежа.СуммаРегл | ИНАЧЕ | 0 | КОНЕЦ КАК СуммаРегл, | | ВЫБОР КОГДА НЕ ДанныеДокумента.ПроведеноБанком ТОГДА | ТаблицаРасшифровкаПлатежа.Сумма | ИНАЧЕ | 0 | КОНЕЦ КАК КСписанию, | | &ХозяйственнаяОперация КАК ХозяйственнаяОперация, | ТаблицаРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, | ДанныеДокумента.ТипПлатежаФЗ275 КАК ТипПлатежаФЗ275, | ДанныеДокумента.СтатьяКалькуляции КАК СтатьяКалькуляции, | | ВЫБОР КОГДА | ДанныеДокумента.ХозяйственнаяОперация = ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику) | ТОГДА | Неопределено | ИНАЧЕ | ТаблицаРасшифровкаПлатежа.АналитикаУчетаПоПартнерам | КОНЕЦ КАК АналитикаУчетаПоПартнерам, | ТаблицаРасшифровкаПлатежа.Заказ КАК Заказ, | ДанныеДокумента.Ссылка КАК ПлатежныйДокумент | |ИЗ | Документ.СписаниеБезналичныхДенежныхСредств КАК ДанныеДокумента | | ЛЕВОЕ СОЕДИНЕНИЕ | ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа | ПО | Истина | |ГДЕ | ДанныеДокумента.Ссылка = &Ссылка | И ДанныеДокумента.ХозяйственнаяОперация В ( | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоставщику), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыдачаДенежныхСредствПодотчетнику), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратОплатыКлиенту), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеТаможне), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаДенежныхСредствВДругуюОрганизацию), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВозвратДенежныхСредствВДругуюОрганизацию), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаПоКредитам), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеНаДепозиты), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыдачаЗаймов), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыдачаЗаймаСотруднику), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ОплатаЛизингодателю) | ) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) | ИНАЧЕ | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) | КОНЕЦ КАК ВидДвижения, | &Период КАК Период, | | ДанныеДокумента.Организация КАК Организация, | ДанныеДокумента.БанковскийСчет КАК БанковскийСчет, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ТаблицаРасшифровкаПлатежа.Сумма | ИНАЧЕ | 0 | КОНЕЦ КАК Сумма, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ТаблицаРасшифровкаПлатежа.СуммаУпр | ИНАЧЕ | 0 | КОНЕЦ КАК СуммаУпр, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ТаблицаРасшифровкаПлатежа.СуммаРегл | ИНАЧЕ | 0 | КОНЕЦ КАК СуммаРегл, | | ВЫБОР КОГДА НЕ ДанныеДокумента.ПроведеноБанком ТОГДА | ТаблицаРасшифровкаПлатежа.Сумма | ИНАЧЕ | 0 | КОНЕЦ КАК КЗачислению, | | &ХозяйственнаяОперация КАК ХозяйственнаяОперация, | ТаблицаРасшифровкаПлатежа.СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, | ДанныеДокумента.ТипПлатежаФЗ275 КАК ТипПлатежаФЗ275, | ДанныеДокумента.СтатьяКалькуляции КАК СтатьяКалькуляции, | Неопределено КАК АналитикаУчетаПоПартнерам, | Неопределено КАК Заказ, | ДанныеДокумента.Ссылка КАК ПлатежныйДокумент | |ИЗ | Документ.СписаниеБезналичныхДенежныхСредств КАК ДанныеДокумента | | ЛЕВОЕ СОЕДИНЕНИЕ | ТаблицаРасшифровкаПлатежа КАК ТаблицаРасшифровкаПлатежа | ПО | Истина | |ГДЕ | ДанныеДокумента.Ссылка = &Ссылка | И ДанныеДокумента.ХозяйственнаяОперация В ( | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеВБюджет), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПрочаяВыдачаДенежныхСредств) | ) | |ОБЪЕДИНИТЬ ВСЕ | |ВЫБРАТЬ | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход) | ИНАЧЕ | ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход) | КОНЕЦ КАК ВидДвижения, | &Период КАК Период, | | ДанныеДокумента.Организация КАК Организация, | ДанныеДокумента.БанковскийСчет КАК БанковскийСчет, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ДанныеДокумента.СуммаДокумента | ИНАЧЕ | 0 | КОНЕЦ КАК Сумма, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ВЫРАЗИТЬ(ДанныеДокумента.СуммаДокумента * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15, 2)) | ИНАЧЕ | 0 | КОНЕЦ КАК СуммаУпр, | | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ВЫРАЗИТЬ(ДанныеДокумента.СуммаДокумента * &КоэффициентПересчетаВВалютуРегл КАК ЧИСЛО(15, 2)) | ИНАЧЕ | 0 | КОНЕЦ КАК СуммаРегл, | | ВЫБОР КОГДА НЕ ДанныеДокумента.ПроведеноБанком ТОГДА | ДанныеДокумента.СуммаДокумента | ИНАЧЕ | 0 | КОНЕЦ КАК КЗачислению, | | &ХозяйственнаяОперация КАК ХозяйственнаяОперация, | &СтатьяДвиженияДенежныхСредств КАК СтатьяДвиженияДенежныхСредств, | ДанныеДокумента.ТипПлатежаФЗ275 КАК ТипПлатежаФЗ275, | ДанныеДокумента.СтатьяКалькуляции КАК СтатьяКалькуляции, | Неопределено КАК АналитикаУчетаПоПартнерам, | Неопределено КАК Заказ, | ДанныеДокумента.Ссылка КАК ПлатежныйДокумент | |ИЗ | Документ.СписаниеБезналичныхДенежныхСредств КАК ДанныеДокумента | |ГДЕ | ДанныеДокумента.Ссылка = &Ссылка | И ДанныеДокумента.ХозяйственнаяОперация В ( | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.КонвертацияВалюты), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.СнятиеНаличныхДенежныхСредств), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ПеречислениеДенежныхСредствНаДругойСчет), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВнутренняяПередачаДенежныхСредств), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыПоЗарплатномуПроекту), | ЗНАЧЕНИЕ(Перечисление.ХозяйственныеОперации.ВыплатаЗарплатыНаЛицевыеСчета) | ) |"; ТекстыЗапроса.Добавить(ТекстЗапроса, ИмяРегистра); Возврат ТекстЗапроса; КонецФункции В общем нем есть выражение: ВЫРАЗИТЬ(ДанныеДокумента.СуммаДокумента * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15, 2)) Обычно, когда валюты регламентного и упр. учетов совпадает, и равен Руб., то &КоэффициентПересчетаВВалютуУпр и &КоэффициентПересчетаВВалютуРегл равны (берется офиц. курс конвертации ЦБ), и Суммы по упр. учету равны регламентным, т.е. упр. учет дублирует регламентный. Мне поставлена задача для учета курсовой разницы по упр. учету брать курс конвертации банка, у которого купили валюту. При этом в РН Денежные средства (безналичные) по упр. учету копится сумма по "себестоимости валюты". Когда производится оплата поставщику курс конвертации рассчитываю своей функцией по "себестоимости валюты" (уже переделал по ФИФО). Вроде все работает как надо, вот только есть неточность. Когда при оплате с валютного р/счета все списывается под ноль, рассчитанным курсом конвертации остаток по упр. учету тоже делаю под ноль. Но поскольку точность курса конвертации в 1С всего 4 знака (у банка 8), то копейки все же остаются (до 50 коп.), и портят картину. Хочу в текст запроса вставить условие, когда ДанныеДокумента.СуммаДокумента (в валюте) равна сумме остатка (т.е. списывается в ноль), то СуммаУпр была равна СуммаУпр остатка - тоже в ноль списывалась. Вот только не соображу как это сделать. Помогите, кто силен в конструировании запросов!? |
|||
69
s_ustinov
07.06.16
✎
20:14
|
(0) Ну ответ напрашивается сам собой.
Реализовать партионный учет денег (валюты). В качестве партии использовать номер документа приобретения валюты. При списании по умолчанию списывать валюту по ФИФО, но дать возможность пользователю вручную выбрать партию денег. Наверняка ведь потом заказчику понадобится возможность указать, что "а этот платеж мы делаем теми долларами, что куплены позавчера, а не теми, что куплены две недели назад". :) Ну а посчитать себестоимость партии валюты в рублях или в валюте приобретения - задача совсем несложная. |
|||
70
Mikhail Volkov
08.06.16
✎
03:10
|
(69) > Наверняка ведь потом заказчику понадобится возможность указать, что...
По товару, да, просили: сделайте как 7-ке, чтобы бала возможность в РТУ нужную партию указывать!? Вроде убедил, что в УТ11.2 смыла нет в этом. По поводу валюты принцип ФИФО реализовал, заказчик доволен, но копейки картину портят - когда на остатке - 0,01 красным! |
|||
71
Mikhail Volkov
08.06.16
✎
06:29
|
По примеру ТекстЗапросаКурсовыеРазницыПоБезналичнымДС(ХозяйственнаяОперация) из модуля менеджера ПереоценкаВалютныхСредств сперва нужно создать втОстакиБезналичных типа:
|ВЫБРАТЬ РАЗРЕШЕННЫЕ | ДенежныеСредстваБезналичныеОстатки.СуммаОстаток, | ДенежныеСредстваБезналичныеОстатки.СуммаУпрОстаток |ПОМЕСТИТЬ втОстакиБезналичных |ИЗ | РегистрНакопления.ДенежныеСредстваБезналичные.Остатки(&Период, БанковскийСчет = ДанныеДокумента.БанковскийСчет) КАК ДенежныеСредстваБезналичныеОстатки Правда не ясно параметр &Период - это Дата моего СписаниеБезналичныхДенежныхСредств (включая мой документ, или нет? Хотя наверное не важно, при его проведении, его движения должны отменяться), БанковскийСчет задается не как параметр &БанковскийСчет, а ДанныеДокумента.БанковскийСчет - это нормально? Имея ДенежныеСредстваБезналичныеОстатки уже фрагмент: | ВЫБОР КОГДА ДанныеДокумента.ПроведеноБанком ТОГДА | ВЫРАЗИТЬ(ДанныеДокумента.СуммаДокумента * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15, 2)) | ИНАЧЕ | 0 | КОНЕЦ КАК СуммаУпр, заменить на: | ВЫБОР КОГДА НЕ ДанныеДокумента.ПроведеноБанком ТОГДА | 0 | КОГДА ДенежныеСредстваБезналичныеОстатки.СуммаОстаток = ДанныеДокумента.СуммаДокумента ТОГДА | ДенежныеСредстваБезналичныеОстатки.СуммаУпрОстаток | ИНАЧЕ | ВЫРАЗИТЬ(ДанныеДокумента.СуммаДокумента * &КоэффициентПересчетаВВалютуУпр КАК ЧИСЛО(15, 2)) | КОНЕЦ КАК СуммаУпр, спишется весь остаток по упр. учету - так? Вот только как это все в кучу собрать, втОстакиБезналичных в запрос встроить? |
|||
72
Mikhail Volkov
08.06.16
✎
10:58
|
Простое добавление 1-го фрагмента в начало запроса дает ошибку: Поле не найдено: ДенежныеСредстваБезналичныеОстатки.СуммаОстаток
Где почитать про временные таблицы в запросах? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |