|
|
|
Установить параметр ЗАПРОС | ☑ | ||
|---|---|---|---|---|
|
0
Rengo
28.01.15
✎
09:23
|
Есть форма документа на форме есть реквизит - комментарий он заполняется пользователем произвольно. Сделал запрос в запросе указал параметр комментарий "не доступен" как в конце запроса описать параметр? Не как не могу сообразить
|
|||
|
78
palladyi
28.01.15
✎
10:17
|
(77) Значит в цикл не входит. Или ты входишь в 1с не через отладку (F5)
|
|||
|
79
Rengo
28.01.15
✎
10:17
|
Он открывает макет а точку останова не показывает игнорирует ее
|
|||
|
80
palladyi
28.01.15
✎
10:18
|
+ (78) в цикл может не входить только если выборка пустая
|
|||
|
81
palladyi
28.01.15
✎
10:19
|
(79) ты через f5 запускаешь 1с?
|
|||
|
82
igork1966
28.01.15
✎
10:19
|
А вот кто нибудь сказал бы.... нафига для подобных целей используется текстовое поле?
Костыль натуральный... |
|||
|
83
Rengo
28.01.15
✎
10:19
|
У меня есть отдельная консоль запросов я туда запрос пихаю он мне показывает что выбрались документы Опрос с комментарием не доступен 1с запускаю через F5
|
|||
|
84
Rengo
28.01.15
✎
10:20
|
igork1966 Табличный документ
|
|||
|
85
palladyi
28.01.15
✎
10:21
|
(82) Костыль работает) Мы проблему ищем) Вот заработает все можно и костыль убрать)
|
|||
|
86
palladyi
28.01.15
✎
10:21
|
(84) он про поле комментарий
|
|||
|
87
Rengo
28.01.15
✎
10:23
|
Внешняя печатная форма - сделал так - новый документ -> внешняя обработка -> форму не создавал только макет
|
|||
|
88
palladyi
28.01.15
✎
10:23
|
(83) Поставь точку останова до цикла, на строчке Пока Выборка.Следующий() Цикл и посмотри значение Выборка.Количество()
|
|||
|
89
palladyi
28.01.15
✎
10:23
|
а, так это внешняя форма?
|
|||
|
90
igork1966
28.01.15
✎
10:24
|
(84) И что?
Это явный пример либо лени (не хочется переделывать), отсутствия ТЗ и т.п. Подобное кодирование потенциально ненадежное. Когда-нибудь количество таких костылей передет в "качество" и сопровождать это будет невозможно... |
|||
|
91
palladyi
28.01.15
✎
10:24
|
там останавливаться не будет
|
|||
|
92
Rengo
28.01.15
✎
10:25
|
Да внешняя
|
|||
|
93
palladyi
28.01.15
✎
10:25
|
(90) это не лень а незнание, человек только начинает постигать премудрости 1с)
|
|||
|
94
palladyi
28.01.15
✎
10:26
|
(92) добавь строчку Сообщить("Мы в цикле"); в цикл, и проверь, выводится ли сообщение. Если выводится - все ок тут.
|
|||
|
95
igork1966
28.01.15
✎
10:26
|
(93) Скорее человек учиться как нельзя программировать.
|
|||
|
96
palladyi
28.01.15
✎
10:27
|
(95) все через это проходят. Но я это к тому, что нужно не только порицать его метод, а еще и предлагать варианты решения. Например добавить булево в реквизиты.
|
|||
|
97
Rengo
28.01.15
✎
10:28
|
Вот про булево я тоже думаю об этом
|
|||
|
98
igork1966
28.01.15
✎
10:28
|
(96) "Например добавить булево в реквизиты"
скорее всего так... чтобы точно сказать нужно понимать цель |
|||
|
99
palladyi
28.01.15
✎
10:29
|
(97) Если тебе можно менять документ - так и сделай, добавь галочку "недоступен" на документ и отбирай по ней.
|
|||
|
100
igork1966
28.01.15
✎
10:30
|
(98) + а то количество булевых реквизитов может сильно увеличиться :-)))
|
|||
|
101
palladyi
28.01.15
✎
10:31
|
(100) =)))
|
|||
|
102
Rengo
28.01.15
✎
10:31
|
В цикле сообщить поставил сообщение не выводит
|
|||
|
103
Napalmmm
28.01.15
✎
10:32
|
(92)
1) Создай форму и вытащи на неё реквизит "СсылкаНаОбъект" (он ведь у тебя есть в реквизитах с типом "ДокументСсылка.Опрос"???). 2) На любую кнопку формы повесь вызов процедуры "Печать()" из модуля объекта. 3) Отлаживай. |
|||
|
104
palladyi
28.01.15
✎
10:32
|
(102) Значит косяк в запросе. Покажи запрос из консоли.
|
|||
|
105
palladyi
28.01.15
✎
10:33
|
(103) Там не конкретный документ нужен, а выборка из запроса.
|
|||
|
106
Napalmmm
28.01.15
✎
10:33
|
(103) *Функции Печать()
|
|||
|
107
Napalmmm
28.01.15
✎
10:34
|
(105) Отладить можно для одного документа, а уже после подправить запрос на выборку документов
|
|||
|
108
Rengo
28.01.15
✎
10:35
|
ЫБРАТЬ
Опрос.Дата КАК Дата, Опрос.Менеджер КАК Менеджер, Опрос.ОпрашиваемоеЛицо КАК Клиент, Опрос.Комментарий, Опрос.Ссылка ИЗ Документ.Опрос КАК Опрос ГДЕ Опрос.Комментарий ПОДОБНО &Недоступен |
|||
|
109
Rengo
28.01.15
✎
10:36
|
Запрос показывает дату менеджер клиент и коментарий все верно
|
|||
|
110
palladyi
28.01.15
✎
10:36
|
(109) Сколько строк попадает в запрос?
|
|||
|
111
palladyi
28.01.15
✎
10:36
|
*в выборку
|
|||
|
112
Rengo
28.01.15
✎
10:36
|
Одна
|
|||
|
113
palladyi
28.01.15
✎
10:37
|
(107) Можно, ты прав.
|
|||
|
114
Rengo
28.01.15
✎
10:37
|
Ставлю точку останова на строке ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); он все равно не переходит к ней к точке
|
|||
|
115
palladyi
28.01.15
✎
10:37
|
(112) Проверь имена переменных в макете
|
|||
|
116
palladyi
28.01.15
✎
10:37
|
(114) на внешних обработках не работает точки останова
|
|||
|
117
palladyi
28.01.15
✎
10:38
|
+ (115) они должны звучать как Дата Менеджер Клиент Комментарий и Ссылка.
|
|||
|
118
Rengo
28.01.15
✎
10:39
|
макет выглядит так менеджер это шапка ниже строчка данные под менеджером параметр <Менеджер>
|
|||
|
119
Napalmmm
28.01.15
✎
10:39
|
(114) В твоей внешней печатной форме есть реквизит "СсылкаНаОбъект"? Если да, то его тип "ДокументСсылка.Опрос"?
|
|||
|
120
Rengo
28.01.15
✎
10:42
|
нету такого реквизита ссылка я в консоле запросов он там появляется
|
|||
|
121
palladyi
28.01.15
✎
10:43
|
(120) Как ты запускаешь внешнюю обработку? Это самостоятельный отчет?
|
|||
|
122
Rengo
28.01.15
✎
10:44
|
Я думаю так если шапку выводит и данные значит все работает до запроса запрос через консоль проверил работает в цикле надо указать какие параметры он должен заполнять так как они не указаны там
|
|||
|
123
Rengo
28.01.15
✎
10:45
|
Я ее запихиваю во внешние печатные формы и она появляется по нажатию кнопки печать
|
|||
|
124
Napalmmm
28.01.15
✎
10:45
|
(121) Правильный вопрос. Меня понесло в сторону внешних печатных форм, подключаемых к объекту, хотя тут выборка документов.
|
|||
|
125
palladyi
28.01.15
✎
10:45
|
(122) у тебя там есть ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры, Выборка);
|
|||
|
126
palladyi
28.01.15
✎
10:45
|
(124) и ты оказался прав)
|
|||
|
127
palladyi
28.01.15
✎
10:46
|
(123) а почему у тебя из документа печатается выборка по другим документам?
|
|||
|
128
Rengo
28.01.15
✎
10:48
|
Попросили так сделать можно было конечно через отчет сделать по проще но я хочу вот с этим разобраться как это делается так как далее мне надо будет сделать именно через внешнию печатную форму
|
|||
|
129
Rengo
28.01.15
✎
10:50
|
Дак а как мне указать в цикле эти параметры чтобы они заполнялись из-за проса ТабДокумент.Вывести(ОбластьДанные. параметры, Менеджер) так?
|
|||
|
130
palladyi
28.01.15
✎
10:50
|
(129) Вообще - областьДанные.Параметры.Менеджер = Выборка.Менеджер;
|
|||
|
131
Rengo
28.01.15
✎
10:51
|
Да и к стате в цикл не попадает сообщение не выдает
|
|||
|
132
palladyi
28.01.15
✎
10:52
|
(131) а попробуй ка сделать так: перед циклом, но после запроса вставь Сообщить(Выборка.Количество()) и скажи что выдаст
|
|||
|
133
palladyi
28.01.15
✎
10:53
|
а вообще можно сделать как в (103), так будет проще отладкой заниматься.
|
|||
|
134
Rengo
28.01.15
✎
10:54
|
Написал выдал 0
|
|||
|
135
Rengo
28.01.15
✎
10:55
|
А должен 1 так как там всего 1 документ
|
|||
|
136
Rengo
28.01.15
✎
10:56
|
Скорее всего в этих строках Запрос.УстановитьПараметр("Недоступен", "Недоступен");
Выборка = Запрос.Выполнить().Выбрать(); что-то не правильно |
|||
|
137
palladyi
28.01.15
✎
10:56
|
(135) А в консоли у тебя в параметре что написано?
|
|||
|
138
Rengo
28.01.15
✎
10:58
|
Выборка = Запрос.Выполнить().Выбрать(); переписал написал так Выборка = Запрос.Выполнить().Выгрузить(); выдал ошибку "При печати Опрос ААН0000001 от 28.01.2015 12:27:01 обнаружены ошибки :
Обработчик печатной формы 123 (внешняя): {ВнешняяОбработка.Продажи.МодульОбъекта(24)}: Метод объекта не обнаружен (Следующий)" |
|||
|
139
Rengo
28.01.15
✎
10:59
|
Выбрать() - это надо в массив поместить значение а от туда брать и заполнять
|
|||
|
140
Rengo
28.01.15
✎
10:59
|
Массива же нет
|
|||
|
141
hhhh
28.01.15
✎
11:00
|
(138) напиши Выборка = Запрос.Выполнить().Выбрать()
в массив помещать не надо. и брать оттуда не надо. |
|||
|
142
palladyi
28.01.15
✎
11:00
|
(140) Выгрузка - твой массив.
а при выгрузить выгрузка становится таблицей значения, для нее нет метода Следующий() Там Для Каждлго Стр ИЗ ТЗ Цикл |
|||
|
143
palladyi
28.01.15
✎
11:01
|
(142) *Выборка - твой массив
|
|||
|
144
Rengo
28.01.15
✎
11:01
|
написал
|
|||
|
145
Rengo
28.01.15
✎
11:01
|
опять выдал 0
|
|||
|
146
palladyi
28.01.15
✎
11:02
|
(145) Попробуй написать Запрос.УстановитьПараметр("Недоступен", "Недоступен%");
|
|||
|
147
Rengo
28.01.15
✎
11:05
|
Написал выдал 0. Я вот акцентировал внимание на конструктор запроса с обработкой результата он не выдает значение
|
|||
|
148
palladyi
28.01.15
✎
11:06
|
(147) В смысле?
|
|||
|
149
Napalmmm
28.01.15
✎
11:13
|
(0)
По-видимому функция печать должна выглядеть следующим образом: [code] Функция Печать() Экспорт ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(ОбластьШапка); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Опрос.Дата КАК Дата, | Опрос.Менеджер КАК Менеджер, | Опрос.ОпрашиваемоеЛицо КАК Клиент, | Опрос.Комментарий, | Опрос.Ссылка |ИЗ | Документ.Опрос КАК Опрос |ГДЕ | Опрос.Комментарий ПОДОБНО ""%Недоступен%"""; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры, Выборка); ТабДок.Вывести(ОбластьДанные); КонецЦикла; Возврат ТабДок; КонецФункции [/code] От себя бы еще добавил условие в запрос как минимум на дату документа. Если не отработает и этот код, то, как мне кажется, необходимо копать в сторону макета. Или параметры не принадлежат области, или не являются параметрами и т.д. |
|||
|
150
Rengo
28.01.15
✎
11:17
|
Щас попробую
|
|||
|
151
Rengo
28.01.15
✎
11:23
|
ри печати Опрос ААН0000001 от 28.01.2015 12:27:01 обнаружены ошибки :
Обработчик печатной формы 123 (внешняя): {Справочник.ВнешниеПечатныеФормы.МодульОбъекта(105)}: Слишком много фактических параметров с тем кодом |
|||
|
152
Rengo
28.01.15
✎
11:25
|
В макете область Данные в ней параметры менеджер дата и т.д
|
|||
|
153
palladyi
28.01.15
✎
11:27
|
(151) 105 строчка - это что?
|
|||
|
154
Rengo
28.01.15
✎
11:30
|
У меня ее вообще нету 105 сделал так
//Функция Печать(ДокументОбъект, ТабДокумент) Экспорт // // //ТабДок = Новый ТабличныйДокумент; // Макет = ПолучитьМакет("Макет"); // ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); // ОбластьДанные = Макет.ПолучитьОбласть("Данные"); // ТабДокумент.Вывести(ОбластьШапка); // //ТабДокумент.Вывести(ОбластьДанные); // ТабДокумент.Очистить(); // Запрос = Новый Запрос; // Запрос.Текст = "ВЫБРАТЬ // | Опрос.Дата КАК Дата, // | Опрос.Менеджер КАК Менеджер, // | Опрос.ОпрашиваемоеЛицо КАК Клиент, // | Опрос.Комментарий, // | Опрос.Ссылка // |ИЗ // | Документ.Опрос КАК Опрос // |ГДЕ // | Опрос.Комментарий ПОДОБНО &Недоступен"; // Запрос.УстановитьПараметр("Недоступен", "Недоступен%"); // Выборка = Запрос.Выполнить().Выбрать(); // Сообщить(Выборка.Количество()); // Пока Выборка.Следующий() Цикл // ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры, Выборка); // ТабДокумент.Вывести(ОбластьДанные); // Сообщить("Все хорошо"); // КонецЦикла; // // ТабДокумент.Вывести(Макет); // Возврат ТабДокумент; //КонецФункции // Функция Печать() Экспорт ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("Макет"); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ТабДок.Вывести(ОбластьШапка); ОбластьДанные = Макет.ПолучитьОбласть("Данные"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Опрос.Дата КАК Дата, | Опрос.Менеджер КАК Менеджер, | Опрос.ОпрашиваемоеЛицо КАК Клиент, | Опрос.Комментарий, | Опрос.Ссылка |ИЗ | Документ.Опрос КАК Опрос |ГДЕ | Опрос.Комментарий ПОДОБНО ""%Недоступен%"""; Выборка = Запрос.Выполнить().Выбрать(); Пока Выборка.Следующий() Цикл ЗаполнитьЗначенияСвойств(ОбластьДанные.Параметры, Выборка); ТабДок.Вывести(ОбластьДанные); КонецЦикла; Возврат ТабДок; КонецФункции |
|||
|
155
palladyi
28.01.15
✎
11:32
|
(154) у тебя передается в функцию печать 2 параметра
|
|||
|
156
palladyi
28.01.15
✎
11:33
|
(154) сделай так: Печать(ДокументОбъект, ТабДокумент) Экспорт
|
|||
|
157
Rengo
28.01.15
✎
11:38
|
Сделал с этого кода выводит только шапку ошибок не выдает
|
|||
|
158
palladyi
28.01.15
✎
11:38
|
(157) Значит проблема в запросе.
|
|||
|
159
palladyi
28.01.15
✎
11:43
|
(158) а у тебя в комментарии точно написано "Недоступен" без ошибок и с большой буквы?
|
|||
|
160
Rengo
28.01.15
✎
11:45
|
Написано так Не доступен через пробел
|
|||
|
161
1976vas
28.01.15
✎
11:45
|
)
|
|||
|
162
Napalmmm
28.01.15
✎
11:46
|
(160) в запросе %Недоступен% исправить на %Не доступен%
|
|||
|
163
palladyi
28.01.15
✎
11:47
|
=)))))
|
|||
|
164
palladyi
28.01.15
✎
11:47
|
то есть мы два часа тут ... из-за пробела?))
|
|||
|
165
Rengo
28.01.15
✎
11:48
|
точно
|
|||
|
166
palladyi
28.01.15
✎
11:48
|
(160) Все-таки делай через булево, будет проще))
|
|||
|
167
Rengo
28.01.15
✎
11:48
|
Пробел поставил все заработало =)))
|
|||
|
168
palladyi
28.01.15
✎
11:48
|
(167) Поздравляю))
|
|||
|
169
1976vas
28.01.15
✎
11:48
|
И как это в консоли работало интересно )
|
|||
|
170
Rengo
28.01.15
✎
11:49
|
Фу... Спасибо огромное. Через булево попробую
|
|||
|
171
palladyi
28.01.15
✎
11:50
|
(170) Пожалуйста) Вообще отбирать что-то по строке - дурной тон, используется только в крайнем случае.
|
|||
|
172
Rengo
28.01.15
✎
11:50
|
Спасибо всем за помощь. При много благодарен всем
|
|||
|
173
Rengo
28.01.15
✎
11:50
|
Да точно не обратил внимание в консоли тоже пробел
|
|||
|
174
Rengo
28.01.15
✎
11:51
|
Извиняюсь
|
|||
|
175
Rengo
28.01.15
✎
11:51
|
Это еще раз говорит что нужно быть внимательным
|
|||
|
176
palladyi
28.01.15
✎
11:52
|
(175) Нормально все, из-за мелочей всегда куча проблем)
|
|||
|
177
Rengo
28.01.15
✎
11:55
|
=)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |