Имя: Пароль:
1C
1С v8
Неоднозначное поле "СписаниеТоваров.Ссылка"
,
0 Er2003
 
03.02.17
16:21
Здравствуйте.
Недавно обнаружилась ошибка у бухгалтера при печати отчета:
{Документ.СписаниеТоваров.МодульОбъекта(928)}: Ошибка при вызове метода контекста (Выполнить)
    Док = Запрос.Выполнить().Выбрать();
по причине:
{(17, 2)}: Неоднозначное поле "СписаниеТоваров.Ссылка"
<<?>>СписаниеТоваров.Ссылка = &ТекДокумент

Пример кода:

Запрос = Новый Запрос;

Запрос.УстановитьПараметр("ТекДокумент", ЭтотОбъект.Ссылка);
Запрос.УстановитьПараметр("Дата"       , Дата);

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    СписаниеТоваров.Номер,
|    СписаниеТоваров.Дата КАК ДатаДокумента,
|    СписаниеТоваров.Организация,
|   СписаниеТоваров.СтруктурноеПодразделение,
|    СписаниеТоваров.Склад.Представление КАК СкладПредставление,
|    СписаниеТоваров.ИнвентаризационнаяКомиссия.(
|        ФизЛицо КАК ФизЛицо,
|        Председатель КАК Председатель
|    ),
|    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК ОтветственноеЛицо
|ИЗ
|    Документ.СписаниеТоваров КАК СписаниеТоваров
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, ) КАК ОтветственныеЛицаСрезПоследних
|        ПО СписаниеТоваров.Склад = ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница
|ГДЕ
|    СписаниеТоваров.Ссылка = &ТекДокумент";
                  
Док = Запрос.Выполнить().Выбрать();

Посмотрел печатный отчет внутренний и находится в Общих макетах.
Вроде бы как при нажатии на кнопку вызывается нужная функция, но при этом возникает такая ошибка.

Целый день пытаюсь понять в чем ошибка. Если кто знает, пожалуйста подскажите в каком направлении "копать".
1 Heckfy
 
03.02.17
16:23
2 Er2003
 
03.02.17
16:28
Да, все ссылки красные)).
Я даже создал новую базу, а там данный отчет работает без ошибок. Код один в один.
3 PR
 
03.02.17
16:30
(0) Целый день?
LOL

Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
|    СписаниеТоваров2.Номер,
|    СписаниеТоваров2.Дата КАК ДатаДокумента,
|    СписаниеТоваров2.Организация,
|    СписаниеТоваров2.СтруктурноеПодразделение,
|    СписаниеТоваров2.Склад.Представление КАК СкладПредставление,
|    СписаниеТоваров2.ИнвентаризационнаяКомиссия.(
|        ФизЛицо КАК ФизЛицо,
|        Председатель КАК Председатель
|    ),
|    ОтветственныеЛицаСрезПоследних.ФизическоеЛицо КАК ОтветственноеЛицо
|ИЗ
|    Документ.СписаниеТоваров КАК СписаниеТоваров2
|        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтветственныеЛица.СрезПоследних(&Дата, ) КАК ОтветственныеЛицаСрезПоследних
|        ПО СписаниеТоваров2.Склад = ОтветственныеЛицаСрезПоследних.СтруктурнаяЕдиница
|ГДЕ
|    СписаниеТоваров2.Ссылка = &ТекДокумент";
4 Er2003
 
03.02.17
16:39
Спасибо большое.
Признаюсь стыдно ((((.
Здоровья Вам и всех благ ))).
5 PR
 
03.02.17
16:40
(4) Не стыдно не знать, стыдно не найти в инете за пять минут
6 PR
 
03.02.17
16:42
+(5) Логика очень простая, СписаниеТоваров - это не только назначенный альяс документа, но и имя какого-то еще реквизита или табличной части, поэтому 1С не знает, что брать, документ или реквизит/ТЧ
7 Er2003
 
03.02.17
16:47
Я не 1С программист. Меня лишь попросили помочь. До этого 1С видел пару раз.
Ответ про то, что имя какого-то еще реквизита или табличной части может быть таким же мне не попадалось в такой формулировки.
8 PR
 
03.02.17
16:48
(7) Слушай, мне там вокруг дома подмести нужно, поможешь?
9 Er2003
 
03.02.17
16:50
))))) Ты мне помог, вполне могу. Не вижу в этом ничего плохого.
10 Wirtuozzz
 
03.02.17
16:53
можешь сопли на кулак мотать, можешь маму звать, в штаны ссать, а поставленную задачу должен выполнить. Умри, но сделай, Он сделал.

Цитата из фильма 9 рота.

Задачу сделал - молодец, не сделал, сиди и делай.
11 PR
 
03.02.17
16:55
(9) Плохого в этом то, что ты работаешь тыжпрограммистом.
Либо делай это своей профессией либо не суйся.
Не задумывался, почему тебя никто не просит помочь сделать операцию на сердце или самолет перегнать в другой город?
12 Wirtuozzz
 
03.02.17
16:58
(11) никто еще с клавиатурой не родился. и никто на С++ говорить не начал, все приходит с опытом.
13 PR
 
03.02.17
17:00
(12) Я и не говорю, уйди накуй с поля, где взрослые в футбол играют.
Я говорю либо делай это своей профессией либо не суйся, не будь тыжпрограммистом.
14 Er2003
 
03.02.17
17:23
Я и не думал, что придется в коде копаться. На вид казалось раз все до этого работало, то значит где-то настройках что-то поменяли. И я начал не с кода. Читал на просторах интернета как работают эти печатные формы. На Вашем форуме много тем пересмотрел.
15 PR
 
03.02.17
17:25
(14) А, ну понятно. Значит, операцию на сердце ты делать не возьмешься, а вот скальпелем махнуть пару раз нет проблем, че там сложного, да?
16 Er2003
 
03.02.17
18:08
Это можно примерно сравнить: терапевт явно не умеет делать операцию на сердце, но если в экстренной ситуации под руководством может постараться спасти жизнь.))
Программист всегда исправляет последнюю ошибку.