Автор Тема: 1.41  (Прочитано 15773 раз)

0 Пользователей и 1 Гость просматривают эту тему.

bonig

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: bonig
1.41
« Ответ #15 : Сентябрь 09, 2011, 11:10:48 am »
1) DoctorRoza более чем прав. Добавлю - стоимость в рублях должна определяться на момент прихода товара, то есть без СтоимостьРубли надо было бы знать курс на момент прихода, для чего пришлось бы вводить партии и сильно усложнять решение.
 2) По-моему все-таки лучше не заморачиваться с выручкой в регистре Продажи, а прямо ввести Прибыль валютную и рублевую. решение получается проще. Все-таки минуты на сертификации лишними быть не могут.
 Задачка простая на первый взгляд, однако промучился я с ней долго. Вроде бы все получилось. Буду благодарен за критику.
Вложения:
1_41_bonig.dt

shv

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Александр Швецов
1.41
« Ответ #16 : Сентябрь 09, 2011, 03:37:17 pm »
bonig, без учета курса на момент прихода решить правильно не получится sad У тебя списывается по среднему курсу, а не по курсу закупки, как в задачнике.

 В запросе временную таблицу ТЧ надо индексировать по Номенклатуре, так как по этому полю идет соединение. ( -0,5 если захотят заметить smile ).
 Не понял зачем внутреннее соединение с регистром курсов валют...

 Понравился твой регистр Продажи. Отчет получается очень просто.
 Сделал такой же как второй вариант.
Вложения:
shv-1.41.dt


bonig

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: bonig
1.41
« Ответ #17 : Сентябрь 09, 2011, 11:38:14 pm »
shv, спасибо за замечания, учту. Однако, в задаче есть фраза "При продаже товаров себестоимость рассчитывается как средняя по валюте". А разве рубль не валюта? smile Интересно, что ответит экзаменатор на этот вопрос....

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
1.41
« Ответ #18 : Сентябрь 10, 2011, 11:29:24 am »
Разницы никакой нет, в качестве валюты может быть и рубль. Только надо обязательно указывать в реквизитах документов эту валюту, рассчитывать курсы. И, соответственно, этот рубль попадет и в отчет!

shv

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Александр Швецов
1.41
« Ответ #19 : Сентябрь 12, 2011, 08:10:50 am »
DoctorRoza, bonig, возможно мы говорим об одном и том же. Уточню, я понимаю задачу так:
 "При продаже товаров себестоимость рассчитывается как средняя по валюте, причем валюта продажи и валюта себестоимости могут не совпадать."
 То есть, существует валюта продажи и валюта себестоимости. Эти валюты указываются в шапке документа. Если закупили за рубли то себестоимость рассчитывается и списывается рублевая. Если за Евро, то себестоимость рассчитывается в Евро и т.д. Естественно мы, если хотим, можем сразу же рассчитывать себестоимость еще и в рублях, независимо от валюты закупки. Но основная валюта для расчета себестоимости это все-таки валюта закупки.

 "Порядок списания по валютам остается на усмотрение разработчика."
 То есть, если мы закупили один и тот же товар, например за доллары и за евро, то порядок списания определяем сами: сначала списываем долларовые закупки, потом товар, купленный за евро. Или наоборот. Но порядок какой-то должен быть определен, например по коду валюты или по алфавиту.

 Судя по формуле расчета прибыли, списание по среднему курсу не предусмотрено. Значит нам надо вести учет еще и в разрезе партий или сразу в разрезе курсов закупки.

 DoctorRoza, заметил один косяк в твоем решении - продажи в рублях учитываются дважды. См. картинку.
Вложения:
s4659184.jpg
« Последнее редактирование: Сентябрь 12, 2011, 12:49:42 pm от Александр Швецов »

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
1.41
« Ответ #20 : Сентябрь 12, 2011, 06:57:11 pm »
Quote (shv)
См. картинку.

 согласен .. буду думать ..

 
Quote (shv)
Судя по формуле расчета прибыли, списание по среднему курсу не предусмотрено. Значит нам надо вести учет еще и в разрезе партий или сразу в разрезе курсов закупки.

 Усложняете! Мыслю, что проще, списание делать в валюте покупки. Тут сразу определяется рублевая сумма, что поможет при построение отчета. Ну а при продаже, тут уж как получится, так сказать, какая валюта, но кросс-курс будет уже определятся на текущую дату.

Para_1987

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Вячеслав
1.41
« Ответ #21 : Сентябрь 15, 2011, 10:09:05 pm »
Вот решил, вроде не особо сложная задачка...замута с этими валютами небольшая)
 но решение вроде верное. Пример отчета из задачника построился без проблем. ну и на своих данных потестил, вроде тоже верно отображает.

 2 регистра:
 ОстаткиНоменклатуры (Изм: Номенклатура, Валюта; Рес: Количество, СуммаВалютная, СуммаРублевая)
 Продажи (Изм: Номенклатура, Валюта; Рес: Количество, СебестоимостьВалютная, СебестоимостьРублевая, СуммаВалютная, СуммаРублевая) - последние 2 ресурса хранят суммы продажи.

 При продаже, определяю долю каждой номенклатуры по валюте списания, ну и вычисляю суммы. Списываю по валюте поступления, так думаю проще и лучше (раз отчет строим по валютам закупке). А в регистр продаж суммы пишутся по кросс-курсу.

 Отчет довольно легко построился. Конечно, вряд ли хорошо что у регистра "Продажи" много ресурсов, но...думаю все таки решение имеет право на жизнь)))
Вложения:
Para_1987_1.41.dt
« Последнее редактирование: Сентябрь 15, 2011, 10:12:38 pm от Вячеслав »

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
1.41
« Ответ #22 : Декабрь 16, 2011, 03:13:41 pm »
Вот ещё пример решения ...
 Если есть замечания - пишите.
Вложения:
nodalt_1_41.dt

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
1.41
« Ответ #23 : Декабрь 16, 2011, 04:55:40 pm »
nodalt,
 Есть несколько вопросов для обсуждения
 1. В отчете получаете обороты по остаточному регистру. А они строятся только по физическим таблицам. могут быть замечания при проверке.
 2. Вот эта запись даст обязательно ошибку при нулевых остатках:

 КОГДА ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) = 0
 ТОГДА 0
 ИНАЧЕ ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СуммаВалОстаток, 0) / ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0)
 КОНЕЦ КАК СебестоимостьВал,
 з. Вот эта запись может привести к ошибке потери копеек если на один и тот же товар будет разная цена

 ТЧ.СуммаДок / ТЧ.КоличествоДок * КурсВалютыПродажи.Курс / КурсыВалютСрезПоследних.Курс

 Т.е сумма продаж по документу не совпадет с суммой записанной в регистр
 Я думаю при разных ценах на один и тот же товар нужно отказывать в этой задаче от проведения или предупреждать пользователя что выручка будет рассчитана по средней цене.

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

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
1.41
« Ответ #24 : Декабрь 16, 2011, 07:48:51 pm »
1.   Посмотрел список наиболее часто встречающихся ошибок. Вы, наверное, имеете в виду пункт «В задачах получения итоговой информации по остаткам использование информации по оборотам или наоборот: - 2.0 балла». Согласен с вами. Вообще первоначально я сделал в оборотах дополнительно два измерения для себестоимости (СебестоимостьВал и СебестоимостьРуб), но потом переделал регистр и отчет – подумал о нецелесообразности добавления лишних данных. Теперь буду иметь в виду.
 2.   По второму пункту объясните пожалуйста, я не понял. Почему при нулевых остатках даст ошибку?
 3.   По этому пункту абсолютно с вами согласен – нужна проверка при заполнении табличной части. Честно говоря, я об этом не подумал. Но тем, не менее предусмотреть все варианты использования документа сложно и на экзамене времени на это возможно не будет. А в принципе я согласен.

 «Почему вы не хотите писать в оборотный регистр сразу прибыль? По условию вроде выручку учитывать нам не нужно»
 Этот момент я обдумывал, а писать сразу прибыль не захотел, просто из идейных соображений … Например, не всегда задача подразумевает стоимостной учет, а только количественный. Тем не менее, в документе на реализацию всё равно проставляется цена и сумма товара. Надо же с чего-то налоги платить ))) Это просто мой выбор. Но как оказалось не лучший.

 Спасибо за замечания. Однозначно «+»!
 Если по второму вопросу объясните, то вообще респект 

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
1.41
« Ответ #25 : Декабрь 16, 2011, 08:40:41 pm »
У вас таблица остатков присоединяется к таблице документа. Т.е записи будут всегда даже если на остатках ноль
 соответствие будет 0/0. В данном случае это конечно мелкая ошибка но а в отчете такая конструкция будет часто давать ошибку.
Вложения:
s0641663.jpg

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
1.41
« Ответ #26 : Декабрь 16, 2011, 09:33:13 pm »
Деление на ноль отрабатывается не в этом случае.
 Конструкция
 
Quote (kow1976)
КОГДА ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) = 0
 ТОГДА 0
 ИНАЧЕ ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СуммаВалОстаток, 0) / ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0)
 КОНЕЦ КАК СебестоимостьВал,

 здесь не при чем. Она как раз призвана ликвидировать подобную ситуацию.
 Деление на ноль происходит, если не указать количество в табличной части документа.
 Из-за вот этих строк:
 
Quote (kow1976)
ТЧ.СуммаДок / ТЧ.КоличествоДок * КурсВалютыПродажи.Курс / КурсыВалютСрезПоследних.Курс

Вложения:
s8151710.jpg

SergTH000

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
1.41
« Ответ #27 : Декабрь 16, 2011, 10:35:46 pm »
nodalt,
Quote
КОГДА ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) = 0
 ТОГДА 0
 ИНАЧЕ ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СуммаВалОстаток, 0) / ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0)
 КОНЕЦ КАК СебестоимостьВал,


 ЕстьNull для количествоОстаток после "иначе" не нужно, ведь эта ситуация обработана после когда.

kow1976

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
1.41
« Ответ #28 : Декабрь 16, 2011, 10:48:59 pm »
nodalt,
 да вы правы в принципе конструкция работает правильно.

nodalt

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Копейкин Дмитрий Николаевич
1.41
« Ответ #29 : Декабрь 16, 2011, 11:31:39 pm »
SergTH000,
 
Quote (SergTH000)
ЕстьNull для количествоОстаток после "иначе" не нужно, ведь эта ситуация обработана после когда.

 да, там уже не надо использовать.