![]() |
![]() |
|
Построитель-Ошибка -(Текст) | ☑ | ||
---|---|---|---|---|
0
НатальяК
11.08.06
✎
18:22
|
Постановка:
1. Текст запроса Построителя в модуле объекта 2. В модуле формы наращиваю запрос (условия) При ПОВТОРНОМ "Сформировать" имею: Ошибка при установке значения атрибута контекста (Текст) Помогите....дереву дремучему |
|||
1
PR
11.08.06
✎
18:25
|
Неправильный код значит, в коде ищи ошибку
|
|||
2
НатальяК
11.08.06
✎
18:47
|
Краткость не удалась(таланту нет)
ТЕКСТ В модуле Построитель.Текст = "ВЫБРАТЬ | Продажи.Номенклатура, | Продажи.Регистратор, | Продажи.Количество КАК Количество, | Продажи.Стоимость КАК СУММА, | Продажи.ДокументПродажи.Контрагент, | Продажи.ДокументПродажи.Дата, | Продажи.ДокументПродажи.Номер |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.ДокументПродажи.Проведен | И Продажи.Период > &НачПериода | И Продажи.Период < &КонПериода |"; текст в форме: Если ЗначениеНеЗаполнено(ВводНоменклатура) Тогда Предупреждение ("НЕ указана Номенклатура"); Иначе Построитель.Текст = Построитель.Текст + " | И Продажи.Номенклатура = &Номенклатура |ИТОГИ | СУММА(Количество) |ПО | ОБЩИЕ |"; при первом "Сформировать" очень хорошо выполняет а при ПОВТОРНОМ тыкает в форму на строчку Построитель.Текст = Построитель.Текст + " | И Продажи.Номенклатура = &Номенклатура воть... ЗЫ. Это я про 8-ку писала, но ловкость рук...... можно перенести? |
|||
3
PR
11.08.06
✎
18:55
|
И сколько раз ты собираешься наращивать текст построителя?
|
|||
4
НатальяК
11.08.06
✎
19:00
|
Есть ограничения?
когда я делала этот отчет НЕ Построителем... вопроса не возникала... а мне Построитель нравится... как обойти ошибку, а? |
|||
5
PR
11.08.06
✎
19:02
|
Что, ты больше одного раза добавляла
| И Продажи.Номенклатура = &Номенклатура |ИТОГИ | СУММА(Количество) |ПО | ОБЩИЕ |"; и у тебя все работало?! |
|||
6
НатальяК
11.08.06
✎
19:10
|
да
текст запроса был в форме и в начале стояло Процедура КнопкаСформироватьНажатие(Кнопка) Запрос = Новый Запрос; ..... чудненьк Фсё получалось... |
|||
7
PR
11.08.06
✎
19:23
|
Мда, может я конечно ошибаюсь, но все-таки женщинам как правило лучше не заниматься программированием, мозг у них как-то по другому устроен :o)
Строка Запрос = Новый Запрос; создает НОВЫЙ объект, у которого НИКАКОГО текста еще нет, поэтому текст запроса ессно НЕ наращивается а Построитель.Текст = ... НЕ создает нового объекта, а поэтому его текст после первого прибавления второй раз уже работать не будет :o) |
|||
8
НатальяК
11.08.06
✎
19:27
|
Это ты, конечно, верно подметил... про мозги... ЗАЧЕМ по твоему я тебе эту строчку написала?!
переведу вопрос КАК ТАКОЕ НАПИСАТЬ С ПОСТРОИТЕЛЕМ |
|||
9
PR
11.08.06
✎
19:30
|
(8) Очень просто. Например так.
Если ЗначениеНеЗаполнено(ВводНоменклатура) Тогда Предупреждение ("НЕ указана Номенклатура"); Возврат; КонецЕсли; Построитель.Текст = "ВЫБРАТЬ | Продажи.Номенклатура, | Продажи.Регистратор, | Продажи.Количество КАК Количество, | Продажи.Стоимость КАК СУММА, | Продажи.ДокументПродажи.Контрагент, | Продажи.ДокументПродажи.Дата, | Продажи.ДокументПродажи.Номер |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.ДокументПродажи.Проведен | И Продажи.Период > &НачПериода | И Продажи.Период < &КонПериода | И Продажи.Номенклатура = &Номенклатура |ИТОГИ | СУММА(Количество) |ПО | ОБЩИЕ |"; |
|||
10
НатальяК
11.08.06
✎
19:33
|
если не задана Номенклатура нужно вывести ВСЁ а если задана, то по конкретной позиции...
|
|||
11
PR
11.08.06
✎
19:36
|
Наташа, вы меня извините, но я бы вам порекомендовал срочно подучиться или чем-нить другим заняться :o)
Без обид, просто констатация факта :o) Если ЗначениеНеЗаполнено(ВводНоменклатура) Тогда Предупреждение ("НЕ указана Номенклатура"); Построитель.Текст = "ВЫБРАТЬ | Продажи.Номенклатура, | Продажи.Регистратор, | Продажи.Количество КАК Количество, | Продажи.Стоимость КАК СУММА, | Продажи.ДокументПродажи.Контрагент, | Продажи.ДокументПродажи.Дата, | Продажи.ДокументПродажи.Номер |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.ДокументПродажи.Проведен | И Продажи.Период > &НачПериода | И Продажи.Период < &КонПериода |"; Иначе Построитель.Текст = "ВЫБРАТЬ | Продажи.Номенклатура, | Продажи.Регистратор, | Продажи.Количество КАК Количество, | Продажи.Стоимость КАК СУММА, | Продажи.ДокументПродажи.Контрагент, | Продажи.ДокументПродажи.Дата, | Продажи.ДокументПродажи.Номер |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.ДокументПродажи.Проведен | И Продажи.Период > &НачПериода | И Продажи.Период < &КонПериода | И Продажи.Номенклатура = &Номенклатура |ИТОГИ | СУММА(Количество) |ПО | ОБЩИЕ |"; КонецЕсли; |
|||
12
НатальяК
11.08.06
✎
19:37
|
Я как раз учусь
|
|||
13
PR
11.08.06
✎
19:39
|
(12) Тогда вы рано начали задавать вопросы на форуме, такую элементарщину нужно читать в ЖКК (документация) и на дисках ИТС.
А вообще лучшая школа - это 1С франчайзи, устройтесь в какой-нить, там научат :o) |
|||
14
НатальяК
11.08.06
✎
19:42
|
малиновые штаны? ну тогда
КУуууу |
|||
15
PR
11.08.06
✎
19:48
|
(14) Нет, просто подсказки на форуме как правило ничему не учат, люди через минуту забывают то, что им сказали, потому что они НЕ ПОНИМАЮТ этого, они просто тупо переписывают код, который им написали :o)
Да и почему в среде одинэсников считается, что прочитать несколько жалких книжек - себя не уважать и всегда успеется? Почему бы не потратить месяц на самообучение? |
|||
16
НатальяК
11.08.06
✎
19:52
|
Я форум очень внимательно читаю (и перечитываю) и ссылку твою по Построителю распечатала и N-ского захода прониклась
но другой литературы кроме ПС и твоей статьи где бы для "особенных Ламеров" ( к коим я себя отношу) нет. поэтому решила спросить |
|||
17
НатальяК
11.08.06
✎
20:00
|
и это......
ТВОЙ ПРИМЕР не работает и не потому, что я чего то не понимаю.... |
|||
18
PR
11.08.06
✎
20:05
|
(17) Если он не работает, то он не у меня не работает, так как я всего лишь показал принцип, верность текста запроса я ессно не проверял, как я могу его проверить :o)
|
|||
19
НатальяК
14.08.06
✎
12:13
|
Прочитав еще раз ТВОЙ трактат таки сдела..
НО (учитывая, что мозг мой женский) не стала плодить как ты предлагал запросы а упрямо нарашиваю имеющийся всё работает. ты был прав (конечно прав) не имеет значение где в модуле или в форме. |
|||
20
dimoff
14.08.06
✎
12:16
|
Про женщин в (7) не согласен. Видел множество мужских примеров, куда более вопиющих.
|
|||
21
PR
14.08.06
✎
14:10
|
(20) Из всякого правила...
|
|||
22
PR
14.08.06
✎
14:12
|
(19) Поздравляю.
Хотя, если запрос не наращивается, а один раз делается либо таким, либо таким (а так и есть, судя по твоим постам), то мне кажется более логичным задание его одним блоком, хотя бы потому, что его можно редактировать в конструкторе ;) |
|||
23
acsent
14.08.06
✎
14:14
|
|
|||
24
НатальяК
14.08.06
✎
20:33
|
(23)
Красиво как получается. Спасибо. |
|||
25
НатальяК
16.08.06
✎
14:08
|
Эх.... признаю.... туплю.... ну туплю! Что тут сказать?
По порядку. ПостроительОтчета является реквизитом отчета На форме сделала табличное поле Данные:ПостроительОтчета.Порядок тип значения: Порядок (тест запроса находится в Форме) не работает (не добавить, не изменить) Построитель = Новый ПостроительОтчета; Построитель.Текст = "ВЫБРАТЬ | Продажи.Номенклатура, | Продажи.Регистратор, | Продажи.Количество КАК Количество, | Продажи.Стоимость КАК СУММА, | Продажи.ДокументПродажи.Контрагент, | Продажи.ДокументПродажи.Дата, | Продажи.ДокументПродажи.Номер, | Продажи.Регистратор.Ответственный.Ссылка |{ВЫБРАТЬ | Номенклатура.*, | Регистратор.*, | Количество, | СУММА, | ДокументПродажиКонтрагент.*, | ДокументПродажиДата КАК ДокументПродажиДата, | ДокументПродажиНомер, | РегистраторОтветственныйСсылка.*} |ИЗ | РегистрНакопления.Продажи КАК Продажи |ГДЕ | Продажи.ДокументПродажи.Проведен | И Продажи.Период > &НачПериода | И Продажи.Период < &КонПериода |{ГДЕ | Продажи.Номенклатура КАК Номенклатура, | Продажи.Регистратор.Ответственный.Ссылка КАК Менеджер} |{УПОРЯДОЧИТЬ ПО | ДокументПродажиНомер, | ДокументПродажиДата, | ДокументПродажиКонтрагент.*, | СУММА, | Количество} |ИТОГИ | СУММА(Количество) |ПО | ОБЩИЕ |{ИТОГИ ПО | СУММА}"; Построитель.ЗаполнитьНастройки(); Построитель.Параметры.Вставить("НачПериода", НачПериода ); Построитель.Параметры.Вставить("КонПериода", КонПериода ); Построитель.Параметры.Вставить("Номенклатура", ВНоменклатура); ЭлОтбора = Построитель.Отбор.Добавить("Номенклатура"); ЭлОтбора.Значение = ВНоменклатура; ЭлОтбора.Использование = НЕ ЗначениеНеЗаполнено(ВНоменклатура); ..... |
|||
26
НатальяК
17.08.06
✎
12:48
|
УРА!!!!!!!!!!
сняла с тормоза!!! |
|||
27
PR
17.08.06
✎
17:32
|
(26) Поздравляю :))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |