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

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

vaasec

  • Пользователь
  • **
  • Сообщений: 35
Re: Задача 1.01
« Ответ #585 : Июль 21, 2017, 10:07:36 am »
На этом сайте она решена с ошибками, у меня ничего не проводиться!
а в чем заключается ошибка?

angelivoin

  • Пользователь
  • **
  • Сообщений: 25
Re: Задача 1.01
« Ответ #586 : Сентябрь 22, 2017, 08:03:57 pm »
Переработал задачу.

В движении приходной нет проверки на услугу, у тебя услуги в регистр попадут, прям сразу огромный минус.
Что в движение расходной написал, это вообще кошмар. Такое ощущение что из разных решений все скидал


angelivoin

  • Пользователь
  • **
  • Сообщений: 25
Re: Задача 1.01
« Ответ #587 : Сентябрь 22, 2017, 08:20:55 pm »
Добрый день, коллеги. Буду рад услышать конструктивные отзывы
В Приходной, нет проверки на услугу, по регистру продажи у тебя вообще движений нету, Приходная делает движения по двум регистрам, как ты собираешься списывать товар, если в регистре продаж записи не добавляются из поступления? Задачи то хоть тестируйте, а не только код копипасте.
В расходной, зачем получаешь метод списания из регистра учетная политика на момент времени?? У данного регистра нету регистратора. Почитай хорошо, что такое момент времени и когда он применяется. Из данного регистра получаем данные на Дату.
Ну а дальше вообще ничего не правильно. Т.к из условия задачи, мы можем получить себестоимость товара из расходной, не залазия в другие регистры или документы, то мы используем новую методику списания.
Сначала записываем данные в регистр остатки, а потом проверяем ушли мы в минус или нет.
Регистр остатки с продажами перепутал.  В общем посмотри в интернете новый метод списания, у тебя вообще ерунда какая то написана.

angelivoin

  • Пользователь
  • **
  • Сообщений: 25
