Автор Тема: Билет 1. Спец по платформе V8  (Прочитано 267081 раз)

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

xXeNoNx

  • Пользователь
  • **
  • Сообщений: 67
Re: Билет 1. Спец по платформе V8
« Ответ #600 : Июль 26, 2017, 09:14:12 am »
Можно поэксперементировать, получить остатки товаров, передав в массиве субконто вид субконто контрагенты, например

wolfery

  • Пользователь
  • **
  • Сообщений: 13
  • ФИО: wolfery
Re: Билет 1. Спец по платформе V8
« Ответ #601 : Июль 26, 2017, 01:19:18 pm »
Провела несколько экспериментов. Если получать остатки товаров с видом субконто контрагенты, то результат будет пустой. Если в запрос передать один вид субконто и попытаться получить субконто1 и субконто2, то запрос вылетит с ошибкой. Если передать массив одинаковых видов субконто и такой вид субконто есть на счете, то субконто1 и субконто2 будут одинаковые.
В общем, прочитала еще, что порядок элементов в передаваемом массиве видов субконто влияет на то, какое субконто будет субконто1, а какое субконто2. А так как порядок субконто на счете можно менять в пользовательском режиме, то это, наверное, основная причина, почему используется отбор по видам субконто в данном случае.


Yulia_Yulia

  • Новичок
  • *
  • Сообщений: 1
Re: Билет 1. Спец по платформе V8
« Ответ #602 : Сентябрь 25, 2017, 08:36:00 am »
Решила ОУи БУ из билета 1.
если есть время, можете прокомментировать мое решение

Clition

  • Проверенный
  • ***
  • Сообщений: 222
Re: Билет 1. Спец по платформе V8
« Ответ #603 : Октябрь 01, 2017, 11:16:28 am »
Решила ОУи БУ из билета 1.
если есть время, можете прокомментировать мое решение
Смотрел только ОУ.
В запросе на проверку остатков выбираете поля Склад и Номенклатура, но нигде не используете.
В этом же запросе параметром вирт.таблицы указываете границу. Для оперативного проведения нужно использовать Неопределено.
Не используете проверку РезультатЗапроса.Пустой().
Не чистите движения перед формированием движений по регистру ПартииОстаткиНоменклатуры.
Проблема копеек - у вас ошибка в проверке. Должно быть Если  Списываем = ВыборкаДетальныеЗаписи.КоличествоОстаток Тогда
Не понял зачем вам ТекСебестоимость = ТекСебестоимость + Стоимость;
В отчете у вас есть итоги по складам, а в условии нет.
Все ошибки на внимательность.
« Последнее редактирование: Октябрь 01, 2017, 11:25:05 am от Clition »

SnowWolf

  • Пользователь
  • **
  • Сообщений: 30
Re: Билет 1. Спец по платформе V8
« Ответ #604 : Октябрь 02, 2017, 01:24:32 am »
Всем привет,

решил досконально разобрать билеты, сразу возник вопрос -
при решении бухгалтерской задачи возникает затык
"Себестоимость определяется как средняя по товару по всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2010 поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности 30.01.2010 поступила по цене 110 рублей, то при списании себестоимость одной пачки данного йогурта равна 100 рублей."
соответственно списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?

Clition

  • Проверенный
  • ***
  • Сообщений: 222
Re: Билет 1. Спец по платформе V8
« Ответ #605 : Октябрь 02, 2017, 07:14:43 am »
списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Я только начал решать БУ. Можете выложить базу и запрос, в которых можно увидеть эту проблему?

Alasska

  • Пользователь
  • **
  • Сообщений: 32
Re: Билет 1. Спец по платформе V8
« Ответ #606 : Октябрь 02, 2017, 11:43:00 pm »
Всем привет,

решил досконально разобрать билеты, сразу возник вопрос -
при решении бухгалтерской задачи возникает затык
"Себестоимость определяется как средняя по товару по всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2010 поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности 30.01.2010 поступила по цене 110 рублей, то при списании себестоимость одной пачки данного йогурта равна 100 рублей."
соответственно списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Там не нужны партии, списание по среднему. Для того, чтобы не копился суммовой остаток, нужно использовать признак учета субконто "Суммовой", т.е. вести только суммовой остаток (итоговой) по номенклатуре

