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

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

sergio0

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.33
« Ответ #15 : Март 15, 2011, 09:29:48 pm »
vidok3333, Спасибо, что посмотрели.

Ну можно было и не списывать в приходной из заказов, но мне захотелось сделать именно так smile .

Строчка Движения.ОстаткиНоменклатуры.Записать(); действительно не нужна, а вот Движения.ЗаказыПокупателей.Записать(); нужна, т.к. у меня разрешено оперативное проведение документа, и если я не буду очищать движения документа, то они попадут в остатки.

Поcмотрел вашу базу, вроде все OK.

« Последнее редактирование: Март 15, 2011, 09:31:56 pm от Сергей »

vidok3333

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Дирин А.Ю.
Задача 1.33
« Ответ #16 : Март 16, 2011, 12:35:21 pm »
Serg, что бы на экзамене лишних вопросов не задавали лучше оперативное проведение убирать.


sergio0

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Сергей
Задача 1.33
« Ответ #17 : Март 16, 2011, 05:24:14 pm »
vidok3333, спасибо за совет, но я рисковый человек biggrin

AndreiPiter

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 1.33
« Ответ #18 : Март 22, 2011, 02:20:56 pm »
моё решение
Вложения:
AP_1.33.dt

Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Задача 1.33
« Ответ #19 : Апрель 04, 2011, 12:35:21 pm »
Вопрос на понимание условия задачи

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

а на экзамене не могут потребовать чтоб отгрузка происходила на контрагента а не на заказ? или это уже усложнение задачи?


Kohmar

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Ник
Задача 1.33
« Ответ #20 : Апрель 06, 2011, 04:55:26 pm »
у всех решений что сдесь скачал наблюдаеться следущая тенденция:
 создаю заказ1 на товар "булочка", 6. шт и заказ2 на такой же товар "булочка" 3шт.
 Делаю приход булочки в количестве 7 штук, а в регистре Остатки номенклатуры пишет, что по заказу1 товара "булочка" 6 шт., и по заказу2 товара "булочка" 3 штуки...
 Разве не должно в заказ1 пойти 6шт. товара, а в заказ2 1шт. товара??????

чет немогу понять - это ошибка или нет?


Lukashov_as

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Лукашов Андрей Сергеевич
Задача 1.33
« Ответ #21 : Июнь 02, 2011, 05:18:05 pm »
Как то подозрительно простенько получилось наверно накасячил:)

Добавлено (02.06.2011, 17:18)
---------------------------------------------

Quote (Kohmar)
Разве не должно в заказ1 пойти 6шт. товара, а в заказ2 1шт. товара??????


 все норм по булочкам правильно говоришь в заказ 1 6шт в заказ 2 1 шт
Вложения:
1_33_lukashov.dt
« Последнее редактирование: Июнь 02, 2011, 05:17:03 pm от Лукашов Андрей Сергеевич »

nforcenf

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Попов Владимир
Задача 1.33
« Ответ #22 : Июнь 18, 2011, 04:41:13 am »
Lukashov_as, Далее мое личное мнение по решению данной задачи(может не совпадать с мнением экзаменатора и еще кого бы то ни было), а именно 2 пункта.
 1. Я глубоко убежден, что нельзя приходной накладной сразу списывать товар из заказа, так как мы же этот товар ещё не продали контрагенту, а то у нас получается, что товар в заказе уже вывелся в 0, а мы ещё ничего из обещанного клиенту не отгрузили.
 2. Тут я вот сомневаюсь, и особенно поэтому поводу хотелось бы услышать мнение других людей. Может запретить превышение отгрузки по заказу? То есть например если контрагент заказал 10 шт, то не может он отгрузить 20 шт. по этому заказу? Или это будет ошибкой на экзамене, запрещать? Кто как думает? Можно ли фразу "отгрузка может происходить только на основании заказа" прочитать как нельзя отгрузить больше чем заказано. Тут наверно нужен юрист - филолог biggrin
 Что касается вашей задачи, по п.1 понятно думаю мое мнение, по п. 2. Вам нужно решить для себя, разрешаете вы отгрузку больше чем заказано или запрещаете пользователю. А то смоделировал на вашей базе следующую ситуацию:
 Документ заказ1 проводим:
 + Заказ1 Номенклатура1 15 шт
 Приходник1 проводим на 30 шт. товара на 3000 - теперь на складе 15 шт. под заказ и 15 свободных
 - Заказ1 номенклатура1 15 шт.
 Расходник1 проводим на 30 шт (то есть решили отгрузить больше чем заказано)
 - Заказ1 номенклатура1 15 шт. (то есть уже 30 списали из заказа в котором было 15)
 По остаткам получим два движения в сумме на 6000 вместо 3000!
 Далее попробуем еще Расход 2 оформить по заказу 1 на номенклатуру1 - получим ошибку деления на 0
 Далее оформил Приходник2 на номенклатуру1 на 10 шт. и и получим... движение с приходом не 10(!!!) а 25 шт. То есть покупаем 10 а получаем на остаток 25. Выгодная покупка!!!
 Так с этим разобрались. Теперь далее. Если без превышений отгружать:
 [РасходнаяНакладная Проведение]
 1. В Запросе КоличествоОстаток на NULL не проверяешь
 Если остаток товара будет 0 выдаст ошибку исполнения вместо сообщения пользователю о том что товара не хватает.
 2. В приходной накладной нет упорядочивания заказов по хронологии. Казалось бы и без сортировка все проводится по возрастанию даты, то есть по фифо. Но это, не всегда так будет...
 3. Отчет не смотрел код, но там сразу видно что он не правильно работает! По всем заказам показал мне одинаковые цифры! smile
« Последнее редактирование: Июнь 18, 2011, 04:41:43 am от Попов Владимир »

Lis3004

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Людмила
Задача 1.33
« Ответ #23 : Июнь 19, 2011, 08:30:59 pm »
sada, поздновато посмотрела, конечно))

 Я тоже за решение на 2-х регистрах, но в вашем случае - регистр Заказы покупателей просто не закрывается.
 Если завести третий заказ, который при отгрузке списывает со свободного товара. Тогда движения в расход проходить не будут и заказ будет вечно открытым.

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

ital

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Алексей
Задача 1.33
« Ответ #24 : Июнь 30, 2011, 04:39:17 pm »
Мой вариант решения.

 Использовал два регистра Заказы и Остатки
Вложения:
1-33.dt

gr0ck

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: gr0ck
Задача 1.33
« Ответ #25 : Июль 18, 2011, 04:07:14 pm »
sada,
 А зачем в приходе при проведении там третий запрос?
 Первый понятно, второй тоже. А зачем третий, там делаешь чтобы
 
Code

 |    ЕСТЬNULL(ЗаказыПокупателей.КоличествоОстаток, 0) - ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоОжидаемоеПоЗаказу
 

 получить количество ожидаемое по заказу. То есть получаешь сколько нам надо по заказу еще докупить, и вычитаешь из этого сколько мы закупили но еще не продали. Зачем?

Добавлено (18.07.2011, 16:07)
---------------------------------------------
Короче, надо подумать smile
 Похоже что правильно, интуитивно, только не понятно)


sada

  • Новичок
  • *
  • Сообщений: 0
  • ФИО: Андрей
Задача 1.33
« Ответ #26 : Июль 18, 2011, 04:50:54 pm »
gr0ck,

 Точно не помню условие, но примерно так:
 ЗаказыПокупателей.КоличествоОстаток – это то, что осталось отгрузить по заказу;
 ОстаткиНоменклатурыОстатки.КоличествоОстаток – это то, что есть на остатке по заказу но еще не отгружено;
 КоличествоОжидаемоеПоЗаказу – это то, что не хватает на остатке по заказу (на это количество дораспределяется товар из поступления). Находим путем получения разницы между тем что требуется доотгрузить и тем что есть на остатке.

Незнайка

  • Новичок
  • *
  • Сообщений: 2
  • ФИО: Незнайка
Задача 1.33
« Ответ #27 : Июль 25, 2011, 06:07:52 pm »
Посмотрите, плиз , мое решение smile
Вложения:
Neznaika_1.33.dt
« Последнее редактирование: Июль 25, 2011, 06:08:35 pm от Незнайка »

OlegSm

  • Новичок
  • *
  • Сообщений: 1
  • ФИО: Олег Смольников
Задача 1.33
« Ответ #28 : Август 13, 2011, 08:59:56 am »
Lis3004,
Quote
"Я думаю, что регистр ЗаказыПокупателей в любом случае расходной нужно делать в минус."

 При списании свободного остатка в РН в регЗаказы я проверяю "КонКолОстТекЗак > 0"(нельзя списывать в регЗаказы больше чем туда пришло(чем заказано)).

 Neznaika, посмотрел только модуль ПН:

 1) В условии задачи:
Quote
"При проведении документа «Приходная накладная» необходимо производить анализ неотгруженных товаров, заказанных покупателем"
. У тебя нет такого анализа. Запрос в модуле ПН надо доработать.

 - у тебя на пустой заказ (свободный остаток) идет "Если ВыборкаНоменклатура.КоличествоПришло > ВыборкаНоменклатура.КоличествоЗаказано", а
 в условии задачи:
Quote
"В том случае, если товара закуплено больше, чем есть неотгруженных заказов покупателей, то избыток составляет «свободный остаток»."

 Нужно условие "Если КоличествоПришло > КолНедозакупленоПоЗаказу".

 - на НЕ пустой заказ идет Мин(КоличествоПришло, КолОстЗаказ) - не верно(например, если это вторая ПН по заказу).
 
Quote
"невыполнение отдельных пунктов задания, упрощение решаемой задачи: от -0.5 до -3балла".
 

 2) исключительную блокировку в ПН надо на регистр ОстНом, а на РегЗаказы достаточно разделяемой(ты ведь их только читаешь, не изменяшь в ПН - пусть и другие смогут читать)
 
Quote
"неправильное использование управляемых блокировок данных в транзакции при проведения документов: -1.5 балла"
 

Вложения:
1.33_OlegSm.dt
« Последнее редактирование: Август 13, 2011, 10:06:56 pm от Олег Смольников »

mavlad

  • Новичок
  • *
  • Сообщений: 5
  • ФИО: Alexey
Задача 1.33
« Ответ #29 : Август 29, 2011, 11:39:21 am »
Quote (Lukashov_as)
Lukashov_as   Дата: Четверг, 02.06.2011, 17:18 | Сообщение # 22
 [Lukashov_as]
    Как то подозрительно простенько получилось наверно накасячил:)

 В логике ошибок вроде нет, но, мне кажется, отчет как то не так отражает информацию как в задании (0,5-1,0 балл)