Re: Задача 1.01
« Ответ #588 : Сентябрь 22, 2017, 08:28:57 pm »
Добрый день.
Прошу проверить новую редакцию задачи 1.1.
Похоже друг у друга скопировали все((
Тоже самое что и выше, Приходная у тебя делает движения по одному регистру, должна по двум. Плюс нет проверки на услугу.
В расходной, не надо писать  РС = РегистрыСведений.УчетнаяПолитика.ПолучитьПоследнее(Дата);
Получение данных через точку, сразу минус влепят.
Надо получать данные с помощью запроса.
Ну а дальше бред пошел. Снова повторюсь, читай новый метод списания.
Вы откуда все копируете? почему у вас у всех у регистра остатки партия появляется? В регистре "Остатки", хранится информация об остатках товара. Т.е там только номенклатура и количество, все а вот в регистре продажи, хранится: Номенклатура, партия, количество и сумма

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Задача 1.01
« Ответ #589 : Сентябрь 22, 2017, 10:10:35 pm »
Получение данных через точку, сразу минус влепят.
Надо получать данные с помощью запроса.
Либо я не понял, либо вы не корректно сформулировали (если что, я не смотрел решения, так что могу написать невпопад, сорри).
Данные через точку получать, вообще говоря, не запрещено.
Грубой ошибкой является использование запроса в цикле. А "получение данных через точку" - и есть запрос. Поэтому такую конструкцию в цикле использовать не следует. Если же получение такой информации разовое, то никаких проблем не будет.

angelivoin

  • Пользователь
  • **
  • Сообщений: 25
Re: Задача 1.01
« Ответ #590 : Сентябрь 23, 2017, 08:27:03 am »
Получение данных через точку, сразу минус влепят.
Надо получать данные с помощью запроса.
Либо я не понял, либо вы не корректно сформулировали (если что, я не смотрел решения, так что могу написать невпопад, сорри).
Данные через точку получать, вообще говоря, не запрещено.
Грубой ошибкой является использование запроса в цикле. А "получение данных через точку" - и есть запрос. Поэтому такую конструкцию в цикле использовать не следует. Если же получение такой информации разовое, то никаких проблем не будет.

В 1с ничего не запрещено, ты у себя в базе можешь хоть все через точку находить, но когда экзамен сдаешь, снимают балы, если видят что получены данные через точку. Даже если ты напишешь Док.Дата, уже бал снять могут, если можно было получить эту дату в запросе.

logo23

  • Новичок
  • *
  • Сообщений: 3
Re: Задача 1.01
« Ответ #591 : Сентябрь 23, 2017, 05:21:20 pm »
Добрый день. Буду благодарен за комментарии к моему решению.

alex1248

  • Призрак форума
  • *****
  • Сообщений: 714
Re: Задача 1.01
« Ответ #592 : Сентябрь 23, 2017, 07:54:17 pm »
Получение данных через точку, сразу минус влепят.
Надо получать данные с помощью запроса.
Либо я не понял, либо вы не корректно сформулировали (если что, я не смотрел решения, так что могу написать невпопад, сорри).
Данные через точку получать, вообще говоря, не запрещено.
Грубой ошибкой является использование запроса в цикле. А "получение данных через точку" - и есть запрос. Поэтому такую конструкцию в цикле использовать не следует. Если же получение такой информации разовое, то никаких проблем не будет.

В 1с ничего не запрещено, ты у себя в базе можешь хоть все через точку находить, но когда экзамен сдаешь, снимают балы, если видят что получены данные через точку. Даже если ты напишешь Док.Дата, уже бал снять могут, если можно было получить эту дату в запросе.
Слава Богу, экзамен я сдал давно, а вы не правы.

Clition

  • Проверенный
  • ***
  • Сообщений: 222
Re: Задача 1.01
« Ответ #593 : Сентябрь 24, 2017, 08:33:22 am »
Грубой ошибкой является использование запроса в цикле. А "получение данных через точку" - и есть запрос. Поэтому такую конструкцию в цикле использовать не следует. Если же получение такой информации разовое, то никаких проблем не будет.
Получение данных через точку - это запрос, который выбирает все поля объекта. Запросом выбирать рекомендуется только те поля, которые будут задействованы в прикладной логике. Если нам нужны все поля объекта, то разницы нет как их выбирать запросом или через точку. Что же касается использования конструкции через точку в цикле, то запрос будет выполнен только один раз (первый). Вроде бы так.

angelivoin

  • Пользователь
  • **
  • Сообщений: 25
Re: Задача 1.01
« Ответ #594 : Сентябрь 28, 2017, 04:01:41 pm »
Вот задача, может что пропустил, хотя должно быть все идеально

Clition

  • Проверенный
  • ***
  • Сообщений: 222
Re: Задача 1.01
« Ответ #595 : Сентябрь 29, 2017, 02:35:40 pm »
должно быть все идеально
Выборка.МетодСписания="ФИФО" У Вас МетодСписания перечисление
В запросе для создания движений по РН ОстаткиТоваров Вы не группируете номенклатуру.
У спр Номенклатура реквизит Услуга булево. Для этого в каркасной есть перечисление ВидыНоменклатуры. Но за это врядли снижают.
Табличную часть расходной получаете сначала для формирования движений в РН ОстаткиТоваров, затем второй раз при проверке остатков. Раз вы все равно используете МВТ, то ТЧ лучше поместить в ВТ еще в первом запросе.
Учет ведется в разрезе складов, а в регистре остатки у вас нет измерения Склад и при проверке остатков, соответственно, не проверяете склад.
В запросе для создания движений по партиям используете левое соединение и не проверяете на NULL.
Если Режим = РежимПроведенияДокумента.Оперативный то у Вас два раза Движения.Партии.Очистить();

angelivoin

  • Пользователь
  • **
  • Сообщений: 25
Re: Задача 1.01
« Ответ #596 : Сентябрь 29, 2017, 02:48:45 pm »
должно быть все идеально
Выборка.МетодСписания="ФИФО" У Вас МетодСписания перечисление
В запросе для создания движений по РН ОстаткиТоваров Вы не группируете номенклатуру.
У спр Номенклатура реквизит Услуга булево. Для этого в каркасной есть перечисление ВидыНоменклатуры. Но за это врядли снижают.
Табличную часть расходной получаете сначала для формирования движений в РН ОстаткиТоваров, затем второй раз при проверке остатков. Раз вы все равно используете МВТ, то ТЧ лучше поместить в ВТ еще в первом запросе.
Учет ведется в разрезе складов, а в регистре остатки у вас нет измерения Склад и при проверке остатков, соответственно, не проверяете склад.
В запросе для создания движений по партиям используете левое соединение и не проверяете на NULL.
Если Режим = РежимПроведенияДокумента.Оперативный то у Вас два раза Движения.Партии.Очистить();

У меня услуга это галка, мало ли что в конфигурации есть, я могу использовать пустую базу.  Поэтому логичнее использовать галочку а не перечисление. Если бы у нас было 3 вида номенклатуры хотя бы, тогда есть смысл перечисление использовать, а так лишний гемор.
Учет не ведется по складам!
Про временную, да, надо в первом запросе менеджер ставить а не во втором.
Если учет правильно ведется то NULL будет только если  номенклатура услуга, а если услуга то мы значения которые будут NULL не тянем, соответственно ошибка не выйдет. Но конечно, кто то может запись в регистре затереть и тогда могут косяки вылезти. Добавлю проверку
Про очистить, вечером гляну, про второе очистить не помню.

Clition

  • Проверенный
  • ***
  • Сообщений: 222
Re: Задача 1.01
« Ответ #597 : Сентябрь 29, 2017, 03:29:12 pm »
я могу использовать пустую базу.
По отзывам такого права больше нет.

Учет не ведется по складам!
Да, попутал с первой задачей из актуальных.

Если учет правильно ведется то NULL будет только если  номенклатура услуга, а если услуга то мы значения которые будут NULL не тянем, соответственно ошибка не выйдет.
Цитировать
При списании себестоимости вы делаете еще одну проверку остатков, но уже по регистрам Управленческий и СебестоимостьНоменклатурыОстатки. Надо ли это делать?
Как было разъяснено на этом форуме, проверку на остатки необходимо делать по каждом учетном регистру ибо нет синхронизации между ними.
Мне думается, что не сослаться на правильное ведение учета на экзамене не удастся.

Demora

  • Новичок
  • *
  • Сообщений: 5
Re: Задача 1.01
« Ответ #598 : Сентябрь 29, 2017, 03:53:49 pm »
Вот задача, может что пропустил, хотя должно быть все идеально

Подскажите, пожалуйста, зачем используется доп регистр "Партии", а не учитываем все в регистре "Продажи"?

angelivoin

  • Пользователь
  • **
  • Сообщений: 25
Re: Задача 1.01
« Ответ #599 : Сентябрь 29, 2017, 04:10:58 pm »
Задачу нету скинул(( А то смотрю что за регистр Партии)
Вот моя задача, добавил только проверку на NULL.