|
Метод СрезПоследних() не срабатывает. Почему -> кто знает? |
☑ |
0
comebodzhi
21.05.14
✎
17:13
|
Написал выборку из регистра сведений с помощью метода СрезПоследних():
СтрОтбора = Новый Структура;
СтрОтбора.Вставить("Номенклатура",СписокДеталей);
ТаблицаСпецификаций = РегистрыСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних(Источник.Дата,СтрОтбора);
Не отрабатывает(. Пришлось заменить на следующее:
ЗапросСпец = Новый Запрос;
ЗапросСпец.Текст = "ВЫБРАТЬ
| ОсновныеСпецификацииНоменклатурыСрезПоследних.Номенклатура,
| ОсновныеСпецификацииНоменклатурыСрезПоследних.Спецификация
|ИЗ
| РегистрСведений.ОсновныеСпецификацииНоменклатуры.СрезПоследних(&Дата, Номенклатура В (&Номенклатура)) КАК ОсновныеСпецификацииНоменклатурыСрезПоследних";
ЗапросСпец.УстановитьПараметр("Дата",Источник.Дата);
ЗапросСпец.УстановитьПараметр("Номенклатура",СписокДеталей);
ТаблицаСпецификаций = ЗапросСпец.Выполнить().Выгрузить();
По сути одно и тоже, но почему-то первый вариант не отрабатывает. Кто может сталкивался с похожей проблемой?
|
|
1
DefMB
21.05.14
✎
17:17
|
Не понимает он список логично предположить. Попробуй одно значение передать:
СтрОтбора.Вставить("Номенклатура", Номенклатура)
|
|
2
Ненавижу 1С
гуру
21.05.14
✎
17:19
|
нельзя в качестве значения в структуре передавать коллекцию
|
|
3
comebodzhi
21.05.14
✎
17:25
|
(2) Отвечу так: Можно, в первом случае метод СрезПоследних() отрабатывает, но не всегда (на одном документе работает, на другом нет).
По сути мне нужен был ответ человека, который сталкивался с данной проблемой и нашел решение, а не объясняться с людьми, которые с данной проблемой не сталкивались.
|
|
4
comebodzhi
21.05.14
✎
17:26
|
(1) А смысл мне засорять запросами к БД. Похоже про оптимизацию вы не слышали.
|
|
5
DefMB
21.05.14
✎
17:42
|
(3) тебе ответили в (1) и (2) более чем понятно. Какого ответа ты здесь еще ждешь?
(4) ну так и делай все одним запросом, это самое оптимальное решение в твоем случае.
|
|
6
delavar
21.05.14
✎
17:42
|
обожаю этот форум. срач можно на пустом месте развести
|
|
7
Segate
21.05.14
✎
17:47
|
(4)красавчик, че ) всем нахамил =) а ответы то правильные были. Оптимизацией заниматься тебе рано, коли руки из одного места. штампуй запросы =)
В СП четко написано: значение элемента структуры - задает отбираемое по данному измерению значение.
У тебя измерение регистра имеет тип массив(списокЗначений) или что ты там передаешь?
Тебе в (1) и (2) дали правильные ответы.
|
|
8
Segate
21.05.14
✎
17:49
|
(6) клево же? Идеальная тактика:
1) задать вопрос
2)подождать ответ
3)Написать, что все вокруг го вно, я оптимизатор и вообще...!!!1111
4)...
5)PROFIT!
|
|
9
salvator
21.05.14
✎
17:50
|
(3) "отрабатывает, но не всегда"
1С вообще капризная дамочка. Захочу - сделаю, захочу - нет.
|
|
10
Segate
21.05.14
✎
17:52
|
(9) Я предположу, что у него там где нть отбор стоит и в случае если 1 позиция номенклатуры - передается ссылка, а если 2+ то передается массив. вот и весь секрет. Но ведь ему ловить косяки некогда, он ведь оптимизирует )
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший