Автор Тема: Задача 2.10  (Прочитано 22663 раз)

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

Zhora_Vlg

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Георгий
Задача 2.10
« : Октябрь 11, 2010, 07:00:45 pm »
Мое решение
Вложения:
Zhora_Vlg-2.10.dt

User_OKA

  • Новичок
  • *
  • Сообщений: 2
  • ФИО: Валерий
Задача 2.10
« Ответ #1 : Октябрь 16, 2010, 11:12:31 am »
Zhora_Vlg

Не реализовано условие "при равных условиях списывается наиболее дорогой товар".

Как реализовать?!
 Себестоимость рассчитывается как средняя по номенклатурной позиции в разрезе сроков годности.
 Но чтобы реализовать условие "при равных условиях списывается наиболее дорогой товар" придется добавить аналитику партию на счет Товары.

« Последнее редактирование: Октябрь 16, 2010, 12:30:38 pm от Валерий »


arhov

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Олег
Задача 2.10
« Ответ #2 : Октябрь 27, 2010, 03:55:15 pm »
Добрый день. Если мы добавим дополнительную аналитику партии, то при проведении РН по этой аналитике появится отрицательный остаток. Поясню.
 ПН1 : Товар1 Колво = 1 Сумма = 10 срок 30.10.12 - т.е. партия1
 ПН2 : Товар2 Колво = 1 Сумма = 20 срок 30.10.12 - т.е. партия2
 Аналитика на счете Товары : Номенклатура , СрокГодности, Партия.

В РН усредняем по СрокуГодности т.е.
 РН: Проводка1 : Номенклатура =Товар1 СрокГодности =30.12.10 партия = партия1 Сумма 15!!!!! -ушла в -5
 Проводка2 : Номенклатура =Товар1 СрокГодности =30.12.10 партия = партия2 Сумма 15!!!!! остаток 5
 Является ли это ошибкой?
 Если сделать субконто "партии" только обороты, то тогда не знаем какую партию списывать, а точнее не увидим остатков по этим партиям.((((
 Условие: "при равных условиях списывается наиболее дорогой товар" ставит в тупик. Или я где то ошибаюсь? Заранее благодарен.

разобрался)))

« Последнее редактирование: Октябрь 28, 2010, 10:37:33 am от Олег »

kea84

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Елена
Задача 2.10
« Ответ #3 : Ноябрь 10, 2010, 01:26:35 pm »
arhov, так какой выход?

trantor

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Trantor
Задача 2.10
« Ответ #4 : Ноябрь 17, 2010, 01:54:18 pm »
"при равных условиях списывается наиболее дорогой товар"
 можно реализовать так (в запросе ЦЕНА УБЫВ)

ВЫБРАТЬ
    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура,
    СУММА(РасходнаяНакладнаяСписокНоменклатуры.Количество) КАК Количество
 ПОМЕСТИТЬ ВремТаб
 ИЗ
    Документ.РасходнаяНакладная.СписокНоменклатуры КАК РасходнаяНакладнаяСписокНоменклатуры
 ГДЕ
    РасходнаяНакладнаяСписокНоменклатуры.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
    РасходнаяНакладнаяСписокНоменклатуры.Номенклатура
 ;

////////////////////////////////////////////////////////////////////////////////
 ВЫБРАТЬ
    УправленческийОстатки.Счет,
    ВремТаб.Номенклатура КАК Номенклатура,
    ЕСТЬNULL(ВремТаб.Количество, 0) КАК Количество,
    УправленческийОстатки.Субконто2 КАК СрокГодности,
    УправленческийОстатки.Субконто3 КАК Партия,
    ЕСТЬNULL(УправленческийОстатки.СуммаОстатокДт, 0) / ЕСТЬNULL(УправленческийОстатки.КоличествоОстатокДт, 1) КАК Цена,
    ЕСТЬNULL(УправленческийОстатки.СуммаОстатокДт, 0) КАК СуммаОстаток,
    ЕСТЬNULL(УправленческийОстатки.КоличествоОстатокДт, 0) КАК КоличествоОстаток
 ИЗ
    ВремТаб КАК ВремТаб
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Управленческий.Остатки(
             &МоментВремени,
             Счет = &Счет,
             ,
             Субконто1 В
                (ВЫБРАТЬ
                   ВремТаб.Номенклатура
                ИЗ
                   ВремТаб)) КАК УправленческийОстатки
       ПО ВремТаб.Номенклатура = УправленческийОстатки.Субконто1

УПОРЯДОЧИТЬ ПО
    УправленческийОстатки.Субконто2,
    Цена УБЫВ
 ИТОГИ
    МАКСИМУМ(Количество),
    СУММА(КоличествоОстаток)
 ПО
    Номенклатура

Добавлено (17.11.2010, 13:54)
---------------------------------------------
Кстати перечитал еще раз условие задачи, там есть взаимоисключающие условия:
 1) При прочих равных условиях списывается наиболее дорогой, после сроков годности
 2) Себестоимость расчитывается как средняя по номенклатуре в разрезе срока годности

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

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


BashOrgRu

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: BashOrgRu
Задача 2.10
« Ответ #5 : Май 13, 2011, 12:51:05 pm »
Quote (trantor)
Или они хотят чтобы при решении задачи сделали признак учета субконто по сумме, и для субконто партии его отключили. Тогда получится что хранение по сумме партий мы отключим, но возможность поиска партии с более дорогой ценой останется...

Если отключить, то отчет будет вываливаться с ошибкой, т.к. строки
 

Quote
ЕСТЬNULL(УправленческийОстатки.СуммаОстатокДт, 0) / ЕСТЬNULL(УправленческийОстатки.КоличествоОстатокДт, 1) КАК Цена,
 ЕСТЬNULL(УправленческийОстатки.СуммаОстатокДт, 0) КАК СуммаОстаток,
 ЕСТЬNULL(УправленческийОстатки.КоличествоОстатокДт, 0) КАК КоличествоОстаток

 он подсчитать не сможет.

Как вариант решения (но это по моему извращение) можно ресурс сумма сделать не балансовым и писать отдельно сумму на Дт - средняя цена по номенклатуре и сроку годности и Товары Кт - себестоимость партии

И наверное последний вариант это ввести дополнительный РегистрСведений (Номенклатура, СрокГодности, Партия -> Цена).

« Последнее редактирование: Май 13, 2011, 02:34:41 pm от BashOrgRu »

Infant

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Margarita
Задача 2.10
« Ответ #6 : Июнь 11, 2011, 11:57:10 am »
Кто-нибудь все-таки решил задачу со списанием количества по наибольшей цене, а себестоимости в разрезе номенклатуры и сроков годности? Выложите плз решение.
 Мое решение с использованием третьего субконто "Цена" с неустановленным признаком учета субконто "Суммовой". Но мне не сильно нравится идея запихивать цену в субконто. Что думаете по этому поводу?

 ***
 Вижу, что многие в подобных задачах (2.10, 2.13) получают цену делением суммы остатка на количество остаток. Но как в таком случае показать, что списался наиболее дорогой товар? Ведь цена в остатке по номенклатуре и сроку годности "теряется", усредняется.
 Пример:
 Товар1, срок годности 01.01.11, цена 10, кол-во 2
 Товар1, срок годности 01.01.11, цена 20, кол-во 2
 Нужно списать 2 товара. Как показать, что списываем именно товары по цене 20?

 Может я неверно понимаю условие "В первую очередь списывается товар с наименьшим календарным сроком годности (при равных условиях наиболее дорогой)" ?
« Последнее редактирование: Июнь 11, 2011, 12:42:14 pm от Margarita »

Lars_Ulrich

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 2.10
« Ответ #7 : Август 19, 2011, 04:03:00 pm »
2.10
Вложения:
2.10.dt

DoctorRoza

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Алексей
Задача 2.10
« Ответ #8 : Сентябрь 09, 2011, 11:30:30 pm »
Подобие 2.9
Вложения:
DoctorRoza_2_10.dt
« Последнее редактирование: Сентябрь 10, 2011, 10:53:19 pm от Алексей »

LEOON

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Верютин Сергей
Задача 2.10
« Ответ #9 : Сентябрь 18, 2011, 03:20:47 am »
Отлаживать особо не стал, но буду настаивать что сам способ решения правильный.
 У меня 3 субконто, по другому списывать в разрезе цены(на регистрах бухгалтерии) не получиться никак.
 Да и нет тут ничего криминального, порог в 16 полей далеко.
 В запросе два уровня итогов, один по номенклатуре(проверка кол-ва), второй по срокам(для расчета себестоимости), третий с остатками по ЦенеЗакупки и для упорядочивания.
 По крайней мере:
 - приходуйте как хотите, хоть каждая строчка со своим сроком и ценой
 - себестоимость в разрезе сроков есть
 - контроль остатков есть
 - списание в порядке цен есть
 Может чего не доглядел извиняйте wink .
Вложения:
LEOON_1.10-2.10.dt

kitaets

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Виталий
Задача 2.10
« Ответ #10 : Ноябрь 11, 2011, 06:55:52 pm »
Вот такой вариант...
Вложения:
2_10__Cv8.dt

Saipl

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Максим
Задача 2.10
« Ответ #11 : Декабрь 21, 2011, 03:17:08 pm »
Quote
DoctorRoza,
Надоело решать "Оперативный учет" решил разбавить "Бухгалтерским" smile
 Прокомментируй для повышения оразованности.
    мСубконто = Новый Массив;
    мСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);
    мСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.СрокГодности);
 Что нам это дает в запросе ???
          Сообщение = Новый СообщениеПользователю;
          Сообщение.Текст = "*************";
          Сообщение.Поле = "СписокНоменклатуры[" + (ВыборкаИтог.НомерСтроки - 1) + "].Количество";
          Сообщение.УстановитьДанные(ЭтотОбъект);
          Сообщение.Сообщить();
 Где-то вычитал что рекомендуется использовать такую схему сообщений, в чем отличие от обычного Сообщить("*************"). Будут ли по этому поводу замечания на экзамене?

LEOON

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Верютин Сергей
Задача 2.10
« Ответ #12 : Декабрь 21, 2011, 08:48:38 pm »
1)С помощью массива субконто и соответствующего параметра виртуальной таблицы можно упорядочивать субконто на счете. Т.е. после установки данного параметра как в примере мы будем уверены что номенклатура в виртуальной таблице будет первым субконто даже если это не так. И сможем указывать отбор в следующем параметре. Обращаясь к Субконто1 например так Субконто1 = Значение(Справочник.Номенклатура.РучкаШариковая)
 2)Сообщить служит для совместимости с версией 8.1, и его использование в принципе может считаться ошибкой.
 Тем более вот эта фишка:
 Сообщение.Поле = "СписокНоменклатуры[" + (ВыборкаИтог.НомерСтроки - 1) + "].Количество"
 Выдаст нам сообщение на той строке, на которой нужно. Очень круто выглядит cool

sv_mikh

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Михайлов Сергей Валерианович
Задача 2.10
« Ответ #13 : Февраль 25, 2012, 09:58:54 pm »
Мое решение. Сначала задача показалась слишком легкой... Но потом все же насторожило условие про "...при равных условиях наиболее дорогой товар...". Почитал devtrainingforum.v8.1c.ru и решил переделать. Получилось почти так же как у LEOON:
 1. На товарах 3 субконто (Номенклатура, СрокГодности, Цена). Третье субконто только в количественном выражении (признак учета субконто).
 2. Расчет сс по первым двум. (Выведение в ноль третьего субконто).

 Добавлено (25.02.2012, 21:58)
 ---------------------------------------------
 
Quote (LEOON)
Отлаживать особо не стал, но буду настаивать что сам способ решения правильный.
 У меня 3 субконто, по другому списывать в разрезе цены(на регистрах бухгалтерии) не получиться никак.
 Да и нет тут ничего криминального, порог в 16 полей далеко.
 В запросе два уровня итогов, один по номенклатуре(проверка кол-ва), второй по срокам(для расчета себестоимости), третий с остатками по ЦенеЗакупки и для упорядочивания.
 По крайней мере:
 - приходуйте как хотите, хоть каждая строчка со своим сроком и ценой
 - себестоимость в разрезе сроков есть
 - контроль остатков есть
 - списание в порядке цен есть
 Может чего не доглядел извиняйте .


 Кажется, что все же цена должна быть в виде субконто... В соответствии с http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=554046#554046
 Однако в Вашем решении, LEOON обнаружил:
 1. Не произойдет выведение в ноль суммы по товарам. Т.к. себестоимость считаете по сроку годности, а третье субконто цена имеет суммовое выражение.
 2. В запросе в расходной накладной не указываете дату получения остатков.
Вложения:
sv_mikh_02_10_2.dt
« Последнее редактирование: Февраль 25, 2012, 10:23:48 pm от Михайлов Сергей Валерианович »

LEOON

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Верютин Сергей
Задача 2.10
« Ответ #14 : Февраль 27, 2012, 07:47:46 pm »
sv_mikh,
 Спасибо за комментарий, решал как одну из первых по БП так что спорить не буду мог и накосипорить. Позже вернусь и перепроверю.