Мой вариант
Добавлено (10.07.2013, 17:59)
---------------------------------------------
1.А зачем иерархия элементов?
2.Странно, обычно шкалу все пихают в РС. Потому что из него быстрее данные доставать чем из справочника. Думаю на экзамене отшлепают за это.
3.Еще нет контроля пересечений множеств. Задал множества (к тем что у вас были) от 100 до 10000,от 100 до 20000,от 100 до 30000.
Списание произошло для каждого из множеств, в которые попала цена.
Да, в задании это не требуется но все же...
4.
Код
ТЗТовары = ЗапросТовары.Выполнить().Выгрузить();
За это вас сразу перманентно и без аппеляций забанят. Никогда ни при каких условиях не выгружайте в ТЗ на экзамене. Надо использовать выборку
Да, это не удобно по началу но потом привыкнете.
5.
Код
ЗапросТовары = Новый Запрос;
МВТ = Новый МенеджерВременныхТаблиц;
ЗапросТовары.МенеджерВременныхТаблиц = МВТ;
ЗапросТовары.Текст =
...
ЗапросТовары.УстановитьПараметр("Ссылка", Ссылка);
ТЗТовары = ЗапросТовары.Выполнить().Выгрузить();
ЗапросОстакиОЗакупок = Новый Запрос;
ЗапросОстакиОЗакупок.МенеджерВременныхТаблиц = МВТ;
ЗапросОстакиОЗакупок.Текст =
Теперь я понимаю почему вам МВТ не нравятся. Вместо этого пишете:
Код
ЗапросТовары = Новый Запрос;
[size=10]ЗапросТовары.МенеджерВременныхТаблиц = Новый Менеджер Временных Таблиц;
Запрос.Текст =...
...Запрос.УстановитьПараметр(...);//Сразу абсолютно все параметры устанавливайте
Результат = Запрос.Выполнить...
//и далее
Запрос.Текст....[/size]
У вас запрос один и тот же. параметры все одни и теже. Мвт всю дорогу один. Зачем миллиард запросов? Так конечно можно утомиться их писать. Посмотрите как я пишу. (З.Ы. в последующих пакетах ВТ видеться не будут - так не проблема - объявляете в запросе ВТ с таким именем как вы сделали в прошлых пакетах, поля какие там были (можно не все) и норм работаете).
6.
Код
|ИНДЕКСИРОВАТЬ ПО
| От,
| До"
Индексировать надо только по полям Вт по которым дальше связь будет. Переиндексация так же плохо как недоиндексация.
7.Вместо ВыборкаДетальныеЗаписи.Номенклатура, нужно использовать поле такое:
Код
|ВЫБРАТЬ | Товары.Номенклатура, | Представление(Товары.Номенклатура) как НоменклатураПредставление, | Товары.Количество, | Товары.НомерСтроки, | ПопаданиеВШкалу. ...
Сообщение.Текст = "Не хватает товара "+ВыборкаДетальныеЗаписи.НоменклатураПредставление+" в количестве "+Нехватка;
8. Перед ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); нужно делать проверку на пустоту результата запроса. Построение выборки ресурсоемкий процесс, если результат пустой то выборку можно не строить.
Вложения:
bilateral_upr30.dt