Новости для бухгалтера, бухучет, налогообложение, отчетность, ФСБУ, прослеживаемость и маркировка, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

1С:Предпоиятие 8.1 - в реестре документов при выборе даты ошибка

Людо4ка
читатель
офлайн
Дата регистрации: 12.08.2009
Сообщений: 23
Пост №1
 
18.08.2009 09:34

"{Отчет.РеестрДокументов.Форма.ФормаЗаполнения(769)}: Ошибка при вызове метода контекста (Выполнить): {(28, 2)}: Ожидается выражение ")"<br><<?>>ГДЕ<br> Запрос.Выполнить();<br><br><br>Если не выбирать дату - формирует отчет. Если назначить какую-нибудь дату - ошибка<br>Куда я только не ставила эту скобку :( бесполезно. Что я делаю не так?<br><br><br><br>Процедура ФормированиеЗапросаДобавитьДокумент(Запрос, МетаданныеДокумента, ВидДокумента, МассивСвойств, ФлагЕстьУсловия)<br> <br>Если НЕ ВРЕГ(ВидДокумента) =ВРЕГ("ЗаказПокупателя") Тогда<br><br> Запрос.Текст = Запрос.Текст + "<br> |ВЫБРАТЬ РАЗЛИЧНЫЕ<br> |      Док.Ссылка,<br> |      Док.Дата,<br> |      Док.Номер,<br> |      """"" + МетаданныеДокумента.Представление() + """"" КАК ВидДокумента,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("ВидОперации", МетаданныеДокумента), "Док.ВидОперации", "NULL") + " КАК ВидОперации,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Организация", МетаданныеДокумента), "Док.Организация", "NULL") + " КАК Организация,<br> |      ";<br> Если ОбщегоНазначения.ЕстьРеквизитДокумента("СкладОрдер", МетаданныеДокумента) Тогда<br>       ИмяРеквизитаСклад = "СкладОрдер";<br> Иначе<br>       ИмяРеквизитаСклад = "Склад";<br> КонецЕсли;<br> Запрос.Текст = Запрос.Текст + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Контрагент", МетаданныеДокумента), "Док.Контрагент", "NULL") + " КАК Контрагент,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента(ИмяРеквизитаСклад, МетаданныеДокумента), "Док."+ИмяРеквизитаСклад, "NULL") + " КАК Склад,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("СуммаДокумента", МетаданныеДокумента), "Док.СуммаДокумента", "NULL") + " КАК СуммаДокумента,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("ВалютаДокумента", МетаданныеДокумента), "Док.ВалютаДокумента", "NULL") + " КАК ВалютаДокумента,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Ответственный", МетаданныеДокумента), "Док.Ответственный", "NULL") + " КАК Ответственный ,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Количество", МетаданныеДокумента), "Док.Количество", "NULL") + " КАК Количество<br> |";<br>             Запрос.Текст = Запрос.Текст + " ИЗ<br> |      Документ." + ВидДокумента + " КАК Док<br> |";<br><br>Иначе<br> <br>Запрос.Текст = Запрос.Текст + "<br> |ВЫБРАТЬ РАЗЛИЧНЫЕ<br> |      Док.Ссылка,<br> |      Док.Дата,<br> |      Док.Номер,<br> |      """"" + МетаданныеДокумента.Представление() + """"" КАК ВидДокумента,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("ВидОперации", МетаданныеДокумента), "Док.ВидОперации", "NULL") + " КАК ВидОперации,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Организация", МетаданныеДокумента), "Док.Организация", "NULL") + " КАК Организация,<br> |      ";<br> Если ОбщегоНазначения.ЕстьРеквизитДокумента("СкладОрдер", МетаданныеДокумента) Тогда<br>       ИмяРеквизитаСклад = "СкладОрдер";<br> Иначе<br>       ИмяРеквизитаСклад = "Склад";<br> КонецЕсли;<br> Запрос.Текст = Запрос.Текст + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Контрагент", МетаданныеДокумента), "Док.Контрагент", "NULL") + " КАК Контрагент,<br>      |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента(ИмяРеквизитаСклад, МетаданныеДокумента), "Док."+ИмяРеквизитаСклад, "NULL") + " КАК Склад,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("СуммаДокумента", МетаданныеДокумента), "Док.СуммаДокумента", "NULL") + " КАК СуммаДокумента,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("ВалютаДокумента", МетаданныеДокумента), "Док.ВалютаДокумента", "NULL") + " КАК ВалютаДокумента,<br> |      " + ?(ОбщегоНазначения.ЕстьРеквизитДокумента("Ответственный", МетаданныеДокумента), "Док.Ответственный", "NULL") + " КАК Ответственный ,<br> |Сумма (ТабЧасть.Количество) Как Количество<br> |";<br> Запрос.Текст = Запрос.Текст + " ИЗ<br> |      Документ." + ВидДокумента + " КАК Док<br> |";<br><br>Запрос.Текст = Запрос.Текст + " соединение<br>| Документ.ЗаказПокупателя.Товары как ТабЧасть<br>| По Док.Ссылка = ТабЧасть.Ссылка<br>| сгруппировать по<br>|Док.Ссылка,Док.Номер,Док.Дата, Док.СуммаДокумента,Док.Организация,Док.Контрагент<br>|";<br><br> КонецЕсли;<br> <br> <br> ФлагЕстьУсловия = Ложь;<br> <br> Если МассивСвойств.Количество() > 0 Тогда<br> ДобавитьФильтрыПоСвойствам(Запрос, МассивСвойств);<br> КонецЕсли;<br> <br> ЕстьФильтры = ДобавитьФильтрыПоДокументу(Запрос, ВидДокумента, МассивСвойств, ФлагЕстьУсловия);<br> <br> Если Не ДатаНач = '00010101000000' Тогда<br> Запрос.Текст = Запрос.Текст + ?(ЕстьФильтры, " И ", " ГДЕ ") + "<br> |Док.Дата >= &ДатаНач<br> | ";<br> ЕстьФильтры = Истина;<br> КонецЕсли;<br> Если Не ДатаКон = '00010101000000' Тогда<br> Запрос.Текст = Запрос.Текст + ?(ЕстьФильтры, " И ", " ГДЕ ") + "<br> |Док.Дата <= &ДатаКон<br> | ";<br> ЕстьФильтры = Истина;<br> КонецЕсли;<br> <br><br>КонецПроцедуры // ФормированиеЗапросаДобавитьДокумент()<br><br>// Проверить, нужно ли исключить документ в тексте запроса<br>//<br>// Параметры<br>// МетаданныеДокумента<br>//<br>// Возвращаемое значение:<br>// Булево – Истина - документ нужно исключить, Ложь - нет<br>//<br>Функция ИсключитьДокумент(МетаданныеДокумента)<br> Для Каждого СтрокаОтбораДляПеребора Из Отбор Цикл<br> <br> Если НЕ СтрокаОтбораДляПеребора.Использование Тогда<br> Продолжить;<br> КонецЕсли;<br> <br> Если НЕ СтрокаОтбораДляПеребора.ИмяОтбора = "ДокументОтчета"<br> И Не СтрокаОтбораДляПеребора.ИмяОтбора = "Проведен"<br> И Не СтрокаОтбораДляПеребора.ИмяОтбора = "ПометкаУдаления"<br> И НЕ СтрокаОтбораДляПеребора.ИмяОтбора = "Категория"<br> И Найти(СтрокаОтбораДляПеребора.ПредставлениеОтбора, "(свойство документов)") = 0 Тогда<br> Если СтрокаОтбораДляПеребора.ИмяОтбора = "Склад" Тогда<br> Если ОбщегоНазначения.ЕстьРеквизитДокумента("СкладОрдер", МетаданныеДокумента) Тогда<br> ИмяРеквизита = "СкладОрдер";<br> Иначе<br> ИмяРеквизита = "Склад";<br> КонецЕсли;<br> Иначе<br> ИмяРеквизита = СтрокаОтбораДляПеребора.ИмяОтбора;<br> КонецЕсли;<br> Если НЕ ОбщегоНазначения.ЕстьРеквизитДокумента(ИмяРеквизита, МетаданныеДокумента) Тогда<br> Возврат Истина;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЦикла;<br> <br> Возврат Ложь;<br>КонецФункции // ИсключитьДокумент()<br><br>// Добавляет в запрос необходимые виды документов<br>//<br>// Параметры:<br>// Запрос - запрос в который добавляется указанный вид документа<br>// МассивВидовДокументов - массив содержащий виды документов (строкой) которые надо добавить в запрос<br>// МассивСвойств - массив свойств документов по которым надо установить фильтр<br>// СтрКатегорий - строка таблицы фильтров в которой указаны фильтры по категории документов<br>//<br>Функция ДобавитьДокументВЗапрос(масЗапросов, МассивВидовДокументов, МассивСвойств, СтрокаОтбора)<br> Перем ЕстьФильтры;<br> Перем ФлагЕстьУсловия;<br><br> ФлагЕстьКатегории = Не СтрокаОтбора = Неопределено;<br> <br> текНомерТаблицы = 0;<br> текЗапрос       = Неопределено;<br> максТаблиц      = 1;<br> <br> К1 = -1;<br> ДобавлятьОкончаниеТекстаЗапроса = Ложь;<br> <br> Для Каждого ВидДокумента Из МассивВидовДокументов Цикл<br> //Здесь мы должны понять, не установлен ли фильтр по какому-либо реквизиту, которого нет у документа<br> //указанного вида. Если установлен, то мы просто не включаем документ в запрос, исключая его из отчета<br> <br> <br> МетаданныеДокумента = Метаданные.Документы[ВидДокумента];<br> <br> Если ИсключитьДокумент(МетаданныеДокумента) Тогда<br> Продолжить;<br> КонецЕсли;<br> <br> Если текНомерТаблицы = 0 Тогда<br> текЗапрос       = Новый Запрос;<br> масЗапросов.Добавить(текЗапрос);<br> ФормированиеЗапросаНачало(текЗапрос);<br> ДобавлятьОкончаниеТекстаЗапроса = Истина;<br> Иначе<br> текЗапрос.Текст = текЗапрос.Текст + "<br> |ОБЪЕДИНИТЬ ВСЕ";<br> КонецЕсли;<br> текНомерТаблицы = текНомерТаблицы + 1;<br> <br> ФормированиеЗапросаДобавитьДокумент(текЗапрос, МетаданныеДокумента, ВидДокумента, МассивСвойств, ФлагЕстьУсловия);<br> <br> Если текНомерТаблицы = максТаблиц Тогда<br> текНомерТаблицы = 0;<br> ФормированиеЗапросаОкончание(текЗапрос, ФлагЕстьКатегории, СтрокаОтбора);<br> ДобавлятьОкончаниеТекстаЗапроса = Ложь;<br> КонецЕсли;<br> КонецЦикла;<br> <br> <br> Если текЗапрос = Неопределено Тогда<br> Возврат Ложь;<br> КонецЕсли;<br> <br> Если ДобавлятьОкончаниеТекстаЗапроса Тогда<br> ФормированиеЗапросаОкончание(текЗапрос, ФлагЕстьКатегории, СтрокаОтбора);<br> КонецЕсли;<br> <br> Возврат Истина;<br><br>КонецФункции // ДобавитьДокументВЗапрос()<br><br>// Обработка выбранных документов<br>//<br>// Параметры:<br>// Нет.<br>//<br>Процедура ВидОбработкиДокументы() Экспорт<br> Перем МассивСвойств;<br> Перем МассивВидовДокументов;<br> Перем Индекс;<br> Перем СтрФильтров;<br> Перем СтрКатегорий;<br><br> МассивСвойств = Новый Массив;<br> СтрКатегорий = Неопределено;<br><br> Для Каждого К Из Отбор Цикл<br><br> Если НЕ К.Использование Тогда<br> Продолжить;<br> КонецЕсли;<br><br> СтрФильтров = мТаблицаФильтры.Найти(К.ИмяОтбора, "ИмяПоля");<br><br> // На случай если не выбран фильтр<br> Если СтрФильтров = Неопределено Тогда<br> Продолжить;<br> КонецЕсли;<br><br> Если Не СтрФильтров.Свойство = Неопределено Тогда<br> МассивСвойств.Добавить(К);<br> КонецЕсли;<br> Если К.ИмяОтбора = "Категория" Тогда<br> СтрКатегорий = К;<br> КонецЕсли;<br><br> // Проверим на заполненность отбора по виду документа<br> Если К.ИмяОтбора = "ДокументОтчета" Тогда<br> Если ТипЗнч(К.ЗначениеОтбора) = Тип("СписокЗначений") <br> И К.ЗначениеОтбора.Количество()=0 Тогда<br> Предупреждение("Надо обязательно указать значение отбора для отбора по виду документа!", 60);<br> Возврат;<br> Иначе<br> Если НЕ ЗначениеЗаполнено(К.ЗначениеОтбора) Тогда<br> Предупреждение("Надо обязательно указать значение отбора для отбора по виду документа!", 60);<br> Возврат;<br> КонецЕсли;<br> КонецЕсли;<br> КонецЕсли;<br><br> КонецЦикла;<br><br> МассивВидовДокументов = Новый Массив;<br><br> Индекс = 0;<br> СтрокаОтбора = Отбор.Найти("ДокументОтчета", "ИмяОтбора");<br><br> Если СтрокаОтбора = Неопределено Тогда<br> Для Каждого К Из мСписокВидовДокументов Цикл<br> МассивВидовДокументов.Добавить(К.Значение);<br> КонецЦикла;<br> Иначе<br> Если СтрокаОтбора.Использование Тогда<br> Если СтрокаОтбора.ВидСравнения = ВидСравнения.НеРавно<br> ИЛИ СтрокаОтбора.ВидСравнения = ВидСравнения.НеВСписке Тогда<br><br> СписокИсключений = Новый СписокЗначений;<br> Если ТипЗнч(СтрокаОтбора.ЗначениеОтбора) <> Тип("СписокЗначений") Тогда<br> СписокИсключений.Добавить(СтрокаОтбора.ЗначениеОтбора);<br> Иначе<br> Для Каждого К Из СтрокаОтбора.ЗначениеОтбора Цикл<br> СписокИсключений.Добавить(К.Значение);<br> КонецЦикла;<br> КонецЕсли;<br> Для Каждого К Из мСписокВидовДокументов Цикл<br> Если СписокИсключений.НайтиПоЗначению(К.Значение) = Неопределено Тогда<br> МассивВидовДокументов.Добавить(К.Значение);<br> КонецЕсли;<br> КонецЦикла;<br> Иначе<br> Если ТипЗнч(СтрокаОтбора.ЗначениеОтбора) <> Тип("СписокЗначений") Тогда<br> МассивВидовДокументов.Добавить(СтрокаОтбора.ЗначениеОтбора);<br> Иначе<br> Для Каждого К Из СтрокаОтбора.ЗначениеОтбора Цикл<br> МассивВидовДокументов.Добавить(К.Значение);<br> КонецЦикла;<br> КонецЕсли;<br> КонецЕсли;<br> Иначе<br> Для Каждого К Из мСписокВидовДокументов Цикл<br> МассивВидовДокументов.Добавить(К.Значение);<br> КонецЦикла;<br> КонецЕсли;<br> КонецЕсли;<br><br> масЗапросов = Новый Массив;<br> Если НЕ ДобавитьДокументВЗапрос(масЗапросов, МассивВидовДокументов, МассивСвойств, СтрКатегорий) Тогда<br> Предупреждение("Установлены фильтры по реквизитам, которых нет в выбранных видах документов!<br> |Отчет не может быть сформирован.");<br> возврат;<br> КонецЕсли;<br> <br> Колво = масЗапросов.Количество();<br> <br> Если Колво = 1 Тогда<br> // РЕЗУЛЬТАТ ПОЛУЧАЕТСЯ ОДНИМ ЗАПРОСОМ<br> Запрос = масЗапросов.Получить(0);<br> Запрос.Текст = СтрЗаменить(Запрос.Текст, Символы.ПС + "#ПоместитьВоВременнуюТаблицу#", """");<br> <br> Иначе<br> // НУЖНО ДЕЛАТЬ НЕСКОЛЬКО ЗАПРОСОВ<br> масИменТаблиц = Новый Массив;<br> Менеджер = Новый МенеджерВременныхТаблиц;<br> <br> Для Сч=1 По Колво Цикл<br> Запрос = масЗапросов.Получить(Сч-1);<br> <br> ИмяТаблицы = "ВременнаяТаблица" + Формат(Сч, "ЧГ=0");<br> <br> ТекстЗапроса = Запрос.Текст;<br> ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Символы.ПС + "#ПоместитьВоВременнуюТаблицу#", Символы.ПС + "Поместить " + ИмяТаблицы);<br> ТекстЗапроса = СтрЗаменить(ТекстЗапроса, Символы.ПС + "УПОРЯДОЧИТЬ ПО Дата, Ссылка", Символы.ПС + "ИНДЕКСИРОВАТЬ ПО Дата, Ссылка");<br> Запрос.Текст = ТекстЗапроса;<br> <br> масИменТаблиц.Добавить(ИмяТаблицы);<br> Запрос.МенеджерВременныхТаблиц = Менеджер;<br> Запрос.Выполнить();<br> КонецЦикла;<br> <br> ТекстЗапроса = "ВЫБРАТЬ<br> | ОтобранныеДокументы.*<br> |ИЗ (";<br> <br> Сч = 0;<br> Для Каждого ИмяТаблицы Из масИменТаблиц Цикл<br> ТекстЗапроса = ТекстЗапроса + ?(Сч=0, """", "<br> |ОБЪЕДИНИТЬ ВСЕ") + "<br> |ВЫБРАТЬ " + ИмяТаблицы + ".* ИЗ " + ИмяТаблицы;<br> Сч = Сч + 1;<br> КонецЦикла;<br> <br> ТекстЗапроса = ТекстЗапроса + ") КАК ОтобранныеДокументы<br> |УПОРЯДОЧИТЬ ПО Дата, Ссылка";<br> <br> Запрос = Новый Запрос;<br> Запрос.Текст = ТекстЗапроса;<br> Запрос.МенеджерВременныхТаблиц = Менеджер;<br> <br> КонецЕсли;<br> <br> РезультатЗапроса = Запрос.Выполнить();<br> Выборка = РезультатЗапроса.Выбрать();<br> ПечатьРеестра(Выборка);<br>КонецПроцедуры // ВидОбработкиДокументы()<br>"

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №2
 
