Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Неоднозначное поле в запросе  (Прочитано 11438 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Marta_Li
Постоялец

by
Offline Offline

« : 21-04-2011 07:48 » 

Программно формируется текст запроса по всем метаданным документам базы:

Код:
ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
Документ.АвансовыйОтчет.Ссылка
....

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ ПЕРВЫЕ 1
Документ.АктОбОказанииПроизводственныхУслуг.Ссылка
...

Добавила новый документ. В результате выполнение запроса вылетает на ошибку:

Цитата
">Документ.ТИ_ДвиженияПоЗабалансовымСчетам.Ссылка
   мРезЗапроса = ОбъектЗапрос.Выполнить();
по причине:
{(1097, 2)}: Неоднозначное поле "Документ.ТИ_ДвиженияПоЗабалансовымСчетам.Ссылка"
<<?>>Документ.ТИ_ДвиженияПоЗабалансовымСчетам.Ссылка"

Другие новые документы не выпадают. Что искать, может, подскажите?
« Последнее редактирование: 21-04-2011 07:50 от Marta_Li » Записан
Kivals
Модератор

ca
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-04-2011 08:35 » new

В документе есть реквизит Ссылка? Если есть - переименуй...
Записан
Marta_Li
Постоялец

by
Offline Offline

« Ответ #2 : 21-04-2011 08:57 » 

Нет, в документе нет реквизита Ссылка.

Добавлено через 39 минут и 35 секунд:
1С:Предприятие 8.1 Конф. Бухгалтерия.
ОбщаяФорма "НастройкаПараметровУчета".

Код:
// Процедура проверяет возможность редактирования валюты
// регламентированного учета
//
Процедура ПроверкаДоступностиВалютыУчета();

Запрос = Новый Запрос();
Запрос.Текст = "";

Для каждого Док из Метаданные.Документы Цикл

Запрос.Текст = Запрос.Текст +
"ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| Документ." + Док.Имя + ".Ссылка
|
|";

КонецЦикла;

// Уберем первое "ОБЪЕДИНИТЬ ВСЕ"
Запрос.Текст  = Сред(Запрос.Текст, Найти(Запрос.Текст, "ВЫБРАТЬ") + СтрДлина("ВЫБРАТЬ ПЕРВЫЕ") + 1);
Запрос.Текст  = "ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ " + Запрос.Текст;

ЕстьДокументы = (Не Запрос.Выполнить().Пустой());

ЭлементыФормы.ВалютаРегУчета.ТолькоПросмотр = ЕстьДокументы;

Если ЕстьДокументы Тогда
ЭлементыФормы.ТекстВажнойНадписи.Заголовок = "После ввода документов валюту регламентирвоанного учета изменять нельзя.";

Иначе
ЭлементыФормы.ТекстВажнойНадписи.Заголовок = "Валюту регламентированного учета можно изменять пока не введены документы.";

КонецЕсли;

КонецПроцедуры // ПроверкаДоступностиВалютыУчета()



Добавлено через 41 минуту и 55 секунд:
Ранее немного не там ошибку вытянула. Вот правильная:
Цитата
{ОбщаяФорма.НастройкаПараметровУчета(136)}: Ошибка при вызове метода контекста (Выполнить): {(1097, 2)}: Неоднозначное поле "Документ.ТИ_ДвиженияПоЗабалансовымСчетам.Ссылка"
<<?>>Документ.ТИ_ДвиженияПоЗабалансовымСчетам.Ссылка
   ЕстьДокументы = (Не Запрос.Выполнить().Пустой());

Добавлено через 1 час, 42 минуты и 4 секунды:
Спасибо всем, кто заинтересовался. Нашла ошибку.
« Последнее редактирование: 21-04-2011 12:00 от Marta_Li » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines