Ошибка при вызове метода контекста сдвинуть

Хочу сдвинуть область в поле табличного документа

Я
   Genri

11.03.09 — 12:39

ТабДок                      = ЭлементыФормы.ДокументРезультат;

   Отдел = «Отпуск очередной»;

   Область=ТабДок.НайтиТекст(Отдел);

   ТабДок.ВыделенныеОбласти.сдвинуть(Область.Имя,2 ) ;

Ошибка…

{Форма.ФормаРасчетнаяВедомость(233)}: Ошибка при вызове метода контекста (Сдвинуть): Несоответствие типов (параметр номер ‘1’)

   ТабДок.ВыделенныеОбласти.сдвинуть(Область.Имя,2 ) ;

   butterbean

1 — 11.03.09 — 12:40

НайтиТекст() не делает область выделенной

   butterbean

2 — 11.03.09 — 12:41

(1)+ добавь ТабДок.ТекущаяОбласть() = Область;

   Genri

3 — 11.03.09 — 12:50

ТабДок.ТекущаяОбласть() = Область;

ошибка…

{Форма.ФормаРасчетнаяВедомость(234,26)}: Неопознанный оператор

   ТабДок.ТекущаяОбласть() <<?>>= Область;

Сделал так:    

ТабДок                      = ЭлементыФормы.ДокументРезультат;

   Отдел = «Отпуск очередной»;

   Область=ТабДок.НайтиТекст(Отдел);

   ТабДок.ТекущаяОбласть.Имя=Область;

   ТабДок.ВыделенныеОбласти.Сдвинуть(Область.Имя,2 ) ;

ошибка…

{Форма.ФормаРасчетнаяВедомость(236)}: Ошибка при вызове метода контекста (Сдвинуть): Несоответствие типов (параметр номер ‘1’)

   ТабДок.ВыделенныеОбласти.Сдвинуть(Область.Имя,2 ) ;

по причине:

Несоответствие типов (параметр номер ‘1’)

   Genri

4 — 11.03.09 — 12:50

(1) а как сделать область выделенной…

   73

5 — 11.03.09 — 12:57

У Сдвинуть() 1-й параметр — тип область, а Область.Имя — Строка. Вот что 1С тебе пишет.

(2) нужно без скобок.

   Genri

6 — 11.03.09 — 13:07

(5)Сделал так , ошибок нет, но сдвиг не происходит.

   
ТабДок                      = ЭлементыФормы.ДокументРезультат;

   Отдел = «Отпуск очередной»;

   Область=ТабДок.НайтиТекст(Отдел);

   ТабДок.ТекущаяОбласть= Область;

   ТабДок.ВыделенныеОбласти.Сдвинуть(Область,20 ) ;

   73

7 — 11.03.09 — 13:19

Попробуй для выделения использовать:

ВыделенныеОбластиТабличногоДокумента (SpreadsheetDocumentSelectedAreas)

Добавить (Add)

Синтаксис:

Добавить(<Область>)

   Genri

8 — 11.03.09 — 13:44

Не могу понять в моем случие что должно выступать в роли колекции

Что не поставляю выдает ОШИБКУ….

{Форма.ФормаРасчетнаяВедомость(238)}: Итератор для значения не определен

   
Для каждого строка из  ? цикл

       
   КонецЦикла;

   butterbean

9 — 11.03.09 — 13:48

(8) видимо ТабДок.ВыделенныеОбласти

   Genri

10 — 11.03.09 — 13:50

(9)Да спасибо только что сам догнал

   Genri

11 — 11.03.09 — 14:19

Не могу понять как с этими методами работать…

Методы:

Вставить (Insert)

Добавить (Add)

Индекс (IndexOf)

Количество (Count)

Очистить (Clear)

Получить (Get)

Сдвинуть (Move)

Удалить (Delete)

   Genri

12 — 11.03.09 — 14:23

Пишу так ничего не происходит.

   
Для  каждого ВыделеннаяОбласть  из ТабДок.ВыделенныеОбласти цикл

       ТабДок.ВыделенныеОбласти.Сдвинуть(ВыделеннаяОбласть,50 ) ;

   КонецЦикла;

   Genri

