#0
by wwwqwert2014
Решал задачу 1.19 из сборника по спецу по платформе. Вот интересует, насколько рационально я её решил. Что конкретно интересует. Модуль объекта РасходнаяНакладная. 1. Правильно ли я решал проблему "копеек" в РН Продажи (Обороты). 2. Интересует, рационально ли я вообще сделал обработку проведения РАсходнаяНакладная. Что конкретно смущает:
#1
by wwwqwert2014
вот условие задачи Задача 1.19. Компания занимается оптовой торговлей. У некоторых товаров могут быть аналоги - другие позиции номенклатуры с теми же потребительскими свойствами и ценой, причем таких аналогов у товара может быть несколько. Каждой номенклатурной позиции присваивается уникальный артикул, считается, что пользователь сам контролирует уникальность артикулов и назначает их вручную. Закупка товаров отражается документом «Приходная накладная», продажа - Расходная накладная». Учет остатков ведется в разрезе складов. В документах «Приходная накладная» и «Расходная накладная» склад только один (склад - реквизит шапки). Продажи оформляются документом «Расходная накладная». В случае нехватки товара автоматически должен списываться его аналог. В том случае, когда не хватает не только товара, но и всех его аналогов, документ не должен доводиться. Порядок списания аналогов определяется артикулом. Следует учитывать, что один и тот же товар может являться аналогом различных номенклатурных позиций. Себестоимость товаров рассчитывается как средняя по складу. Необходимо построить отчет по продажам товаров и их аналогов за период.
#4
by Лефмихалыч
А копейки решаются просто Движение.Себестоимость = ?(КоличествоСписать = КоличествоОстаток, СебестоимостьОстаток, СебестоимостьОстаток/КоличествоОстаток*КоличествоСписать)
#5
by GANR
Выгрузка результата запроса в таблицу значений - это сразу минус один балл, а уж если запрос в цикле в тех задачах - за это сразу с экзамена просто обязаны выгнать. Вот здесь требования к решению.
#6
by Лефмихалыч
запрос в цикле - это почему-то два балла всего. При условии, что других ошибок больше, чем на полбалла нет, с запросом в цикле можно сдать на трояк.
#7
by GANR
Будь я на месте преподавателя, на меня-бы такой запрос как красная тряпка на быка подействовал. Это явный сигнал, что человек не умеет пользоваться запросами, а это 70% дела в 1С.
#11
by etc
Я вот только одну магическую фразу не понял: "Порядок списания аналогов определяется артикулом." Приоритет определять сортировкой по буквенно-цифровому значению чтоли?
#12
by floody
для учебных целей, почему бы нет? у Гилева есть видео с решением задачи аналогов (если не смотрел) ТЗ в этой задаче нужна, в нее выгружается результат запроса, но не для того, чтобы по ней потом списывать товар, а чтобы хранить в ней количество УЖЕ списанное на предыдущих шагах цикла (как аналоги других товаров)
#13
by МастерВопросов
а как кашерно? В запросе к таб.части присоединять аналоги и остатки, а потом обход результата запроса по иерархии?
#14
by wwwqwert2014
То есть нет проблемы копеек в регистре оборотов? А как же такая ситуация: Хотим продать 11 позиций номенклатуры "Ручка шариковая". Сумма 11 позиций составляет 200 рублей. Причём на складе есть 7 "Ручка шариковая" и 4 "Ручка Bing". Они являются аналогами. Если не заморачиваться по поводу копеек, то получаются следующие записи в РН Продажи: Далее продаём аналог Таким образом, по двум движениям регистров получается, что общая сумма продажи составляет 199,99 руб. 1 копейка потерялась. Собственно поэтому и вопрос, как в оборотном РН Продажи ПРАВИЛЬНО решать проблема копеек
#17
by floody
то, что вы описали, это не проблема проблема копеек - когда остаточный регистр не закрывается и пухнет
#18
by wwwqwert2014
я вообще для решения этого делал всегда так: Заподил переменную ОсталосьСписатьДенег и из общей сумма вычитал Движение.Сумма. И тогда всё тютелька в тютельку сходится. Всё работает, но вот только это лишние проверки и лишний код и лишнее время на экзамене. Как я понимаю из сообщения floody, по этому поводу можно не заморачиваться и никто баллы не снимет, так?
#19
by Alexman13
В оборотном регистре это не проблема. И вообще если правильно применять округление, то 200/11 * 4 = 72,73
#21
by Лефмихалыч
это в остатках копейки могут засесть потому, что остатки надо по партиям раскидать
#22
by GANR
Запрос, конечно, можно загонять в цикл, но это надо делать умеючи - иногда запрос в цикле может работать и быстрее, так как INDEX SEEK быстрее, чем INDEX SCAN в плане запроса.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- v8 строка подключения V8.Connect
- Волшебнику и всем кто поможет по теме "v8 УРБД на v8 за четыре шага"
- v8: при v8 = Новый COMОбъект("V8.Application") дает ошибку ..
- v8: Не могу подключиться из V8 к V8
- v8: есть ли аналоги openconf для 1с v8
- v8: Как удалить 1С v8 ?
- Решение расчетной задачи на спеца по платформе
- v7: ОСН+ЕНВД. Кто-нибудь разделяет счет 19 на субсчета 19.1.1, 19.1.2 и т.д.
В этой группе 1С
- Вылетает платформа 8.2 при работе с полем HTML документа
- загрузка номенклатуры из екселя
- не закрывается смена в 1С
- Запретил оперативное проведение документа "Реализация товаров и услуг" в УПП.
- Тип булево в табличной части
- samsung
- v7: Проблема с 1с 7.7.+ w2k3 terminal
- способ распределения по этапам производства не заполнено! УТ 11
- Сложение времени и сортировка по времени
- Как организовать распределение работы между программистом и ведущим прогером?
- как посмотреть объекты базы 1с 8.2 в sql 2008
- Несоответствие типов (параметр номер '1')
- СКД. Группировка по месяцам
- 1Стикеры (iStickyNotes)
- VB.NET 1c - Внешнее соединение, Справочники - вид иерархии
- v7: Перенос sql-ной базы 1с 7 на другой сервер
- Перенести ЧАСТЬ данных в другую базу 1С 8.2 Предприятие
- Обновление(конвертация) нетиповой 1С 8.2 УТ 10.3.7.8
- Выбор вида операции в документе программно
- УТ 11 видимость колонки склад в док. реализация