19.08.2009 08:31

Конфигурация и ее номер? Платформа и ее номер?

Людо4ка
читатель
офлайн
Дата регистрации: 12.08.2009
Сообщений: 23
Пост №3
 
20.08.2009 08:17

1С:Предприятие 8.1 (8.1.14.69)<br>Конфигурация "Управление торговлей", редакция 10.3 (10.3.8.9)

Wee
читатель
офлайн
Дата регистрации: 24.11.2007
Сообщений: 464
Пост №4
 
20.08.2009 08:54

"ЕстьФильтры = ДобавитьФильтрыПоДокументу(Запрос, ВидДокумента, МассивСвойств, ФлагЕстьУсловия);<br><br>Что за функция? Что она возвращает в вашем случае?<br>Подозреваю, что при проверке на дату ставится первое условие сословом И, а не ГДЕ."

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №5
 
20.08.2009 09:43

1. Постарайтесь не обновлять конфигурации с обновлений, которые еще не вышли на ИТС.<br><br>2. Если нововведения или исправления ошибок жизненно необходимы вашей программе, то перед обновлением постарайтесь выждать некоторое количество дней, чтобы народ "отловил" большинство ошибок обновления и обязательно ознакомьтесь со всеми зафиксированными ошибками (в вышеуказанной конфигурации они просто "убийственны").<br><br>3. Делайте тестовое обновление на копии базы с максимальной проверкой функционала, который в основном используется в вашем управленческом учете.

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №6
 
20.08.2009 10:17

У меня, кстати, ошибка не воспроизвелась... Укажите с какими настройками запускаете.

Людо4ка
читатель
офлайн
Дата регистрации: 12.08.2009
Сообщений: 23
Пост №7
 
21.08.2009 10:46

Какие настройки вы имеете ввиду?

Людо4ка
читатель
офлайн
Дата регистрации: 12.08.2009
Сообщений: 23
Пост №8
 
21.08.2009 10:52

1. Обновляем с сайта users.v8.1c.ru<br>2. Нововведения действительно жизненнонеобходимы нашей программе.<br> А вот где можно увидеть "отловленные" ошибки обновления?<br> (в вышеуказанной конфигурации они просто "убийственны")- обновим на следующее обновление<br>3. Ну сдесь все как вы говорите: делаем тестовое обновление на копии базы с максимальной проверкой функционала<br>

Денис (САМАРА)
читатель
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8351
Пост №9
 
21.08.2009 13:12

1. Если не секрет, то какие именно из четырех новшеств так уж вам необходимы? :)<br>2. Список зарегистрированных ошибок расположен на той же странице, с которой скачиваете дистрибутив обновления (внизу).<br>3. Имелись ввиду настройки отчета "Реестр документов". Я пробовал выводить список всех документов за месяц, пробовал выводить с ограничением по виду "Заказ покупателя" и во всех случаях ошибка не возникала.

Людо4ка
читатель
офлайн
Дата регистрации: 12.08.2009
Сообщений: 23
Пост №10
 
24.08.2009 08:13

Какой у вас номер конфигурации и номер платформы?

Показывать по 10 20 40 сообщений

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • МАРКИРОВКА
  • ЕГАИС
  • Учет, налогообложение, автоматизация