Да, за замечания спасибо, глянул ваше решение)
1)Приходная накладная - вместо 2 циклов (обход по табличной части), можно все запихнуть в 1 цикл (движения по двум регистрам)
2)Расходная накладная - вы в запросе сразу исключаете услуги, и они не попадают в отчет продажи. А если мы посмотрим в необходимый
отчет "Продажи" - то там увидим, что там выводятся услуги.
3)Расходная накладкая две последней строчки:
а)Движения.Продажи.Записать();- зачем эти строчка, у вас в начале написано уже Движения.Продажи.Записывать = Истина;по моему этого достаточно
и если отказ=истина, то движения и так не запишутся, а если отказ = ложь - то движения запишутся за счет
б)Движения.ОстаткиНоменклатуры.Записать(); - я бы в начале просто написал Движения.ОстаткиНоменклатуры.Записывать = Истина; (как у вас
сделано для продаж), но это мое мнение.
4)Себестоимость: Движение.Сумма = Количество * ВыборкаДетальныеЗаписи.Сумма / ВыборкаДетальныеЗаписи.Количество;
в каком то курсе я узнал, что нужно Движение.Сумма = Количество /ВыборкаДетальныеЗаписи.Количество* ВыборкаДетальныеЗаписи.Сумма;
(т.е. если у нас количество для списания = количесту остаток, то деление даст 1, и мы спишем всю стоимость остаток).
теперь по моему решению:
1)у вас неправильно настроен алгоритм в расходной - надеюсь это вы имели ввиду запрос, а именно соединение с остатками
(ЛЕВОЕ СОЕДИНЕНИЕ ... ПО ВТ.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура), больше ничего не нашел ))
2)"еще совет - используйте перечисление ВидыНоменклатуры" - то же прочитал что
"... Конечно, в каркасной конфигурации есть подходящее перечисление ВидыНоменклатуры, но использовать его менее удобно.
Например, придется потратить драгоценные минуты для того, чтобы в режиме 1С:Предприятия пробежаться по списку элементов справочника,
и каждому проставить вид ВидыНоменклатуры.Товар. Для типа Булево всем автоматом проставится значение Услуга = Ложь. ..."
3)"используйте СообщениеПользователю вместо Сообщить" - я спрашивал где-то тут не будел ли являтся ошибкой, если на экзамене вместо
Новый сообщение использовать Сообщить - мне сказали нет, вот и использую то, что проще))
Добавлено (03.07.2013, 20:24)
---------------------------------------------
Хотя я спрашивал не про "Сообщить", а про Сообщение без привязки к данным
"Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Списываем " + Строка(ВыборкаТовары.Количество) + " на остатке " + Строка(ВыборкаТовары.КоличествоОстаток);
Сообщение.Сообщить();"
Теперь так и буду выводить в след. задачах