|
v7: Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
Tata_059
27.09.19
✎
13:05
|
7.7 очень давно не занималась.
Нужно найти себестоимость товара в проводках. Документ отражающее это "Операция". я делаю запрос, задаю дату и товар, но запрос пустой. Подскажите что еще можно подкорректировать. Запрос = СоздатьОбъект("Запрос"); ТекстЗапроса = "//{{ЗАПРОС(УслугиКомиссииБанка) |с ВыбНачПериода по ВыбКонПериода; |Без итогов; |Сч = Операция.Счет; |КорСч = Операция.КорСчет; |Сумма = Операция.Сумма; |СодержаниеПроводки = Операция.СодержаниеПроводки; |Количество = Операция.Количество; |Товар = Операция.КорСубконто.Номенклатура; |ДатаОперации = Операция.ДатаОперации; |СодержаниеОперации = Операция.Содержание; |СуммаОперации = Операция.СуммаОперации; |Функция СуммаКорДО = КорДО(Сумма); |Функция КоличествоКорДО = КорДО(Количество); |Функция СуммаКорКО = КорКО(Сумма); |Группировка Товар без групп; |Группировка Сумма; |Группировка СодержаниеОперации; |Группировка СуммаОперации; |Группировка СтрокаДокумента; |Условие(Сч=СчетПоКоду(""90.2.1"")); |Условие(КорСч=СчетПоКоду(""41.1"")); |Условие(ДатаОперации = ВыбДатаОперации); |Условие(Товар = ВыбТовар); |Условие(СодержаниеПроводки = ""Себестоимость товара""); |"//}}ЗАПРОС ; // Если ошибка в запросе, то выход из процедуры Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли; ТЗ= СоздатьОбъект("ТаблицаЗначений"); Запрос.Выгрузить(ТЗ,,0); тз.ВыбратьСтроки(); Пока тз.ПолучитьСтроку() = 1 Цикл Сообщить(тз.Товар); КонецЦикла; |
|||
1
Chum
27.09.19
✎
13:09
|
(0) ухйоп...
БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьСубконто(ВидыСубконто.Номенклатура); БИ.ВыполнитьЗапрос( см. в СП ); БИ.ВыбратьСубконто(); Пока БИ.ПолучитьСубконто()=1 Цикл вот тут всякие БИ.ДО, КО, КорДО и т.д. (см СП) КонецЦикла; |
|||
2
johnnik
27.09.19
✎
13:12
|
Может в содержании проводки совсем не такой текст как в условии запроса и условие честно фильтрует все неподходящее? Да и вообще условий куча: дата, конкретный выбранный товар. Мало ли какие выб(объект) не подпадает под условия
|
|||
3
Tata_059
27.09.19
✎
13:14
|
(2)если убрать " |Условие(СодержаниеПроводки = ""Себестоимость товара""); " тоже не работает
|
|||
4
johnnik
27.09.19
✎
13:22
|
(3) Я в таких случаях делаю поэтапно:
1. Убираю ВСЕ условия и добавляю по одному 2. Выгружаю в ТЗ, созданную на форме отчета или обработки, чтобы визуально видеть результат запроса. Если работает, тогда уже меняю ТЗ на программный объект |
|||
5
uno-group
27.09.19
✎
14:08
|
а зачем двойные кавычки
|
|||
6
mikecool
27.09.19
✎
14:11
|
(1) соглашусь с товарищем
раньше в приличном обществе за обращение к проводкам через чорный запрос били палками |
|||
7
Tata_059
27.09.19
✎
14:12
|
(6) ну можно и по способу (1) , я 7.7 в глаза много лет не видела =) я из 1с 8 буду делать запрос в 7.7
|
|||
8
Chum
27.09.19
✎
14:19
|
(7) ухйоп...
Ты в ГМ 7-ки пропиши экспортную функцию для выполнения запроса к бухитогам. Потом из 8-ки ее вызывай. Иначе вроде не получится. (6) верно, да и вообще 7-ка требует гораздо больших знаний в программировании |
|||
9
zenon46
27.09.19
✎
15:11
|
(8) это шутка такая?
"да и вообще 7-ка требует гораздо больших знаний в программировании" - ? |
|||
10
opus70
27.09.19
✎
16:06
|
(9) вы шутите насчет больших знаний наверное 7.7 можно выучить на очень хорошем уровне за 3 месяца а 8-ке три месяца это не о чем даже основ не освоишь
|
|||
11
Chum
27.09.19
✎
16:14
|
(9)(10) нет, не шучу. Сделайте в 7-ке, например, фильтр, который можно накладывать на произвольные колонки в таблице значений без использования сторонних компонент.
|
|||
12
Tata_059
27.09.19
✎
16:51
|
Процедура Сформировать()
БИ = СоздатьОбъект("БухгалтерскиеИтоги"); БИ.ИспользоватьСубконто(ВидыСубконто.Номенклатура,ВыбНоменклатура,2,0); БИ.ВыполнитьЗапрос(ДатаОперации,ДатаОперации,"90.2.1","41.1",,2,,"СК"); БИ.ВыбратьСубконто(,1); Пока БИ.ПолучитьСубконто()=1 Цикл Сообщить( БИ.Субконто(1)); Сообщить( БИ.ДО("С")); Сообщить( БИ.КО("С")); КонецЦикла; КонецПроцедуры что здесь не хватает, в цикл не заходит |
|||
13
Builder
27.09.19
✎
17:28
|
У вас на счете 90.2.1 есть субконто "Номенклатура"? Сомневаюсь.
Попробуйте ИспользоватьКорСубконто, товары то на 41 счету. |
|||
14
Chum
27.09.19
✎
17:33
|
ИспользоватьКорСубконто()
ВыбратьКорСубконто() ПолучитьКорСубконто() вроде так было |
|||
15
Chum
27.09.19
✎
17:34
|
Или счета поменять местами
|
|||
16
opus70
27.09.19
✎
18:04
|
(11) ну в 99% такое обычным пользователя 7.7 не нужно а тем кому нужно юзают 1c++ и formex и да там уже нужно знать очень много тонкостей
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |