|
Установить параметр ЗАПРОС | ☑ | ||
---|---|---|---|---|
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
|
=)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |