|
Запрос в ЗУПе: помогите уйти домой спать | ☑ | ||
---|---|---|---|---|
0
ponaroshku
11.11.11
✎
11:31
|
Здравствуйте!
Сейчас с температурой сижу над запросом, простым, если честно не могу понять почему ошибка Заполнение ТЧ не произведено! Ошибка при вызове метода контекста (НайтиСтроки): Неверное имя колонки собственно мне важно, почему он не может сообщить ПроцентВыполненияПлана, почему он его не видит? Очень хочется уйти домой отоспаться, помогите кто чем может, вообще не могу думать Процедура Инициализировать(Объект,ИмяТабличнойЧасти,ТабличноеПолеОбъекта) Экспорт ЗапросПоОбъемамПродаж = Новый Запрос; ЗапросПоОбъемамПродаж.Текст = "ВЫБРАТЬ | ОбъемПродажПродажи.Сотрудник, | ОбъемПродажПродажи.СуммаПродаж, | ОбъемПродажПродажи.Ссылка, | ОбъемПродажПродажи.Ссылка.Номер, | ОбъемПродажПродажи.Ссылка.Дата |ИЗ | Документ.ОбъемПродаж.Продажи КАК ОбъемПродажПродажи |ГДЕ | НАЧАЛОПЕРИОДА(ОбъемПродажПродажи.Ссылка.Дата, ДЕНЬ) = &Дата"; ЗапросПоОбъемамПродаж.УстановитьПараметр("Дата",НачалоДня(Объект.Дата)); РезультатЗапросаПоОбъемамПродаж = ЗапросПоОбъемамПродаж.Выполнить().Выгрузить(); ЗапросПоПланФакт = Новый Запрос; ЗапросПоПланФакт.текст= "ВЫБРАТЬ | ПланФактВыполнениеПлана.Магазин, | ПланФактВыполнениеПлана.ПланПродаж, | ПланФактВыполнениеПлана.ФактПродаж, | ПланФактВыполнениеПлана.ПроцентВыполнения как ПроцентВыполнения, | ПланФактВыполнениеПлана.Ссылка.Номер, | ПланФактВыполнениеПлана.Ссылка.Дата |ИЗ | Документ.ПланФакт.ВыполнениеПлана как ПланФактВыполнениеПлана |ГДЕ | НАЧАЛОПЕРИОДА(ПланФактВыполнениеПлана.Ссылка.Дата, ДЕНЬ) = &Дата"; ЗапросПоПланФакт.УстановитьПараметр("Дата",НачалоДня(Объект.Дата)); РезультатЗапросаПоПланФакт = ЗапросПоПланФакт.Выполнить().Выгрузить();КонецПроцедуры Отбор = Новый Структура; ОтборПоОбъемамПродаж = Новый Структура; ОтборПоПроцентуПлана = Новый Структура; ТЧ = Объект[ИмяТабличнойЧасти]; Для Каждого СтрокаТЧ из ТЧ Цикл Если СтрокаТЧ.ВидРасчета.Наименование <> "8. Процент от продаж" тогда СтрокаТЧ.Показатель2 = 0; Если СтрокаТЧ.ВидРасчета.Наименование <> "10. ПремияПланФакт" тогда СтрокаТЧ.Показатель4 = 0; КонецЕсли; КонецЕсли; Отбор.Очистить(); ОтборПоОбъемамПродаж.Очистить(); ОтборПоПроцентуПлана.Очистить(); Если СтрокаТЧ.ВидРасчета.Наименование = "8. Процент от продаж" тогда ОтборПоОбъемамПродаж.Вставить("Сотрудник", СтрокаТЧ.Сотрудник.Физлицо); МассивСтрокПоОбъемуПродаж = РезультатЗапросаПоОбъемамПродаж.НайтиСтроки(ОтборПоОбъемамПродаж); Если МассивСтрокПоОбъемуПродаж.Количество() <> 0 тогда СуммаПродажиСотрудника = МассивСтрокПоОбъемуПродаж[0].СуммаПродаж; Иначе СуммаПродажиСотрудника = 0; КонецЕсли; ИначеЕсли СтрокаТЧ.ВидРасчета.Наименование = "10. ПремияПланФакт" тогда ОтборПоПроцентуПлана.Вставить("Сотрудник", СтрокаТЧ.Сотрудник.Физлицо); МассивСтрокПоПланФакт = РезультатЗапросаПоПланФакт.НайтиСтроки(ОтборПоПроцентуПлана); ПроцентВыполненияПлана = МассивСтрокПоПланФакт[0].процентвыполнения; сообщить(ПроцентВыполненияПлана); КонецЕсли; Если Отбор.Количество() = 0 тогда Если СтрокаТЧ.ВидРасчета.Наименование = "8. Процент от продаж" тогда СтрокаТЧ.Показатель1 = СуммаПродажиСотрудника; КонецЕсли; если СтрокаТЧ.ВидРасчета.Наименование = "10. ПремияПланФакт" тогда СтрокаТЧ.Показатель4 = ПроцентВыполненияПлана; КонецЕсли; Продолжить; КонецЕсли; сообщить("процент выполнения плана" +ПроцентВыполненияПлана); КонецПроцедуры |
|||
1
DrShad
11.11.11
✎
11:33
|
а причем здесь запрос?
|
|||
2
Ненавижу 1С
гуру
11.11.11
✎
11:35
|
потому что во втором запросе нет колонки Сотрудник
ОтборПоОбъемамПродаж.Вставить("Сотрудник", СтрокаТЧ.Сотрудник.Физлицо); МассивСтрокПоОбъемуПродаж = РезультатЗапросаПоОбъемамПродаж.НайтиСтроки(ОтборПоОбъемамПродаж); |
|||
3
Souvenire
11.11.11
✎
11:35
|
РезультатЗапросаПоПланФакт = ЗапросПоПланФакт.Выполнить().Выгрузить();КонецПроцедуры
С КонцомПроцедуры здесь - работает? Странно. |
|||
4
ponaroshku
11.11.11
✎
11:44
|
(2) ИначеЕсли СтрокаТЧ.ВидРасчета.Наименование = "10. ПремияПланФакт" тогда
//ОтборПоПроцентуПлана.Вставить("Сотрудник", СтрокаТЧ.Сотрудник.Физлицо); МассивСтрокПоПланФакт = РезультатЗапросаПоПланФакт.НайтиСтроки(ОтборПоПроцентуПлана); ПроцентВыполненияПлана = МассивСтрокПоПланФакт[0].процентвыполнения; сообщить(ПроцентВыполненияПлана); Если коммент ставить - Индекс находится за границами массива Сообщить ничего не сообщает (3) я даже копирую неправильно:)))) РезультатЗапросаПоПланФакт = ЗапросПоПланФакт.Выполнить().Выгрузить(); конец процедуры просто в самом конце |
|||
5
ponaroshku
11.11.11
✎
11:46
|
(1) Запрос- т.к. результат запроса я не получаю
|
|||
6
ponaroshku
11.11.11
✎
11:46
|
Забыла - платформа 8.1
|
|||
7
DrShad
11.11.11
✎
11:48
|
(6) ну в принципе в (2) тебе дали ответ
|
|||
8
ponaroshku
11.11.11
✎
11:51
|
(7) я ее закомментировала
Сделала так: ИначеЕсли СтрокаТЧ.ВидРасчета.Наименование = "10. ПремияПланФакт" тогда //ОтборПоПроцентуПлана.Вставить("Сотрудник", СтрокаТЧ.Сотрудник.Физлицо); МассивСтрокПоПланФакт = РезультатЗапросаПоПланФакт.НайтиСтроки(ОтборПоПроцентуПлана); Если МассивСтрокПоПланФакт.Количество() <> 0 тогда ПроцентВыполненияПлана = МассивСтрокПоПланФакт[0].процентвыполнения; ПроцентВыполненияПлана2 = 55; //МассивСтрокПоПланФакт[0].ПроцентВыполнения; Иначе ПроцентВыполненияПлана = 0; СтрокаТЧ.Показатель4= ПроцентВыполненияПлана; ПроцентВыполненияПлана2 = 55; сообщить(ПроцентВыполненияПлана); сообщить("процент2" + ПроцентВыполненияПлана2); вывело 0 процент255 сижу осмысливаю |
|||
9
aka AMIGO
11.11.11
✎
11:51
|
(0) - иди домой уж.. не заражай мистян..
не шути с температурой, однако.. |
|||
10
ponaroshku
11.11.11
✎
11:53
|
(9) я чувствую меня и дома достанет зарплатчица, ей сегодня и крайняк нужно, а я именно сегодня в отрицательном тонусе
|
|||
11
ponaroshku
11.11.11
✎
11:56
|
с отбором где-то накосячила, 100%
|
|||
12
DrShad
11.11.11
✎
12:01
|
(11) ага по пустому отбору решила поискать строки?
|
|||
13
chepsoid
11.11.11
✎
13:04
|
(8)закоментировала а потом пытаешься
МассивСтрокПоПланФакт = РезультатЗапросаПоПланФакт.НайтиСтроки(ОтборПоПроцентуПлана); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |