Имя: Пароль:
1C
1С v8
Дописывать результаты запроса
,
0 MrFilO
 
23.04.14
16:07
Есть запрос, результат которого выгружаю в ТП, при каждом нажатии на соответствующую кнопку. Но ТП каждый раз обновляет данные, мне бы так, чтоб каждое новое выполнение запроса ДОПИСЫВАЛО новый результат в конце ТП. Это возможно?
1 Wobland
 
23.04.14
16:07
да
2 MrFilO
 
23.04.14
16:08
(1) подробности?
3 shuhard
 
23.04.14
16:08
(0) что-то мешает засунуть ТЗ обратно в запрос и объединить с отклонением ?
4 Wobland
 
23.04.14
16:08
(2) дописывать ТЗ
5 NcSteel
 
23.04.14
16:08
перебор результата запроса с добавлением построчно строк в твою ТП
6 NcSteel
 
23.04.14
16:08
(3) нафуя?
7 MrFilO
 
23.04.14
16:08
(3) "и объединить с отклонением ?" ?
8 YF
 
23.04.14
16:09
Что такое ТП? это то, о чем я подумал?
9 MrFilO
 
23.04.14
16:09
(6) так обычный метод ВЫГРУЗИТЬ, есть еще идеи?
10 shuhard
 
23.04.14
16:09
(6) так надо ТС-у
11 MrFilO
 
23.04.14
16:10
Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Код КАК Код,
                   |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Модель КАК Модель,
                   |    ЦеныНоменклатурыСрезПоследних.Номенклатура,
                   |    ЦеныНоменклатурыСрезПоследних.Номенклатура.Прейскурант КАК АртикулИзделия,
                   |    ЦеныНоменклатурыСрезПоследних.ТипЦен.Наименование КАК ТипЦен,
                   |    ЦеныНоменклатурыСрезПоследних.Цена КАК ОтпускнаяЦена,
                   |    &Процент КАК ПроцентСкидкиНаценки,
                   |    ЦеныНоменклатурыСрезПоследних.Цена - ЦеныНоменклатурыСрезПоследних.Цена * &Процент / 100 КАК ЦенаПослеУценки,
                   |    ЦеныНоменклатурыСрезПоследних.Регистратор
                   |ИЗ
                   |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
                   |            ,
                   |            Номенклатура.Модель = &Модель
                   |                И ТипЦен = &ТипЦен
                   |                И Номенклатура.Прейскурант = &Артикул) КАК ЦеныНоменклатурыСрезПоследних";
    
    Запрос.УстановитьПараметр("Артикул",ЭлементыФормы.АртикулИзделия.Значение);// Строка
    Запрос.УстановитьПараметр("Модель",ЭлементыФормы.Модель.Значение);// Строка
    Запрос.УстановитьПараметр("Процент",ЭлементыФормы.Скидка.Значение);// Число
    Запрос.УстановитьПараметр("ТипЦен",Справочники.ТипыЦенНоменклатуры.НайтиПоНаименованию("Оптовая"));// Типы цен номенклатуры
    
    НаборЗаписей = РегистрыСведений.ЦеныНоменклатуры.СоздатьНаборЗаписей();
    Результат = Запрос.Выполнить();
    ЭлементыФормы.ТабличноеПолеУценка.Значение = Результат.Выгрузить();
    ЭлементыФормы.ТабличноеПолеУценка.СоздатьКолонки();
    Если  НЕ Результат.Пустой() Тогда
        ВыборкаПоРегистратору = Результат.Выбрать();
        Пока ВыборкаПоРегистратору.Следующий() Цикл
            НаборЗаписей.Отбор.Регистратор.Установить(ВыборкаПоРегистратору.Регистратор);
            НаборЗаписей.Прочитать();
            
            Для Каждого Запись Из НаборЗаписей Цикл
                Если Запись.Номенклатура = ВыборкаПоРегистратору.Номенклатура  Тогда
                    Запись.ПроцентСкидкиНаценки = - ЭлементыФормы.Скидка.Значение;
                    Прервать;
                КонецЕсли;
            КонецЦикла;
            НаборЗаписей.Записать();
        КонецЦикла;
        Сообщить("Модель" + " " + ЭлементыФормы.Модель.Значение + " " + "уценена на" + " " + "-" + ЭлементыФормы.Скидка.Значение + "%");
    Иначе
        Сообщить("Результат запроса пустой");
    КонецЕсли;
12 MrFilO
 
23.04.14
16:10
Быть может кто допишет недостачу?
13 MrFilO
 
23.04.14
16:11
(8) неудачная шутка
14 Wobland
 
23.04.14
16:11
(12) 500
15 bolobol
 
23.04.14
16:11
(7) Да, выбрать различные, группировка. Но всё равно выборка полностью должна состояться, так что смысла в дописье, как бэ нэт...
16 Wobland
 
23.04.14
16:12
(15) "ДОПИСЫВАЛО новый результат в конце"
17 batman69
 
23.04.14
16:12
(2) К чёрту подробности..
18 MrFilO
 
23.04.14
16:12
Замечательно, на форуме теперь и лавЭ просют...дожились
19 batman69
 
23.04.14
16:13
(18) А, ты как хотел?
20 Wobland
 
23.04.14
16:13
(18) ты предложил работу
21 MrFilO
 
23.04.14
16:14
(20) я предложил разминку для мозга
22 Wobland
 
23.04.14
16:15
(21) да иди ты лесом с такими разминками
23 bolobol
 
23.04.14
16:15
(16) Посипаю голову пеплом.!.)

И всё же, что есть ТП? Тупая П... Тугая П... Как же ТС обозвал 1С - недогоняю...
24 MrFilO
 
23.04.14
16:16
(23) Табличное Поле
25 bolobol
 
23.04.14
16:17
Блин... Так Тепличное Поле просто очищать не нада!
26 MrFilO
 
23.04.14
16:18
(25) я выдал код, не вижу там метода ОЧИСТИТЬ или подобного
27 bolobol
 
23.04.14
16:20
ЭлементыФормы.ТабличноеПолеУценка.Значение = Результат.Выгрузить();
- это так сказать "Очистить". ТЗ, что я вляется источником нужно дополнить новым резом запроса. Не выгрузить, а обойти с добавить строку в старый ТЗ, который потом или сразу сделать Значением
28 batman69
 
23.04.14
16:21
(27) Ну, вот. Всё рассказал.
29 Wobland
 
23.04.14
16:22
кстати, за изящное решение проблемы несовпадения колонок в старом и новом результатах плюс 3 тыщи
30 MrFilO
 
23.04.14
16:22
(27) Оо...если правильно понял, то опробую
31 batman69
 
23.04.14
16:23
(30) Не правильно...
32 bolobol
 
23.04.14
16:24
(29) Упс... ещё и несовпадение ж колонок... Бета-тестер основная профессия?
33 Wobland
 
23.04.14
16:25
(32) профессиональный изъян разума. основной программист ;)
34 MrFilO
 
23.04.14
16:25
(32) Сисадмин)
35 vmv
 
23.04.14
16:28
(0) веть топ не читал, но севетую использовать Вставить

это обязан уметь делать любой спец с яйцами
36 vmv
 
23.04.14
16:30
+(35) совсем забыл русский, бывает
37 Aleks73
 
23.04.14
16:34
ТС, результат запроса выгружаешь в новую таблицу, затем её перебираешь построчно, добавляя строки с помощью ЗаполнитьЗначенияСвойств.
38 batman69
 
23.04.14
16:34
(37) Вот нафига такие сложности?
39 MrFilO
 
23.04.14
16:42
Чего и следовало ожидать, не умею я костыли внедрять(
Таки никто кусочег кода переделанный не предоставит? (**,)
40 batman69
 
23.04.14
16:49
(39) Нужно просто говорить  - не умею. Ничего в этом страшного. А, код не дадут.
41 shuhard
 
23.04.14
16:50
(39) с какого бодуна
42 MrFilO
 
23.04.14
16:51
(40) При попытках ковыряния построчно ругался на отсутствие поля РЕГИСТРАТОР, с наборомЗаписей косяков много было
43 MrFilO
 
23.04.14
16:51
(41) Такое ощущение, что тут не братья Славяне преобладают, а далекие представители из Израиля
44 Wobland
 
23.04.14
16:53
какие-то Славяне нынче недалёкие пошли
45 MrFilO
 
23.04.14
16:55
(44) Быть может не НЕДАЛЕКИЕ, а "НЕТ ВРЕмЕНИ сразу на одинаково эффективное освоение двух должностей в 22 года?"
46 ДенисЧ
 
23.04.14
16:56
(45) Нет времени заводить машину, надо ехать! Поехали, потом заведём!
47 Wobland
 
23.04.14
16:57
(45) быть может. а хамить тут не надо
48 fisher
 
23.04.14
17:00
(45) С таким подходом эффективное освоение не грозит.
49 MrFilO
 
23.04.14
17:01
(47) Это было скорее отношение с презрением)
Так помощи ждать не придется?
Такой подход - вынужденная мера, нет времени объяснять (личное)
50 fisher
 
23.04.14
17:04
Эх... Мне бы такое ЧСВ... Я бы горы свернул!
51 Wobland
 
23.04.14
17:04
(49) подход - это твоё внутреннее отношение. короче, нет времени объяснять
52 MrFilO
 
23.04.14
17:05
(46) Авто заведен - учусь ездить.
53 batman69
 
23.04.14
17:10
(52) Не учишься, а пытаешься сесть на шею.
54 Aleks73
 
23.04.14
17:14
(45) Брат-славянин, две должности тебе точно не подходят. Бери три !
55 bolobol
 
23.04.14
17:15
(50) ЧСВ... Чресло... Сильно Выгнутое.?.
56 Wobland
 
23.04.14
17:19
+(54) и меньше, чем на админа-1Сника-главбуха не соглашайся
57 StaticUnsafe
 
23.04.14
17:31
(0) ТП.ДобавитьГламурноеКисо(ТипКисо.Розовое);
58 Wobland
 
23.04.14
17:46
10 баллов!