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

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

jonik

  • Проверенный
  • ***
  • Сообщений: 135
Re: Задача 1.24
« Ответ #60 : Январь 25, 2018, 01:04:48 pm »
Мда, задача и вправду непростая :-\ В принципе можно сделать 2-мя запросами по пустому складу и нет, но это двойное обращение к БД, а это не приветствуется. 9-ти этажный запрос конечно поражает, но без него никак. Единственное - делал по новой методике с сайта Чистова(задача 1.6), т.е. сначала записывал, поэтому код "вырос", но это правильно.

П.С. Как в отчет убрать имена колонок для ресурсов(чтобы было как в книжке)?
Подкорректировал

НатальяЮГ

  • Пользователь
  • **
  • Сообщений: 33
Re: Задача 1.24
« Ответ #61 : Март 20, 2018, 11:12:26 am »
Миленькая задачка, два дня просидела, кучу вариантов испробовала. Это самый близкий к оптимальному решению, с моей точки зрения. Запрос получился в три этажа, сортировка приоритетов при помощи массивов.
 
П.С. Как в отчет убрать имена колонок для ресурсов(чтобы было как в книжке)?
Сделала вариант отчета с заголовками полей в Вашей базе, посмотрите; если вопросы останутся, пишите (все расписывать долго, на конкретные непонятки можно ответить быстрее


Lzrnk

  • Пользователь
  • **
  • Сообщений: 13
Re: Задача 1.24
« Ответ #62 : Март 20, 2018, 12:33:42 pm »
Миленькая задачка, два дня просидела, кучу вариантов испробовала. Это самый близкий к оптимальному решению, с моей точки зрения. Запрос получился в три этажа, сортировка приоритетов при помощи массивов.
 
Это вы перемудрили. Все задачи однотипные и довольно простые. Такое решение точно не пройдёт. Посмотрите как обычно это делают.
Не отлаживал, но провёл первую накладную. Движения можете посмотреть прямо в документе.

НатальяЮГ

  • Пользователь
  • **
  • Сообщений: 33
Re: Задача 1.24
« Ответ #63 : Март 20, 2018, 04:33:46 pm »
По условию задачи:

1.   В первую очередь товар списывается со склада, указанного для данного товара в табличной части документа,

2.   далее со склада с минимальным приоритетом, потом со следующего склада с большим приоритетом и т.д., пока не спишется все необходимое количество

3.   Если склад не указан, то происходит списание со складов, согласно их приоритету,

В Вашем варианте (рис. 1) я не вижу такого порядка списания п. 2, только по возрастанию. Упрощение?

Lzrnk

  • Пользователь
  • **
  • Сообщений: 13
Re: Задача 1.24
« Ответ #64 : Март 20, 2018, 04:45:03 pm »
По условию задачи:

1.   В первую очередь товар списывается со склада, указанного для данного товара в табличной части документа,

2.   далее со склада с минимальным приоритетом, потом со следующего склада с большим приоритетом и т.д., пока не спишется все необходимое количество

3.   Если склад не указан, то происходит списание со складов, согласно их приоритету,

В Вашем варианте (рис. 1) я не вижу такого порядка списания п. 2, только по возрастанию. Упрощение?
Именно так и списывается.

НатальяЮГ

  • Пользователь
  • **
  • Сообщений: 33
Re: Задача 1.24
« Ответ #65 : Март 20, 2018, 05:57:03 pm »
Возможно. я неправильно поняла условие задачи  :( .

Спасибо!

igarh

  • Новичок
  • *
  • Сообщений: 8
Re: Задача 1.24
« Ответ #66 : Июнь 17, 2018, 05:11:03 pm »
Миленькая задачка, два дня просидела, кучу вариантов испробовала. Это самый близкий к оптимальному решению, с моей точки зрения. Запрос получился в три этажа, сортировка приоритетов при помощи массивов.
 
Это вы перемудрили. Все задачи однотипные и довольно простые. Такое решение точно не пройдёт. Посмотрите как обычно это делают.
Не отлаживал, но провёл первую накладную. Движения можете посмотреть прямо в документе.

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

igarh

  • Новичок
  • *
  • Сообщений: 8
Re: Задача 1.24
« Ответ #67 : Июнь 17, 2018, 05:27:24 pm »
сделал так

НатальяЮГ

  • Пользователь
  • **
  • Сообщений: 33
Re: Задача 1.24
« Ответ #68 : Июль 03, 2018, 02:15:10 pm »
Миленькая задачка, два дня просидела, кучу вариантов испробовала. Это самый близкий к оптимальному решению, с моей точки зрения. Запрос получился в три этажа, сортировка приоритетов при помощи массивов.
 
Это вы перемудрили. Все задачи однотипные и довольно простые. Такое решение точно не пройдёт. Посмотрите как обычно это делают.
Не отлаживал, но провёл первую накладную. Движения можете посмотреть прямо в документе.

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


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

НатальяЮГ

  • Пользователь
  • **
  • Сообщений: 33
Re: Задача 1.24
« Ответ #69 : Июль 03, 2018, 02:35:48 pm »
сделал так


Попробовала сделать в Вашей базе пару своих расходных накладных,
как то не хочет списывать с тех складов, которые  в строках указаны.  :(

igarh

  • Новичок
  • *
  • Сообщений: 8
Re: Задача 1.24
« Ответ #70 : Сентябрь 11, 2018, 09:31:24 pm »
сделал так


Попробовала сделать в Вашей базе пару своих расходных накладных,
как то не хочет списывать с тех складов, которые  в строках указаны.  :(

спасибо что подсказали что не полностью отработало списание. подправил.