13 — 11.03.09 — 14:56

Кто-то может помочь!!!!!!!!!!!!!!

ПОЧЕМУ НЕРАБОТАЕТ.

  

Genri

14 — 11.03.09 — 16:14

Все очень красиво делается вот так….

   
Отдел = «Отпуск очередной»;

   Область=ТабДок.НайтиТекст(Отдел);

   ОблКолонка=СокрЛП(Прав(Область.Имя,2));

   
   ТабДок.ВставитьОбласть(ТабДок.Область(«R5″+ОблКолонка+»:R200″+ОблКолонка), ТабДок.Область(«R5C3:R200C3»),,истина);

@Mr-Rm
Mr-Rm

changed the title
СписокЗначений.Сдвинуть() работает циклично

СписокЗначений и ТаблицаЗначений: Сдвинуть() работает циклично

May 16, 2019

@EvilBeaver

@dmpas подскажи, как автор — почему сделан циклический сдвиг? Есть ли тайный смысл в этом?

@dmpas

@EvilBeaver вот я пытался поковыряться на ИТС и найти какой-нибудь старый синтаксис-помощник. Вот чует моя ж, что когда-то в 1С так и было.

@EvilBeaver

Ща попросим какого-нибудь старожила вспомнить…

/cc @pumbaEO @artbear @allustin ?

@EvilBeaver

Судя по-всему — нет. Оно всегда работало с выдачей исключения. Я не могу найти подтверждения, что было циклично

@dmpas

@ghost

@EvilBeaver не было такого. Я помню 8.1 я пробовал и получал исходное исключение «Неправильное смещение внутри коллекции» а вот в 7.7 1С++ вроде как смещало циклично.

@Mr-Rm



Copy link


Contributor


Author

Когда первый параметр метода Сдвинуть() не является Числом или ЭлементомСпискаЗначений / СтрокойТаблицыЗначений соответственно, 1С пытается привести его к числу и выдает ошибку «Несоответствие типов (параметр номер ‘1’)» только если приведение невозможно. В OneScript происходит следующее:
СписокЗначений.Сдвинуть("2",1)
Ошибка: Значение не является значением объектного типа
ТаблицаЗначений.Сдвинуть("2",1)
Ошибка: Неверный тип аргумента
(То же и для СписокЗначений.Удалить("2"))

Что важнее, совместимость или типизация?

@dmpas

@Mr-Rm



Copy link


Contributor


Author

Удивительная несогласованность в 1С. Пробуем код:

ТЗ1 = Новый ТаблицаЗначений;
ТЗ1.Колонки.Добавить("К1");
Ст11 = ТЗ2.Добавить();
Ст12 = ТЗ2.Добавить();
ТЗ2 = Новый ТаблицаЗначений;
ТЗ2.Колонки.Добавить("К1");
Ст2 = ТЗ2.Добавить();
ТЗ1.Сдвинуть(Ст2,1);

Получаем ошибку: «Недопустимое значение параметра (параметр номер ‘1’) (Строка не принадлежит коллекции)«.
Теперь аналогичное:

СЗ1 = Новый СписокЗначений;
Эл11 = СЗ1.Добавить("э11");
Эл12 = СЗ1.Добавить("э12");
СЗ2 = Новый СписокЗначений;
Эл2 = СЗ2.Добавить("э2");
СЗ1.Сдвинуть(Эл2, 1);

Просто сдвигается 0-й элемент! СЗ1.Индекс(Эл2) честно возвращает -1.
Это же баг и источник багов. Нельзя такое повторять. Есть другие мнения?

@EvilBeaver

Кажется в коде примера ошибка: в строке 2 СЗ2 еще не определен

Mr-Rm

added a commit
to Mr-Rm/OneScript
that referenced
this issue

Jul 5, 2019

@Mr-Rm

…параметра к индексу +тесты

EvilBeaver

added a commit
that referenced
this issue

Jul 8, 2019

@EvilBeaver

Fix #876: цикличность метода Сдвинуть; приведение типа первого параметра

В платформе 1С сообщения об ошибках бывают достаточно запутаны, и без должных навыков разобраться в причинах достаточно сложно. Вот и сообщение об ошибке при вызове контекста может ввести в ступор начинающего разработчика. Однако в подавляющем большинстве случаев мы видим подобное сообщение, если разработчик допустил ошибку в своем коде. Причем речь зачастую идет не об орфографических ошибках, а о логических.

Исправляем ситуацию

Чтобы избавиться от этого неприятного сообщения об ошибке при вызове метода контекста, следует понимать, что контекстом называют методы платформы 1С. Значит в определенной строке кода воспользовались методом с неверными параметрами или вызвали его не от того владельца. Всегда внимательно и полностью читайте сообщения об ошибках – часто в них содержится указание на строку и метод, вызвавший ошибку. Это поможет сэкономить время на отладку и поиск проблемного места в коде.

Рассмотрим действия разработчика на примере со специально допущенной ошибкой. Мы запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора. Компилятор 1С пропускает такую процедуру, так как орфографических ошибок в написании команд мы не допустили. Однако в режиме предприятия нас ждет такое сообщение об ошибке:


	 Запрос = Новый Запрос;
	 Запрос.Текст =
	         "ВЫБРАТЬ
	          |        Номенклатура.Ссылка КАК Ссылка,
	          |        Номенклатура.ВерсияДанных КАК ВерсияДанных,
	          |        Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	          |        Номенклатура.Родитель КАК Родитель,
	          |        Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	          |        Номенклатура.Код КАК Код,
	          |        Номенклатура.Наименование КАК Наименование,
	          |        Номенклатура.Артикул КАК Артикул,
	          |        Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	          |        Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	          |        Номенклатура.Предопределенный КАК Предопределенный,
	          |        Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	          |ИЗ
	          |        Справочник.Номенклатура КАК Номенклатура
	          |ГДЕ
	          |         ";
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 КонецЦикла;
Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора
Рис.1 Запускаем на исполнение нижеприведенный кусок кода с запросом, в котором забыли дописать условие отбора

Приведенный текст ошибки программисту 1С скажет, что в модуле формы обработки «ЧтениеЗаписьXML на 152 строчке кода не может выполниться запрос. Причина в том, что на 17 строчке запроса нет чего-то, что ждал компилятор. Таким образом, чтобы убрать подобное сообщение, необходимо выяснить, что там должно быть и написать недостающий код.

Увидев вышеприведенный кусок кода, разработчик заметит, что в запросе есть служебное слово «ГДЕ», дающее сигнал 1С, что дальше будет условие. Но мы забыли дописать его и, естественно, система с помощью сообщения об ошибке спрашивает нас – «а где условие?». Чтобы исправить эту ситуацию необходимо либо убрать оператор «ГДЕ» из запроса, либо добавить условие.

Но ошибки могут быть не только в текстах запросов. Допустим, мы хотим выбрать всю номенклатуру и узнать, входит ли она в определенную группу. Проверка происходит с помощью метода «ПринадлежитЭлементу» и его параметра, который должен быть типа СправочникСсылка. Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной.


	 Запрос = Новый Запрос;
	            Запрос.Текст =
	                       "ВЫБРАТЬ
	                        |          Номенклатура.Ссылка КАК Ссылка,
	                        |          Номенклатура.ВерсияДанных КАК ВерсияДанных,
	                        |          Номенклатура.ПометкаУдаления КАК ПометкаУдаления,
	                        |          Номенклатура.Родитель КАК Родитель,
	                        |          Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
	                        |          Номенклатура.Код КАК Код,
	                        |          Номенклатура.Наименование КАК Наименование,
	                        |          Номенклатура.Артикул КАК Артикул,
	                        |          Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
	                        |          Номенклатура.ТипНоменклатуры КАК ТипНоменклатуры,
	                        |          Номенклатура.Предопределенный КАК Предопределенный,
	                        |          Номенклатура.ИмяПредопределенныхДанных КАК ИмяПредопределенныхДанных
	                        |ИЗ
	                        |          Справочник.Номенклатура КАК Номенклатура
	                        |ГДЕ
	                        |          НЕ Номенклатура.ЭтоГруппа ";
	 НужнаяГруппаЭлементов = Справочники.Номенклатура.НайтиПоНаименованию("Мебель");
	 РезультатЗапроса = Запрос.Выполнить();
	 ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
	 Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
	 Сообщить(ВыборкаДетальныеЗаписи.Ссылка.ПринадлежитЭлементу("НужнаяГруппаЭлементов"));
	 КонецЦикла;
Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной
Рис.2 Мы опять допускаем ошибку и вместо ссылки в параметр метода помещаем строку, содержащую имя переменной

1С выдает настолько же информативное сообщение, из которого мы понимаем, что на 158 строке у 1 параметра неправильный тип. Но что же делать, если мы не знаем, какой тип должен быть? В этом нам поможет Синтакс-помощник, встроенный в платформу 1С.

Рис.3 Синтакс-помощник
Рис.3 Синтакс-помощник

В конфигураторе находим строку и метод, на который указывало сообщение об ошибке, и нажимаем на него правой кнопкой мыши. Выбираем пункт «Поиск в синтакс-помощнике» и платформа самостоятельно ищет справочную информацию по выделенному методу. В справке мы видим не только подробное описание параметров и самого метода, но и пример. Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает.

Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает
Рис.4 Сверив пример с нашим кодом, приходит понимание, что кавычки не нужны и без них все работает

Чаще всего причиной подобных ошибок выступают следующие факторы:

  1. Невнимательность;
  2. Отсутствие опыта или знаний;
  3. Несогласованность действий разработчиков друг с другом;
  4. Изменения в методах контекста в новых версиях платформы.

Но ошибки при разработке ПО случаются постоянно, поскольку иногда ошибаются даже специалисты с многолетним опытом. Самое главное – уметь исправлять их и учиться на них. Постепенно вы будете видеть сообщения об ошибках все реже и научитесь замечать подобные «опечатки» еще до запуска 1С.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
&НаКлиенте
Процедура Заполнить(Команда)
    
    Если Объект.Проведен Тогда
        Предупреждение("Заполнение возможно только в непроведенном документе!");
        Возврат;
    КонецЕсли;
    
    Если Объект.Контракты.Количество() > 0 Тогда      
        ТекстВопроса = "Перед заполнением табличная часть будет очищена. Продолжить?";
        Ответ = Вопрос(ТекстВопроса, РежимДиалогаВопрос.ДаНет, , КодВозвратаДиалога.Да);
        
        Если Ответ = КодВозвратаДиалога.Нет Тогда
            Возврат;
        КонецЕсли; 
        
        Объект.Контракты.Очистить();     
    КонецЕсли;     
    ТЗ = ПолучитьСписокКонтрактовНаПродление();
    мМаксимальныйСрокКонтрактаЛет = 5;
    Для Каждого Стр Из ТЗ Цикл
        НоваяСтрока = Объект.Контракты.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрока, Стр);
        ОбработкаТабличныхЧастей.РасчитатьСрокКонтракта(НоваяСтрока, мМаксимальныйСрокКонтрактаЛет, Истина, Ложь, Объект.Контракт)
    КонецЦикла;
    
КонецПроцедуры
 
&НаСервере
Функция ПолучитьСписокКонтрактовНаПродление(ТекущаяСтрока = Неопределено, ОпределитьНомерКонтракта = Ложь)
    Запрос = Новый Запрос;
    Запрос.Текст = "ВЫБРАТЬ
                   |    ВложенныйЗапрос.ФизЛицо КАК ФизЛицо,
                   |    ВложенныйЗапрос.ДатаОкончанияКонтракта КАК ДатаОкончанияКонтракта,
                   |    ВложенныйЗапрос.НомерКонтракта КАК НомерКонтракта,
                   |    ВложенныйЗапрос.ДатаНачалаКонтракта КАК ДатаНачалаКонтракта,
                   |    ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаОкончанияКонтракта, ДЕНЬ, 1) КАК КонтрактС,
                   |    ВЫБОР
                   |        КОГДА ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаОкончанияКонтракта, ГОД, 1) < ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаНачалаКонтракта, ГОД, &МаксимальныйСрокКонтрактаЛет)
                   |            ТОГДА ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаОкончанияКонтракта, ГОД, 1)
                   |        ИНАЧЕ ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаНачалаКонтракта, ГОД, &МаксимальныйСрокКонтрактаЛет)
                   |    КОНЕЦ КАК КонтрактПо,
                   |    1 КАК КонтрактЛет,
                   |    Контракты.Регистратор КАК ДокументЗаключенияКонтракта,
                   |    ВложенныйЗапрос.Приказ
                   |ПОМЕСТИТЬ ВТКонтрактыНаПродление
                   |ИЗ
                   |    (ВЫБРАТЬ
                   |        КонтрактыСрезПоследних.ФизЛицо КАК ФизЛицо,
                   |        КонтрактыСрезПоследних.ДатаОкончанияКонтракта КАК ДатаОкончанияКонтракта,
                   |        КонтрактыСрезПоследних.НомерКонтракта КАК НомерКонтракта,
                   |        МАКСИМУМ(Контракты.Период) КАК ДатаНачалаКонтракта,
                   |        Контракты.Приказ КАК Приказ
                   |    ИЗ
                   |        РегистрСведений.Контракты.СрезПоследних(
                   |                ,
                   |                НЕ &ОдинКонтракт
                   |                    ИЛИ &ОдинКонтракт
                   |                        И ФизЛицо = &Физлицо
                   |                        И (НомерКонтракта = &НомерКонтракта
                   |                            ИЛИ &ОпределитьНомерКонтракта)) КАК КонтрактыСрезПоследних
                   |            ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Контракты КАК Контракты
                   |            ПО КонтрактыСрезПоследних.ФизЛицо = Контракты.ФизЛицо
                   |                И КонтрактыСрезПоследних.НомерКонтракта = Контракты.НомерКонтракта
                   |                И (НЕ Контракты.Регистратор ССЫЛКА Документ.ПродлениеКонтрактов)
                   |                И КонтрактыСрезПоследних.Приказ = Контракты.Приказ
                   |    ГДЕ
                   |        КонтрактыСрезПоследних.Контракт = &Контракт
                   |        И (КонтрактыСрезПоследних.ДатаОкончанияКонтракта <= &ДатаПо
                   |                ИЛИ &ДатаПо = &ПустаяДата)
                   |        И (КонтрактыСрезПоследних.ДатаОкончанияКонтракта >= &ДатаС
                   |                ИЛИ &ДатаС = &ПустаяДата)
                   |    
                   |    СГРУППИРОВАТЬ ПО
                   |        КонтрактыСрезПоследних.ФизЛицо,
                   |        КонтрактыСрезПоследних.ДатаОкончанияКонтракта,
                   |        КонтрактыСрезПоследних.НомерКонтракта,
                   |        Контракты.Приказ) КАК ВложенныйЗапрос
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.Контракты КАК Контракты
                   |        ПО ВложенныйЗапрос.ФизЛицо = Контракты.ФизЛицо
                   |            И ВложенныйЗапрос.НомерКонтракта = Контракты.НомерКонтракта
                   |            И ВложенныйЗапрос.ДатаНачалаКонтракта = Контракты.Период
                   |            И (НЕ Контракты.Регистратор ССЫЛКА Документ.ПродлениеКонтрактов)
                   |            И ВложенныйЗапрос.Приказ = Контракты.Приказ
                   |ГДЕ
                   |    ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаОкончанияКонтракта, ДЕНЬ, 1) < ДОБАВИТЬКДАТЕ(ВложенныйЗапрос.ДатаНачалаКонтракта, ГОД, &МаксимальныйСрокКонтрактаЛет)
                   |    И Контракты.Контракт = &Контракт
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    РаботникиОрганизацийСрезПоследних.Физлицо,
                   |    РаботникиОрганизацийСрезПоследних.Приказ КАК Приказ,
                   |    МАКСИМУМ(РаботникиОрганизацийСрезПоследних.Регистратор) КАК Регистратор
                   |ПОМЕСТИТЬ ВТРаботники
                   |ИЗ
                   |    РегистрСведений.РаботникиОрганизаций.СрезПоследних(
                   |            &Дата,
                   |            Физлицо В
                   |                (ВЫБРАТЬ
                   |                    ВТКонтрактыНаПродление.ФизЛицо
                   |                ИЗ
                   |                    ВТКонтрактыНаПродление КАК ВТКонтрактыНаПродление)) КАК РаботникиОрганизацийСрезПоследних
                   |ГДЕ
                   |    НЕ РаботникиОрганизацийСрезПоследних.Регистратор ССЫЛКА Документ.УвольнениеСотрудника
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    РаботникиОрганизацийСрезПоследних.Физлицо,
                   |    РаботникиОрганизацийСрезПоследних.Приказ
                   |;
                   |
                   |////////////////////////////////////////////////////////////////////////////////
                   |ВЫБРАТЬ
                   |    ВТРаботники.Физлицо КАК Физлицо,
                   |    ВТКонтрактыНаПродление.ДатаОкончанияКонтракта,
                   |    ВТКонтрактыНаПродление.НомерКонтракта,
                   |    ВТКонтрактыНаПродление.ДатаНачалаКонтракта КАК ДатаНачалаКонтракта,
                   |    ВТКонтрактыНаПродление.КонтрактС,
                   |    ВТКонтрактыНаПродление.КонтрактПо,
                   |    ВТКонтрактыНаПродление.КонтрактЛет,
                   |    ВТКонтрактыНаПродление.ДокументЗаключенияКонтракта,
                   |    ВТРаботники.Приказ
                   |ИЗ
                   |    ВТРаботники КАК ВТРаботники
                   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТКонтрактыНаПродление КАК ВТКонтрактыНаПродление
                   |        ПО ВТРаботники.Физлицо = ВТКонтрактыНаПродление.ФизЛицо
                   |            И ВТРаботники.Приказ = ВТКонтрактыНаПродление.Приказ
                   |
                   |УПОРЯДОЧИТЬ ПО
                   |    ДатаНачалаКонтракта УБЫВ";   
    Запрос.УстановитьПараметр("Дата", Объект.Дата);
    Запрос.УстановитьПараметр("МаксимальныйСрокКонтрактаЛет", мМаксимальныйСрокКонтрактаЛет);
    Запрос.УстановитьПараметр("Контракт", Объект.Контракт);
    Запрос.УстановитьПараметр("ОпределитьНомерКонтракта", ОпределитьНомерКонтракта);
    Запрос.УстановитьПараметр("ПустаяДата", Дата(1,1,1));
    Если ТекущаяСтрока = Неопределено Тогда
        Запрос.УстановитьПараметр("Физлицо", Справочники.ФизическиеЛица.ПустаяСсылка());
        //Запрос.УстановитьПараметр("ДатаНачалаКонтракта", Дата(1,1,1));
        Запрос.УстановитьПараметр("НомерКонтракта", "");
        Запрос.УстановитьПараметр("ОдинКонтракт", Ложь);
        Запрос.УстановитьПараметр("ДатаС", НачалоДня(Объект.ДатаС));
        Запрос.УстановитьПараметр("ДатаПо", КонецДня(Объект.ДатаПо));
    Иначе  
        Запрос.УстановитьПараметр("Физлицо", ТекущаяСтрока.ФизЛицо);
        //Запрос.УстановитьПараметр("ДатаНачалаКонтракта", ТекущаяСтрока.ДатаНачалаКонтракта);
        Запрос.УстановитьПараметр("НомерКонтракта", ТекущаяСтрока.НомерКонтракта);
        Запрос.УстановитьПараметр("ОдинКонтракт", Истина);
        Запрос.УстановитьПараметр("ДатаС", Дата(1,1,1));
        Запрос.УстановитьПараметр("ДатаПо", Дата(1,1,1));
    КонецЕсли; 
    Результат = Запрос.Выполнить();
    ТЗ = Результат.Выгрузить();
    Возврат ТЗ;
    
КонецФункции // ()

  • Ошибка при вызове метода контекста свернуть неверное имя колонки
  • Ошибка при вызове метода контекста удалитьобъекты
  • Ошибка при вызове метода контекста реквизитформывзначение недопустимое значение параметра
  • Ошибка при вызове метода контекста удалить несоответствие типов параметр номер 1
  • Ошибка при вызове метода контекста удалить нарушение прав доступа