23.10.19 — 20:23
Добрый вечер, уважаемые коллеги. Имеется таблица внешнего источника на Postgres, платформа 8.3.15.1656.
При щелчке на заголовке колонки, 1Сина выдает странную ошибку ‘Внутренняя ошибка языка запросов «Некорректные параметры получения части результата»‘
Подскажите, куда смотреть, если кто-то сталкивался. Заранее благодарю за помощь.
1 — 23.10.19 — 20:23
Вот лог из технологического журнала:
10:10.430002-14990,SDBL,1,process=1CV8C,OSThread=11532,Usr=Администратор,DBMS=DBPOSTGRS,Trans=0,Func=HoldConnection,Context=ДинамическийСписок.ПолучитьДанные : ВнешнийИсточникДанных.ЕнотЖаритКотлеты.Таблица.Котлеты.Форма.ФормаСписка.Реквизит.СписокЗажарок
10:10.430003-0,QERR,1,process=1CV8C,OSThread=11532,Usr=Администратор,Descr=’Внутренняя ошибка языка запросов «Некорректные параметры получения части результата»‘,Query=’ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
Котлеты.IDКотлетоса КАК IDКотлетоса,
ВЫБОР
КОГДА Котлеты.IDКотлетоса ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК IDКотлетосаПолеУпорядочивания1
ИЗ
ВнешнийИсточникДанных.ЕнотЖаритКотлеты.Таблица.Котлеты КАК Котлеты
ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.ЕнотЖаритКотлеты.Таблица.Инструменты КАК Инструменты
ПО Котлеты.IDИнструмента = Инструменты.id
УПОРЯДОЧИТЬ ПО
IDКотлетосаПолеУпорядочивания1,
IDКотлетоса’,Context=ДинамическийСписок.ПолучитьДанные : ВнешнийИсточникДанных.ЕнотЖаритКотлеты.Таблица.Котлеты.Форма.ФормаСписка.Реквизит.СписокЗажарок
10:10.430004-0,EXCP,1,process=1CV8C,OSThread=11532,Usr=Администратор,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr=’srcVResourceInfoBaseImpl.cpp(1131):
580392e6-ba49-4280-ac67-fcd6f2180121: Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса POST к ресурсу /e1cib/dlist:
eece8795-ccc9-4865-8779-0482cfe4a31e: Ошибка при выполнении запроса.
bb4657f6-80d1-4ce6-acfe-69860ef1c3f4: Ошибка получения данных
e01bc916-56a4-4302-b726-792a2f76e608: Ошибка создания набора данных «НаборДанныхДинамическогоСписка»
c238ea87-cc00-4e32-8cc8-f3b182a09711: Ошибка при исполнении запроса набора данных
ae209c88-6b01-464c-adc9-0b72e240492f: Внутренняя ошибка языка запросов «Некорректные параметры получения части результата»‘
10:10.430007-0,EXCP,3,process=1CV8C,OSThread=11532,Exception=eece8795-ccc9-4865-8779-0482cfe4a31e,Descr=’srcExceptionWriterUIImpl.cpp(461), shown to the user:
eece8795-ccc9-4865-8779-0482cfe4a31e: Ошибка при выполнении запроса.
f6f167a0-dcc9-49ad-8f8e-2c9d9904e4fe: Ошибка получения данных
f6f167a0-dcc9-49ad-8f8e-2c9d9904e4fe: Ошибка создания набора данных «НаборДанныхДинамическогоСписка»
f6f167a0-dcc9-49ad-8f8e-2c9d9904e4fe: Ошибка при исполнении запроса набора данных
f6f167a0-dcc9-49ad-8f8e-2c9d9904e4fe: Внутренняя ошибка языка запросов «Некорректные параметры получения части результата»‘
4 — 23.10.19 — 20:38
(3) тьфу ты, в настройках полей таблицы внешнего источника, у поля «IDКотлетоса» убрать «разрешить Null», то судя по технологическому журналу и по поведению системы, все заебца.
5 — 23.10.19 — 22:27
я бы сделал так: на опрашиваемом postgres временно воткнуть log_statement = ‘all’ в postgres.conf и посмотреть в логе постгреса, как именно оно там из желтого sql в нормальный натранслировало, и попытаться то же самое из консоли исполнить — будет нормальное описание ошибки на английском
из техножурнала выше ни зги не понятно, возможно вообще левую ошибку подсовывает
novichok79
6 — 24.10.19 — 11:00
(5) да, надо бы попробовать. у меня тестовая база крутится на постгри, как и у заказчика. возможно 1С не очень еще с ней умеет работать, хотя стоят самые свежие версии платформы и постгри с сайта 1С .
novichok79
23.10.19 — 20:23
Добрый вечер, уважаемые коллеги. Имеется таблица внешнего источника на Postgres, платформа 8.3.15.1656.
При щелчке на заголовке колонки, 1Сина выдает странную ошибку ‘Внутренняя ошибка языка запросов «Некорректные параметры получения части результата»‘
Подскажите, куда смотреть, если кто-то сталкивался. Заранее благодарю за помощь.
novichok79
1 — 23.10.19 — 20:23
Вот лог из технологического журнала:
10:10.430002-14990,SDBL,1,process=1CV8C,OSThread=11532,Usr=Администратор,DBMS=DBPOSTGRS,Trans=0,Func=HoldConnection,Context=ДинамическийСписок.ПолучитьДанные : ВнешнийИсточникДанных.ЕнотЖаритКотлеты.Таблица.Котлеты.Форма.ФормаСписка.Реквизит.СписокЗажарок
10:10.430003-0,QERR,1,process=1CV8C,OSThread=11532,Usr=Администратор,Descr=’Внутренняя ошибка языка запросов «Некорректные параметры получения части результата»‘,Query=’ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
Котлеты.IDКотлетоса КАК IDКотлетоса,
ВЫБОР
КОГДА Котлеты.IDКотлетоса ЕСТЬ NULL
ТОГДА 0
ИНАЧЕ 1
КОНЕЦ КАК IDКотлетосаПолеУпорядочивания1
ИЗ
ВнешнийИсточникДанных.ЕнотЖаритКотлеты.Таблица.Котлеты КАК Котлеты
ЛЕВОЕ СОЕДИНЕНИЕ ВнешнийИсточникДанных.ЕнотЖаритКотлеты.Таблица.Инструменты КАК Инструменты
ПО Котлеты.IDИнструмента = Инструменты.id
УПОРЯДОЧИТЬ ПО
IDКотлетосаПолеУпорядочивания1,
IDКотлетоса’,Context=ДинамическийСписок.ПолучитьДанные : ВнешнийИсточникДанных.ЕнотЖаритКотлеты.Таблица.Котлеты.Форма.ФормаСписка.Реквизит.СписокЗажарок
10:10.430004-0,EXCP,1,process=1CV8C,OSThread=11532,Usr=Администратор,Exception=580392e6-ba49-4280-ac67-fcd6f2180121,Descr=’srcVResourceInfoBaseImpl.cpp(1131):
580392e6-ba49-4280-ac67-fcd6f2180121: Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса POST к ресурсу /e1cib/dlist:
eece8795-ccc9-4865-8779-0482cfe4a31e: Ошибка при выполнении запроса.
bb4657f6-80d1-4ce6-acfe-69860ef1c3f4: Ошибка получения данных
e01bc916-56a4-4302-b726-792a2f76e608: Ошибка создания набора данных «НаборДанныхДинамическогоСписка»
c238ea87-cc00-4e32-8cc8-f3b182a09711: Ошибка при исполнении запроса набора данных
ae209c88-6b01-464c-adc9-0b72e240492f: Внутренняя ошибка языка запросов «Некорректные параметры получения части результата»‘
10:10.430007-0,EXCP,3,process=1CV8C,OSThread=11532,Exception=eece8795-ccc9-4865-8779-0482cfe4a31e,Descr=’srcExceptionWriterUIImpl.cpp(461), shown to the user:
eece8795-ccc9-4865-8779-0482cfe4a31e: Ошибка при выполнении запроса.
f6f167a0-dcc9-49ad-8f8e-2c9d9904e4fe: Ошибка получения данных
f6f167a0-dcc9-49ad-8f8e-2c9d9904e4fe: Ошибка создания набора данных «НаборДанныхДинамическогоСписка»
f6f167a0-dcc9-49ad-8f8e-2c9d9904e4fe: Ошибка при исполнении запроса набора данных
f6f167a0-dcc9-49ad-8f8e-2c9d9904e4fe: Внутренняя ошибка языка запросов «Некорректные параметры получения части результата»‘
novichok79
4 — 23.10.19 — 20:38
(3) тьфу ты, в настройках полей таблицы внешнего источника, у поля «IDКотлетоса» убрать «разрешить Null», то судя по технологическому журналу и по поведению системы, все заебца.
bolero
5 — 23.10.19 — 22:27
я бы сделал так: на опрашиваемом postgres временно воткнуть log_statement = ‘all’ в postgres.conf и посмотреть в логе постгреса, как именно оно там из желтого sql в нормальный натранслировало, и попытаться то же самое из консоли исполнить — будет нормальное описание ошибки на английском
из техножурнала выше ни зги не понятно, возможно вообще левую ошибку подсовывает
novichok79
6 — 24.10.19 — 11:00
(5) да, надо бы попробовать. у меня тестовая база крутится на постгри, как и у заказчика. возможно 1С не очень еще с ней умеет работать, хотя стоят самые свежие версии платформы и постгри с сайта 1С .
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 |
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | дфГосЗаказОбороты.Держатель КАК Держатель, | дфГосЗаказОбороты.ПостащикЛома КАК ПостащикЛома, | дфГосЗаказОбороты.ВидКонтракта КАК ВидКонтракта, | дфГосЗаказОбороты.Статус КАК Статус, | ВложенныйЗапрос.Контрагент КАК Контрагент, | дфГосЗаказОбороты.ЯнварьОборот КАК Январь, | дфГосЗаказОбороты.ФевральОборот КАК Февраль, | дфГосЗаказОбороты.МартОборот КАК Март, | дфГосЗаказОбороты.АпрельОборот КАК Апрель, | дфГосЗаказОбороты.МайОборот КАК Май, | дфГосЗаказОбороты.ИюньОборот КАК Июнь, | дфГосЗаказОбороты.ИюльОборот КАК Июль, | дфГосЗаказОбороты.АвгустОборот КАК Август, | дфГосЗаказОбороты.СентябрьОборот КАК Сентябрь, | дфГосЗаказОбороты.ОктябрьОборот КАК Октябрь, | дфГосЗаказОбороты.НоябрьОборот КАК Ноябрь, | дфГосЗаказОбороты.ДекабрьОборот КАК Декабрь |ИЗ | (ВЫБРАТЬ | ххх_МеталлоломОбороты.Контрагент КАК Контрагент, | ххх_МеталлоломОбороты.ЧистыйВесОборот КАК ЧистыйВесОборот, | ххх_МеталлоломОбороты.Держатель КАК Держатель | ИЗ | РегистрНакопления.ххх_Металлолом.Обороты КАК ххх_МеталлоломОбороты) КАК ВложенныйЗапрос | ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.дфГосЗаказ.Обороты КАК дфГосЗаказОбороты | ПО дфГосЗаказОбороты.ПостащикЛома.Наименование = ВложенныйЗапрос.Контрагент.Наименование |ГДЕ | дфГосЗаказОбороты.Статус <> &Статус | И дфГосЗаказОбороты.ВидКонтракта = &ВидКонтракта | И дфГосЗаказОбороты.ПостащикЛома <> дфГосЗаказОбороты.Держатель | И ВложенныйЗапрос.Держатель = &Держатель"; Запрос.УстановитьПараметр("Статус", Перечисления.дфСтатусыГосЗаказа.Расторгнут); Запрос.УстановитьПараметр("ВидКонтракта", Перечисления.дфВидыКонтрактов.Госзаказ); Запрос.УстановитьПараметр("Держатель", Отчет.Организация); //Запрос.УстановитьПараметр("ДатаНачалаПериода", НачалоГода(Отчет.Дата)); //Запрос.УстановитьПараметр("ДатаОкончанияПериода", КонецГода(Отчет.Дата)); //Запрос.УстановитьПараметр("ВыбраннаяОрганизация", Отчет.Организация); РезультатЗапроса = Запрос.Выполнить(); Выгрузка = РезультатЗапроса.Выгрузить(); ВыборкаДетальныеЗаписиОсновнаяЧасть = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписиОсновнаяЧасть.Следующий() Цикл //заполняем остальную таблицу, где Держатель != ПоставщикЛома ОбластьОсновного.Параметры.Заполнить(ВыборкаДетальныеЗаписиОсновнаяЧасть); Если Не ТабличныйДокумент.ПроверитьВывод(ОбластьОсновного) Тогда ТабличныйДокумент.ВывестиГоризонтальныйРазделительСтраниц(); НомерЛиста = НомерЛиста + 1; ОбластьШапки.Параметры.НомерЛиста = НомерЛиста; ТабличныйДокумент.Вывести(ОбластьОсновного); КонецЕсли; ТабличныйДокумент.Вывести(ОбластьОсновного); ОбластьОсновного.Параметры.УНП = ВыборкаДетальныеЗаписиОсновнаяЧасть.Контрагент.ИНН; ОбластьОсновного.Параметры.НаименованиеОрганизации = ВыборкаДетальныеЗаписиОсновнаяЧасть.ПостащикЛома.Наименование; МесяцЧисло = Месяц(Отчет.Дата); //Получаем число месяца из переменной КонецМесяца Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СУММА(ххх_МеталлоломОбороты.ЧистыйВесОборот) КАК СуммаЧистыйВесЗаМесяц |ИЗ | РегистрНакопления.ххх_Металлолом.Обороты(&НачалоМесяца, &КонецМесяца, Месяц, ) КАК ххх_МеталлоломОбороты |ГДЕ | ххх_МеталлоломОбороты.Период МЕЖДУ &НачалоМесяца И &КонецМесяца | И ххх_МеталлоломОбороты.Партнер = &Партнер"; Запрос.УстановитьПараметр("НачалоМесяца", НачалоМесяца(Отчет.Дата)); Запрос.УстановитьПараметр("КонецМесяца", КонецМесяца(Отчет.Дата)); Запрос.УстановитьПараметр("Партнер", Отчет.Организация); РезультатЗапроса = Запрос.Выполнить(); ВыборкаПоМесяцу = РезультатЗапроса.Выбрать(); Пока ВыборкаПоМесяцу.Следующий() Цикл Если МесяцЧисло = 1 Тогда // определяем число Месяца и считаем план за месяц ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 2 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 3 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Март; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 4 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 5 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Май; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 6 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 7 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Июль; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 8 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Август; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц;; ИначеЕсли МесяцЧисло = 9 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Сентябрь; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 10 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Октябрь; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 11 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Ноябрь; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; ИначеЕсли МесяцЧисло = 12 Тогда ОбластьОсновного.Параметры.ПланМесяц = ВыборкаДетальныеЗаписиОсновнаяЧасть.Декабрь; ОбластьОсновного.Параметры.ФактМесяц = ВыборкаПоМесяцу.СуммаЧистыйВесЗаМесяц; КонецЕсли; ОбластьОсновного.Параметры.ФактМесяц = Формат(ОбластьОсновного.Параметры.ФактМесяц,"ЧДЦ=3"); КонецЦикла; //проверка на пустоту плана за месяц Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ПланМесяц) Тогда СуммаПланМесяц = СуммаПланМесяц + ОбластьОсновного.Параметры.ПланМесяц; Иначе СуммаПланМесяц = СуммаПланМесяц + 0; КонецЕсли; //проверка на пустоту факта за месяц Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ФактМесяц) Тогда СуммаФактМесяц = СуммаФактМесяц + ОбластьОсновного.Параметры.ФактМесяц; Иначе СуммаФактМесяц = СуммаФактМесяц + 0; КонецЕсли; // подсчёт процента за Месяц и проверка на пустоту Плана и Факта Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ПланМесяц) И НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ФактМесяц) Тогда ПроцентЗаМесяц = ОбластьОсновного.Параметры.ФактМесяц/ОбластьОсновного.Параметры.ПланМесяц*100; ОбластьОсновного.Параметры.ПроцентМесяц = Формат(ПроцентЗаМесяц,"ЧДЦ=2"); Иначе ОбластьОсновного.Параметры.ПроцентМесяц = " "; КонецЕсли; //считаем план за квартал Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СУММА(ххх_МеталлоломОбороты.ЧистыйВесОборот) КАК СуммаЧистыйВесЗаКвартал |ИЗ | РегистрНакопления.ххх_Металлолом.Обороты(&НачалоКвартала, &КонецКвартала, Квартал, ) КАК ххх_МеталлоломОбороты |ГДЕ | ххх_МеталлоломОбороты.Период МЕЖДУ &НачалоКвартала И &КонецКвартала | И ххх_МеталлоломОбороты.Партнер = &Партнер"; Запрос.УстановитьПараметр("НачалоКвартала", НачалоКвартала(Отчет.Дата)); Запрос.УстановитьПараметр("КонецКвартала", КонецКвартала(Отчет.Дата)); Запрос.УстановитьПараметр("Партнер", Отчет.Организация); РезультатЗапроса = Запрос.Выполнить(); ВыборкаПоКварталу = РезультатЗапроса.Выбрать(); Пока ВыборкаПоКварталу.Следующий() Цикл //Определяем число месяца и считаем План за Квартал Если МесяцЧисло = 1 ИЛИ МесяцЧисло = 2 ИЛИ МесяцЧисло = 3 Тогда ОбластьОсновного.Параметры.ПланКвартал = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март; ОбластьОсновного.Параметры.ФактКвартал = ВыборкаПоКварталу.СуммаЧистыйВесЗаКвартал; ИначеЕсли МесяцЧисло = 4 ИЛИ МесяцЧисло = 5 ИЛИ МесяцЧисло = 6 Тогда ОбластьОсновного.Параметры.ПланКвартал = ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь; ОбластьОсновного.Параметры.ФактКвартал = ВыборкаПоКварталу.СуммаЧистыйВесЗаКвартал; ИначеЕсли МесяцЧисло = 7 ИЛИ МесяцЧисло = 8 ИЛИ МесяцЧисло = 9 Тогда ОбластьОсновного.Параметры.ПланКвартал = ВыборкаДетальныеЗаписиОсновнаяЧасть.Июль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Август + ВыборкаДетальныеЗаписиОсновнаяЧасть.Сентябрь; ОбластьОсновного.Параметры.ФактКвартал = ВыборкаПоКварталу.СуммаЧистыйВесЗаКвартал; ИначеЕсли МесяцЧисло = 10 ИЛИ МесяцЧисло = 11 ИЛИ МесяцЧисло = 12 Тогда ОбластьОсновного.Параметры.ПланКвартал = ВыборкаДетальныеЗаписиОсновнаяЧасть.Октябрь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Ноябрь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Декабрь; ОбластьОсновного.Параметры.ФактКвартал = ВыборкаПоКварталу.СуммаЧистыйВесЗаКвартал; КонецЕсли; ОбластьОсновного.Параметры.ФактКвартал = Формат(ОбластьОсновного.Параметры.ФактКвартал,"ЧДЦ=3"); КонецЦикла; //проверка на пустоту плана за квартал Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ПланКвартал) Тогда СуммаПланКвартал = СуммаПланКвартал + ОбластьОсновного.Параметры.ПланКвартал; Иначе СуммаПланКвартал = СуммаПланКвартал + 0; КонецЕсли; //проверка на пустоту факта за квартал Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ФактКвартал) Тогда СуммаФактКвартал = СуммаФактКвартал + ОбластьОсновного.Параметры.ФактКвартал; Иначе СуммаФактКвартал = СуммаФактКвартал + 0; КонецЕсли; // подсчёт процента за Квартал и проверка на пустоту Плана и Факта Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ПланКвартал) И НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ФактКвартал) Тогда ПроцентЗаКвартал = ОбластьОсновного.Параметры.ФактКвартал/ОбластьОсновного.Параметры.ПланКвартал*100; ОбластьОсновного.Параметры.ПроцентКвартал = Формат(ПроцентЗаКвартал,"ЧДЦ=2"); Иначе ОбластьОсновного.Параметры.ПроцентКвартал = " "; КонецЕсли; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СУММА(ххх_МеталлоломОбороты.ЧистыйВесОборот) КАК СуммаЧистыйВесЗаГод |ИЗ | РегистрНакопления.ххх_Металлолом.Обороты(&НачалоГода, &КонецВыбранногоМесяца, Год, ) КАК ххх_МеталлоломОбороты |ГДЕ | ххх_МеталлоломОбороты.Период МЕЖДУ &НачалоГода И &КонецВыбранногоМесяца | И ххх_МеталлоломОбороты.Партнер = &Партнер"; Запрос.УстановитьПараметр("КонецВыбранногоМесяца", КонецМесяца(Отчет.Дата)); Запрос.УстановитьПараметр("НачалоГода", НачалоГода(Отчет.Дата)); Запрос.УстановитьПараметр("Партнер", Отчет.Организация); РезультатЗапроса = Запрос.Выполнить(); ВыборкаФактЗаГод = РезультатЗапроса.Выбрать(); Пока ВыборкаФактЗаГод.Следующий() Цикл //Определяем число месяца и считаем План за Год Если МесяцЧисло=1 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 2 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписи.Февраль; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 3 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 4 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 5 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 6 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 7 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июль; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 8 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Август; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 9 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Август + ВыборкаДетальныеЗаписиОсновнаяЧасть.Сентябрь; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 10 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Август + ВыборкаДетальныеЗаписиОсновнаяЧасть.Сентябрь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Октябрь; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 11 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Август + ВыборкаДетальныеЗаписиОсновнаяЧасть.Сентябрь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Октябрь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Ноябрь; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; ИначеЕсли МесяцЧисло = 12 Тогда ОбластьОсновного.Параметры.ПланГод = ВыборкаДетальныеЗаписиОсновнаяЧасть.Январь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Февраль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Март + ВыборкаДетальныеЗаписиОсновнаяЧасть.Апрель + ВыборкаДетальныеЗаписиОсновнаяЧасть.Май + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июнь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Июль + ВыборкаДетальныеЗаписиОсновнаяЧасть.Август + ВыборкаДетальныеЗаписиОсновнаяЧасть.Сентябрь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Октябрь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Ноябрь + ВыборкаДетальныеЗаписиОсновнаяЧасть.Декабрь; ОбластьОсновного.Параметры.ФактГод = ВыборкаФактЗаГод.СуммаЧистыйВесЗаГод; КонецЕсли; ОбластьОсновного.Параметры.ФактГод = Формат(ОбластьОсновного.Параметры.ФактГод,"ЧДЦ=3"); КонецЦикла; //проверка на пустоту плана за год Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ПланГод) Тогда СуммаПланГод = СуммаПланГод + ОбластьОсновного.Параметры.ПланГод; Иначе СуммаПланГод = СуммаПланГод + 0; КонецЕсли; //проверка на пустоту факта за год Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ФактГод) Тогда СуммаФактГод = СуммаФактГод + ОбластьОсновного.Параметры.ФактГод; Иначе СуммаФактГод = СуммаФактГод + 0; КонецЕсли; // подсчёт процента за Год и проверка на пустоту Плана и Факта Если НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ПланГод) И НЕ ПустаяСтрока(ОбластьОсновного.Параметры.ФактГод) Тогда ПроцентЗаГод = ОбластьОсновного.Параметры.ФактГод/ОбластьОсновного.Параметры.ПланГод*100; ОбластьОсновного.Параметры.ПроцентГод = Формат(ПроцентЗаГод,"ЧДЦ=2"); Иначе ОбластьОсновного.Параметры.ПроцентГод = " "; КонецЕсли; //Продолжить; КонецЦикла; |
Результат простого запроса «Ошибка чтения значения»
Автор 2Casp, 27 мая 2014, 16:01
0 Пользователей и 1 гость просматривают эту тему.
Всем привет!
Подскажите не могу понять почему в отладчике значение Результат.Выбрать().ОсновнойТехник значение равно Ошибка чтения значения. Хотя запрос в консоли выполняется верно. Куда смотреть?
Конфигурация УТ 11.1.6.17
&НаКлиенте
Процедура КлиентОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Объект.Исполнитель = ПолучитьИсполнителяНаСервере(ВыбранноеЗначение);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьИсполнителяНаСервере(Партнер)
Запрос = Новый Запрос;
ТекстЗапроса = "
|ВЫБРАТЬ
| Партнеры.Ссылка,
| Партнеры.Наименование,
| Партнеры.ОсновнойТехник.Ссылка КАК ОсновнойТехник
|ИЗ
| Справочник.Партнеры КАК Партнеры
|ГДЕ
| Партнеры.Наименование = &Наименование
|
|";
Запрос.УстановитьПараметр("Наименование", Партнер);
Запрос.Текст = ТекстЗапроса;
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Выборка.ОсновнойТехник;
КонецЦикла;
КонецФункции // ПолучитьИсполнителяНаСервере()
Потому что прежде чем получать значение из выборки сначала нужно спозиционироваться на конкретной записи.
Например это делается методом Следующий();
Смотри в отладчике строчку после Выборка.Следующий()
Выборка.ОсновнойТехник;
Цитата: MuI_I_Ika от 27 мая 2014, 17:06
Смотри в отладчике строчку после Выборка.Следующий()Выборка.ОсновнойТехник;
В том то и дело, не пойму почему я даже в цикл Пока Выборка.Следующий() Цикл не захожу. Вся Выборка Ошибка чтения значения. Открываю этот запрос в консоли, там получаю Ссылку на ОсновнойТехник
Вот эта строка выдает ошибку чтения значения?
Результат.Выбрать()
А почему кстати пытаетесь отбирать по наименованию? Вполне можно по ссылке отбирать. Что будете делать когда появятся два контрагента с одним наименованием?
Я же объясняю пока выборка не спозиционирована на конкретном значении никаких значений вы в отладчике не получите, так что все правильно вам программа показывает.
Цитата: MuI_I_Ika от 27 мая 2014, 17:30
А почему кстати пытаетесь отбирать по наименованию? Вполне можно по ссылке отбирать. Что будете делать когда появятся два контрагента с одним наименованием?
Спасибо. Поменял наименование на ссылку.
Теги:
- Форум 1С
- ►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 - ►
Конфигурирование, программирование в 1С Предприятие 8 - ►
Результат простого запроса «Ошибка чтения значения»
Похожие темы (5)
![]()
Поиск
Несоответствие типов 1С
Ошибка по причине Несоответствие типов в 1С 8.3 связана с передачей параметров в командах и запросах 1С.
Изучив статью, вы:
- ознакомитесь с порядком исправления ошибки в запросе и командах 1С и узнаете, как исправить;
- получите два внешних отчета, демонстрирующих ошибочный и правильный коды.
В какой момент выходит ошибка
Как правило, параметры в командах 1С идут в определенной очередности и ссылаются на данные конкретного типа. Ошибка в указании параметра не на том месте или не того типа приводит к появлению сообщения о несоответствии типов:
Исправляется подобная ошибка восстановлением правильной последовательности в строке параметров команды или указанием нужного типа данных Ошибка 1С Несоответствие типов наиболее часто появляется при написании запросов и при некорректном указании параметров команды.
Рассмотрим причины ее возникновения и исправление на конкретном примере.
Ошибка в таблице запроса
При чтении цен номенклатуры по регистру сведений Цены номенклатуры из внешнего отчета появляется ошибка Неоднозначное поле «ТипЦен.Номенклатура».
В окне сообщений уже указано место возникновения ошибки: Несоответствие типов Параметр номер «1» в строке Регистр сведений.ЦеныНоменклатуры.СрезПоследних(&&ТипЦен,) КАК ЦеныНоменклатурыСрезПоследних.
Для исправления ошибки необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы указанную строчку.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1 С Предприятие:
Из описания видно, что команда СрезПоследних имеет 2 параметра:
- Период;
- Отбор.
Если параметр Период не указывается, место в команде остается пустым, а через запятую указывается параметр отбора, в нашем случае: ТипЦен. Исправленная команда выглядит следующим образом: СрезПоследних(, ТипЦен = &ТипЦен ).
После исправления команды запустите отчет в 1 С Бухгалтерия по кнопке Главное меню — Файл — Открыть:
Теперь отчет формируется правильно!
Исправление ошибки в команде 1С
При поиске ссылок на контрагента в отчете 1С появляется ошибка Несоответствие типов (параметр номер 2):
1С сообщает место ошибки — Параметр номер 2 при нажатии кнопки ERROR.
Для ее исправления необходимо открыть отчет в Конфигураторе 1С и найти в модуле формы строчку с командой НайтиПоСсылкам.
Правильность написания команды проверьте по выделенной кнопке Синтаксис-Помощник в меню 1С:
Из описания идно, что команда НайтиПоСсылкам имеет 4 параметра:
- СписокСсылок;
- ОбластьПоиска;
- ВключитьОбъекты;
- ИсключитьОбъекты.
Параметр ОбластьПоиска имеет тип «массив», а в нашем примере указано число 1: НайтиПоСсылкам(МассивПоиска, 1, , МассивИсключений). Область поиска — необязательный параметр, поэтому исправленная команда может выглядеть следующим образом: НайтиПоСсылкам(МассивПоиска, , , МассивИсключений).
После исправления команды запустите внешний отчет в 1С по кнопке Главное меню — Файл — Открыть:
Теперь команда поиска ссылок на контрагента отрабатывает правильно.
Вот так можно получить ошибку 1С Несоответствие типов в 1С, поэтому контролируйте правильность указания параметров в запросах и командах 1С в Синтаксис-Помощнике!

Заказать консультацию
По этой или иной ошибке Вы можете обратиться к нашим специалистам, мы Вам поможем решить Вашу проблему.
Почему возникает Ошибка чтения значений?
В консоле запрос работает, а вот в коде выдаёт ошибку.
-
Вопрос заданболее трёх лет назад
-
1671 просмотр
В коде напиши Запрос.Выполнить().Выгрузить() вместо Запрос.Выполнить().Выбрать()
Метод выгрузить возвращает тебе таблицу значений как в консоли, выбрать подходит для поочередного обхода значений таблицы в цикле.
Пригласить эксперта
-
Показать ещё
Загружается…
22 июн. 2023, в 15:36
1500 руб./в час
22 июн. 2023, в 15:31
2100 руб./в час
22 июн. 2023, в 15:19
5000 руб./за проект
Минуточку внимания
Содержание:
1. Как установить параметр в запросе?
2. Функция параметра «Ссылка»
3. Параметр «Дата»
Параметр в 1С – это некий элемент, принятый функцией. В данной статье поговорим о видах и типах параметров, а также рассмотрим, как задать параметры так, чтобы избежать ошибки «Неверные параметры» в 1С.
1. Как установить параметр в запросе?
Параметр запроса – это некоторый элемент, который находится внутри функции поиска по базе данных. Рассмотрим пример, как должны быть установлены параметры запроса. Например, пускай нам нужно получить составляющие из перечня-справочника под названием «Еда» красного, жёлтого или зелёного цвета, это будет иметь такой вид:
Рис. 1 Как установить параметр в запросе «Красный»

Рис. 2 Как установить параметр в запросе «Желтый»

Рис. 3 Как установить параметр в запросе «Зеленый»
Можно увидеть, что, по факту, все эти запросы одинаковые и разность только в цвете. Это-то и есть наш параметр – та переменная, которую не хотелось бы каждый раз повторять. В вышеуказанном примере параметр – это цвет, дадим ему имя «ВыбранныйЦвет» и поменяем значения цветов на эту переменную внутри запроса. А для того чтобы указать, что это именно параметр, нужно приписать перед именем амперсанд «&», тогда мы сможем задать параметр в запросе:
Рис. 4 Как задать параметр в запросе «ВыбранныйЦвет»
После этой процедуры пробуем выполнить наш запрос, результат будет пустым и выглядеть так:
Рис. 5 Результат неверного параметра в запросе пустой
Результат запроса пустой по причине того, что в коде не было указано само значение параметра. Выберем имя, для этого потребуется задействовать панель, которая находится над редактором запросов. Внутри данной панели размещен текст запросов:
Рис. 6 Редактор запросов – панель с текстом запросов
Система 1С уже узнала параметр внутри запроса и выделила его в соответствующей секции, но пока без значений. Меняем пустое значение запроса, например, на значение «Жёлтый».
Рис. 7 Смена пустого значения запроса на «Желтый»
Теперь запрос выполнится! Аналогично можно заполнить оставшиеся значения. Так при помощи параметра можно в одном и том же запросе получать результаты, которые отличаются. То есть, главная функция параметров внутри запросов – делать их более обобщёнными. Это особенно актуально в сложных запросах, так как достаточно будет только изменить сам параметр, не меняя весь запрос.
2. Функция параметра «Ссылка»
В этом варианте будет сравниваться в качестве ограничения для параметра не название цвета, а значение по ссылке:
Рис. 8 Ограничение для параметра – значение по ссылке
Наш параметр «ВыбранныйЦвет» из строки превратился в ссылку на какой-то элемент внутри справочника «Цвета», поэтому у пользователя есть возможность изменить параметр и его тип:
Рис. 9 Изменения типа параметра в 1С
После этого, в момент, когда ведётся выбор значения данного параметра, перед нами появится выпадающий список с перечнем цветов – это функция параметра ссылки.
3. Параметр «Дата»
Допустим, нужен запрос, который будет выбирать заказы клиентов в определённый период. Данный период будет иметь две границы – «НачалоИнтервала» и «КонецИнтервала».
Рис. 10 Параметр «Дата»
Аналогично выполняем данный запрос и видим, что 1С уже распознала, что у данного параметра тип «Дата». Пусть нам нужны заказы за январь 2014 года, тогда получим:
Рис. 11 Пример запроса по параметру «Дата»
Результат запроса с параметром «Дата» будет выглядеть следующим образом:
Рис. 12 Результат запроса с параметром «Дата»
В данной статье были рассмотрены параметры в системе 1С, видов параметр внутри запроса, параметр с типом «Дата», параметры с типом «Ссылка», аналогично проводится работа с параметрами в списках таблиц и таблиц со значениями. Ошибка в них возникает в случае задания невозможного названия, типа, их несоответствий, пунктуационных ошибок в коде программы.
Специалист компании «Кодерлайн»
Айдар Фархутдинов
Результат простого запроса «Ошибка чтения значения»
Автор 2Casp, 27 мая 2014, 16:01
0 Пользователей и 2 гостей просматривают эту тему.
Всем привет!
Подскажите не могу понять почему в отладчике значение Результат.Выбрать().ОсновнойТехник значение равно Ошибка чтения значения. Хотя запрос в консоли выполняется верно. Куда смотреть?
Конфигурация УТ 11.1.6.17
&НаКлиенте
Процедура КлиентОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
Объект.Исполнитель = ПолучитьИсполнителяНаСервере(ВыбранноеЗначение);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ПолучитьИсполнителяНаСервере(Партнер)
Запрос = Новый Запрос;
ТекстЗапроса = "
|ВЫБРАТЬ
| Партнеры.Ссылка,
| Партнеры.Наименование,
| Партнеры.ОсновнойТехник.Ссылка КАК ОсновнойТехник
|ИЗ
| Справочник.Партнеры КАК Партнеры
|ГДЕ
| Партнеры.Наименование = &Наименование
|
|";
Запрос.УстановитьПараметр("Наименование", Партнер);
Запрос.Текст = ТекстЗапроса;
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
Выборка.ОсновнойТехник;
КонецЦикла;
КонецФункции // ПолучитьИсполнителяНаСервере()
Потому что прежде чем получать значение из выборки сначала нужно спозиционироваться на конкретной записи.
Например это делается методом Следующий();
Смотри в отладчике строчку после Выборка.Следующий()
Выборка.ОсновнойТехник;
Цитата: MuI_I_Ika от 27 мая 2014, 17:06
Смотри в отладчике строчку после Выборка.Следующий()Выборка.ОсновнойТехник;
В том то и дело, не пойму почему я даже в цикл Пока Выборка.Следующий() Цикл не захожу. Вся Выборка Ошибка чтения значения. Открываю этот запрос в консоли, там получаю Ссылку на ОсновнойТехник
Вот эта строка выдает ошибку чтения значения?
Результат.Выбрать()
А почему кстати пытаетесь отбирать по наименованию? Вполне можно по ссылке отбирать. Что будете делать когда появятся два контрагента с одним наименованием?
Я же объясняю пока выборка не спозиционирована на конкретном значении никаких значений вы в отладчике не получите, так что все правильно вам программа показывает.
Цитата: MuI_I_Ika от 27 мая 2014, 17:30
А почему кстати пытаетесь отбирать по наименованию? Вполне можно по ссылке отбирать. Что будете делать когда появятся два контрагента с одним наименованием?
Спасибо. Поменял наименование на ссылку.
Теги:
- Форум База
-
►
Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4 -
►
Конфигурирование, программирование в 1С Предприятие 8 -
►
Результат простого запроса «Ошибка чтения значения»
Похожие темы (5)
![]()