Alasska

  • Пользователь
  • **
  • Сообщений: 32
Re: Билет 1. Спец по платформе V8
« Ответ #607 : Октябрь 03, 2017, 12:00:51 am »
Решила ОУи БУ из билета 1.
если есть время, можете прокомментировать мое решение
Почему задачу по ОУ решили построить на двух регистрах? // дальше не смотрела ОУ

БУ. В документе Операция: я бы в форме убрала период, и заполняла бы его автоматом из модуля объекта в процедуре ПередЗаписью. Там же устанавливала бы активность для движений. При решении задачи следует учесть возможность наличия проводок, сформированных с помощью данного документа. Если записать документ с проводками и потом поставить пометку на удаление, то проводки будут активными, их надо вырубать.

Clition

  • Проверенный
  • ***
  • Сообщений: 222
Re: Билет 1. Спец по платформе V8
« Ответ #608 : Октябрь 03, 2017, 07:52:41 am »
Почему задачу по ОУ решили построить на двух регистрах? // дальше не смотрела ОУ
Из вашего вопроса, я так понимаю, это неправильно?
В соседнем топе alex1248 поясняет это так
во всех задачах с расчетом себестоимости надо использовать старую методику. Лично я принцип определения методики формулирую так: "Новая методика в том случае, если для ее применения не надо создавать дополнительных регистров и даже доп ресурсов в существующих регистрах. Если есть необходимость создания доп объектов исключительно для новой методики, использование новой методики на экз скорее всего будет признано неэффективным".
Но у меня вопрос по поводу эффективности. Два регистра - два показателя, две различные цели. Регистр остатков для быстрой проверки остатков и избавления от необходимости формировать более тяжеловесные движения по расчету себестоимости и движения по РБ. Да, мы вынуждены еще раз проверять остатки по регистру партий (синхронизация между регистрами не предусмотрена), но к этому этапу мы готовы, ведь остатки позволяют. В противном случае можем поиметь дополнительную бестолковую блокировку регистра партий. Задаю этот вопрос не потому что не согласен с Вашим мнением, а потому что хотелось бы знать как оппонировать этим аргументам.
« Последнее редактирование: Октябрь 03, 2017, 07:54:26 am от Clition »

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 1. Спец по платформе V8
« Ответ #609 : Октябрь 03, 2017, 10:27:43 am »
Но у меня вопрос по поводу эффективности. Два регистра - два показателя, две различные цели. Регистр остатков для быстрой проверки остатков и избавления от необходимости формировать более тяжеловесные движения по расчету себестоимости и движения по РБ. Да, мы вынуждены еще раз проверять остатки по регистру партий (синхронизация между регистрами не предусмотрена), но к этому этапу мы готовы, ведь остатки позволяют. В противном случае можем поиметь дополнительную бестолковую блокировку регистра партий. Задаю этот вопрос не потому что не согласен с Вашим мнением, а потому что хотелось бы знать как оппонировать этим аргументам.
Это мнение не моё.  :)
На самом деле, я при подготовке тоже прикручивал новую методику везде, где это было возможно сделать, и согласен, что нет однозначного ответа на вопрос по поводу эффективности.
Но после того как я уже сдал (а мне повезло, задача ОУ была однозначно с новой методикой, только на количество, без с/с или каких-то иных доп данных), на форуме было несколько отзывов о том, что в задачах с с/с и т.п. за прикручивание новой методики снижали оценки. Сообщений о снижении за старую в таких задачах за 2 последних года не было. Так что логично сделать вывод, что это мнение экзаменаторов.

la4an

  • Новичок
  • *
  • Сообщений: 4
Re: Билет 1. Спец по платформе V8
« Ответ #610 : Октябрь 03, 2017, 12:28:58 pm »
Господа а кто может сказать где взять доп условия для дистанционной сдачи по первому билету

Alasska

  • Пользователь
  • **
  • Сообщений: 32
Re: Билет 1. Спец по платформе V8
« Ответ #611 : Октябрь 03, 2017, 12:59:38 pm »
Почему задачу по ОУ решили построить на двух регистрах? // дальше не смотрела ОУ
Из вашего вопроса, я так понимаю, это неправильно?
В соседнем топе alex1248 поясняет это так
во всех задачах с расчетом себестоимости надо использовать старую методику. Лично я принцип определения методики формулирую так: "Новая методика в том случае, если для ее применения не надо создавать дополнительных регистров и даже доп ресурсов в существующих регистрах. Если есть необходимость создания доп объектов исключительно для новой методики, использование новой методики на экз скорее всего будет признано неэффективным".
Но у меня вопрос по поводу эффективности. Два регистра - два показателя, две различные цели. Регистр остатков для быстрой проверки остатков и избавления от необходимости формировать более тяжеловесные движения по расчету себестоимости и движения по РБ. Да, мы вынуждены еще раз проверять остатки по регистру партий (синхронизация между регистрами не предусмотрена), но к этому этапу мы готовы, ведь остатки позволяют. В противном случае можем поиметь дополнительную бестолковую блокировку регистра партий. Задаю этот вопрос не потому что не согласен с Вашим мнением, а потому что хотелось бы знать как оппонировать этим аргументам.

Я не стала смотреть то решение по ОУ, потому что его уже комментировали. Но решила задать вопрос про регистры. Соглашусь с тем мнением (чье бы оно не было :).)о том, что новую методику лучше применять тогда, когда для нее не надо создавать велосипед :)
Мне кажется это неэффективным. Как это покажется экзаменатору - другой вопрос. Мне на экзамене как раз попалась именно эта задача по ОУ. Я решила на одном регистре. Сразу скажу, что пока не знаю результатов экзамена.

п/с вообще, если мне не изменяет память, то при прорешевании билетов, я сама использовала новую методику только в двух местах. Вот например, в 6 билете ОУ про стеллажи.
« Последнее редактирование: Октябрь 03, 2017, 01:02:06 pm от Alasska »

SnowWolf

  • Пользователь
  • **
  • Сообщений: 30
Re: Билет 1. Спец по платформе V8
« Ответ #612 : Октябрь 03, 2017, 09:24:55 pm »
Я только начал решать БУ. Можете выложить базу и запрос, в которых можно увидеть эту проблему?

Цитировать
//Бухгалтерский учет
Функция БухгалтерскийУчет(Отказ, Режим)

// Включим движения по регистрам и заблокируем необходимые
///////////////////////
//Движения
Движения.РегистрБухгалтерии1.Очистить();
Движения.РегистрБухгалтерии1.Записать();
Движения.РегистрБухгалтерии1.Записывать = Истина;

//Заблокируем регистр
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("РегистрБухгалтерии.РегистрБухгалтерии1");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
ЭлементБлокировки.УстановитьЗначение("Счет",ПланыСчетов.Управленческий.Товары);
ЭлементБлокировки.ИсточникДанных = СписокНоменклатуры;
ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Субконто1", "Номенклатура");

Блокировка.Заблокировать();

//Запишем данные в регистр бух
///////////////////////////

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

МассивСубконто = Новый Массив;
МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.Номенклатура);
МассивСубконто.Добавить(ПланыВидовХарактеристик.ВидыСубконто.СрокГодности);

Запрос.УстановитьПараметр("Ссылка",Ссылка);
Запрос.УстановитьПараметр("МассивСубконто",МассивСубконто);
Запрос.УстановитьПараметр("МоментВремени",МоментВремени());
Запрос.УстановитьПараметр("Счет",ПланыСчетов.Управленческий.Товары);
Запрос.УстановитьПараметр("ВидНоменклатуры",Перечисления.ВидыНоменклатуры.Товар);
РезультатЗапроса = Запрос.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
//Выбрать номенклатуру
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

Если ВыборкаДетальныеЗаписи.ДокКоличество > ВыборкаДетальныеЗаписи.РегистрКоличествоОстаток Тогда

Нехватает = ВыборкаДетальныеЗаписи.ДокКоличество - ВыборкаДетальныеЗаписи.РегистрКоличествоОстаток;
Отказ = Истина;
Сообщить ("На складах фирмы не хватает "+ ВыборкаДетальныеЗаписи.ДокНоменклатура +" в количестве "+ Нехватает);

КонецЕсли;

СебестоимостьНоменклатуры = ВыборкаДетальныеЗаписи.РегистрСуммаОстаток/ВыборкаДетальныеЗаписи.РегистрКоличествоОстаток;
СписатьВсегоКоличество = ВыборкаДетальныеЗаписи.ДокКоличество;
СписатьВсегоСумма = ВыборкаДетальныеЗаписи.РегистрСуммаОстаток;
ВыборкаТелаГруппы = ВыборкаДетальныеЗаписи.Выбрать();


//пройти по группе номенклатуры и списать всю номенклатуру
Пока ВыборкаТелаГруппы.Следующий() И СписатьВсегоКоличество > 0 И НЕ Отказ Цикл

СписатьВПроводке = МИН(СписатьВсегоКоличество,ВыборкаТелаГруппы.РегистрКоличествоОстаток);

Движение = Движения.РегистрБухгалтерии1.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
Движение.Период = Дата;
Движение.Количество = СписатьВПроводке;
Если СписатьВсегоКоличество = ВыборкаТелаГруппы.РегистрКоличествоОстаток И ВыборкаДетальныеЗаписи.ДокКоличество = ВыборкаДетальныеЗаписи.РегистрКоличествоОстаток Тогда

Движение.Сумма = СписатьВсегоСумма;

Иначе

Движение.Сумма = СебестоимостьНоменклатуры*ВыборкаТелаГруппы.РегистрКоличествоОстаток;

КонецЕсли;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаТелаГруппы.ДокНоменклатура;
Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ВыборкаТелаГруппы.СрокГодности;

СписатьВсегоСумма = СписатьВсегоСумма - Движение.Сумма;
СписатьВсегоКоличество = СписатьВсегоКоличество - СписатьВПроводке;

КонецЦикла;

КонецЦикла;

Если НЕ Отказ  Тогда

Движение = Движения.РегистрБухгалтерии1.Добавить();
Движение.СчетДт = ПланыСчетов.Управленческий.Покупатели;
Движение.СчетКт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Движение.Период = Дата;
Движение.Сумма = СписокНоменклатуры.Итог("Сумма");


КонецЕсли;



КонецФункции // ()

SnowWolf

  • Пользователь
  • **
  • Сообщений: 30
Re: Билет 1. Спец по платформе V8
« Ответ #613 : Октябрь 03, 2017, 09:47:06 pm »
Там не нужны партии, списание по среднему. Для того, чтобы не копился суммовой остаток, нужно использовать признак учета субконто "Суммовой", т.е. вести только суммовой остаток (итоговой) по номенклатуре

Партии там в принципе нужны, так как условия задачи определяют количественное списание по методике
"В первую очередь списывается товар с наименьшим календарным сроком годности. "

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

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Билет 1. Спец по платформе V8
« Ответ #614 : Октябрь 03, 2017, 10:21:23 pm »
Всем привет,

решил досконально разобрать билеты, сразу возник вопрос -
при решении бухгалтерской задачи возникает затык
"Себестоимость определяется как средняя по товару по всем срокам годности. Т.е. например если 1 пачка йогурта со сроком годности 10.01.2010 поступила по цене 90 рублей и еще 1 пачка того же йогурта, но со сроком годности 30.01.2010 поступила по цене 110 рублей, то при списании себестоимость одной пачки данного йогурта равна 100 рублей."
соответственно списание суммы в ноль по партии выходить не будет, только по количеству.
Насколько это правильно, ведь постоянно будет копиться суммовой остаток по партиям?
Отключайте суммовой учет по срокам годности. Подробности обсуждались много раз, почитайте ветку, и можете посмотреть в выложенных решениях.