Меню

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

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

Новая тема

Ответить

Waltar

Дата регистрации: 23.11.2008
Сообщений: 8

ЗУП 2.5.18.2<br>1С 8.1.15.14 <br> <br>На любой пересчитываемый документ выдает ошибку: <br> <br>Документ Регистрация разовых начислений сотрудников организаций 00000004338 от 29.10.2009 13:40:35 не может быть перерассчитан! {ОбщийМодуль.ПроведениеРасчетовПереопределяемый(7070)}: Ошибка при вызове метода контекста (Выполнить): Не установлен менеджер временных таблиц Открыть <br><br>Как установить менеджер временных таблиц? <br>

StarS

Дата регистрации: 15.07.2003
Сообщений: 1623

«Менеджер временных таблиц — это атрибут запроса.<br>При описании запроса должна быть конструкция что-то вроде:<br><br>МВТ = Новый МенеджерВременныхТаблиц;<br>Запрос.МенеджерВременныхТаблиц = МВТ;<br><br>Т.е. все это должно быть в тексте модулей.<br><br>Может, у Вас с платформой не в порядке чего?»

Prikum

активный пользователь

онлайн

Дата регистрации: 18.02.2002
Сообщений: 20834

а не надо было ему ставить тестовую платформу!

StarS

Дата регистрации: 15.07.2003
Сообщений: 1623

Дык, если верить http://users.v8.1c.ru/Actual.aspx, 8.1.15.14 уже финальная с 30.10.09.

Prikum

активный пользователь

онлайн

Дата регистрации: 18.02.2002
Сообщений: 20834

«Опс, как быстро летит время! ;)»

Вьюн

Дата регистрации: 14.01.2007
Сообщений: 657

«Посмотрел в релизе 2.5.17.8 стоит сначала<br>Запрос.Выполнить();<br>а уже после<br>Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;<br>понятно, что ошибка, которая не исправлена в вашем релизе.<br>Надо поменять эти строки местами.»

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

Консоль запросов дает ошибку: не установлен менеджер временных таблиц

Я
   Лунтик

19.09.13 — 12:43

В консоле запросов вставлен текст запроса (ЗУП):

ВЫБРАТЬ РАЗЛИЧНЫЕ

    СотрудникиОрганизаций.Ссылка КАК Сотрудник,

    СотрудникиОрганизаций.Физлицо

ПОМЕСТИТЬ ВТСОТРУДНИКИ

ИЗ

    Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций

ИНДЕКСИРОВАТЬ ПО

    Сотрудник

При выполнении запроса дает ошибку: не установлен менеджер временных таблиц — как его установить?

   de Bug

1 — 19.09.13 — 12:45

ПОМЕСТИТЬ ВТСОТРУДНИКИ убери

   Лунтик

2 — 19.09.13 — 12:47

Как тогда сделать временную таблицу (для использования в последующих запросах)?

   pumbaEO

3 — 19.09.13 — 12:59

Используй правильную консоль.

   shuhard

4 — 19.09.13 — 13:00

(2) пакетный запрос

   Лунтик

5 — 19.09.13 — 13:09

Добавили  точку с запятой (;) и

Выбрать * из ВТСОТРУДНИКИ

заработало. Только хотелось бы чтобы система сказала: у тебя таки-то временные таблицы, вот такая-то результирующая таблица, а под плюсиком лежит их содежимое. Я приувеличиваю?

  

pumbaEO

6 — 19.09.13 — 13:11

(5) http://devtool1c.ucoz.ru/

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
Процедура ОбработкаПроведения(Отказ, Режим)
    //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
    // Данный фрагмент построен конструктором.
    // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!
 
    // регистр ОстаткиНоменклатуры Расход
    Движения.ОстаткиНоменклатуры.Записывать = Истина;
    //!!! ОБЕСПЕЧЕНИЕ НЕИЗМЕННОСТИ ДАННЫХ
    // МЕЖДУ РАСЧЕТОМ И ОКОНЧАНИЕМ ПРОВЕДЕНИЯ !!!
    Блокировка = Новый БлокировкаДанных;
    ЭлементБлокировки =
    Блокировка.Добавить("РегистрНакопления.ОстаткиНоменклатуры");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
    ЭлементБлокировки.УстановитьЗначение("Склад", Склад);
    ЭлементБлокировки.ИсточникДанных = Товары.Выгрузить( ,"Номенклатура");
    ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Номенклатура","Номенклатура");
    
    
    //!!! УДАЛЕНИЕ СОБСТВЕННЫХ СТАРЫХ ДВИЖЕНИЙ
    // ПО РЕГИСТРУ ОСТАТКИ НОМЕНКЛАТУРЫ !!!
    //Движения.ОстаткиНоменклатуры.Записать; 
    // ПО РЕГИСТРУ ОСТАТКИ НОМЕНКЛАТУРЫ !!!
    
    //!!! ПОЛУЧЕНИЕ ДАННЫХ ТОЛЬКО ПО ТОВАРАМ !!!
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |   ПрдажаТоваровТовары.Номенклатура КАК Номенклатура,
        |   СУММА(ПрдажаТоваровТовары.Количество) КАК Количество,
        |   ПрдажаТоваровТовары.Ссылка.Склад КАК Склад,
        |   ПрдажаТоваровТовары.Ссылка.Дата,
        |   СУММА(ПрдажаТоваровТовары.Сумма) КАК Сумма
        |ПОМЕСТИТЬ ТабДок
        |ИЗ
        |   Документ.ПрдажаТоваров.Товары КАК ПрдажаТоваровТовары
        |ГДЕ
        |   ПрдажаТоваровТовары.Ссылка = &Ссылка
        |   И ПрдажаТоваровТовары.Номенклатура.ВидНоменклатуры <> ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Услуга)
        |
        |СГРУППИРОВАТЬ ПО
        |   ПрдажаТоваровТовары.Номенклатура,
        |   ПрдажаТоваровТовары.Ссылка.Склад,
        |   ПрдажаТоваровТовары.Ссылка.Дата
        |
        |ИНДЕКСИРОВАТЬ ПО
        |   Номенклатура,
        |   Склад
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ТабДок.Дата,
        |   ТабДок.Номенклатура КАК Номенклатура,
        |   ТабДок.Количество КАК Количество,
        |   ОстаткиНоменклатурыОстатки.Партия,
        |   ТабДок.Склад КАК Склад,
        |   ОстаткиНоменклатурыОстатки.Партия.Дата КАК ПартияДата,
        |   ЕСТЬNULL(ОстаткиНоменклатурыОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток,
        |   ЕСТЬNULL(ОстаткиНоменклатурыОстатки.СуммаОстаток, 0) КАК СуммаОстаток,
        |   ТабДок.Сумма КАК СуммаДок
        |ИЗ
        |   ТабДок КАК ТабДок
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиНоменклатуры.Остатки(
        |               &Момент,
        |               (Номенклатура, Склад) В
        |                   (ВЫБРАТЬ
        |                       ТабДок.Номенклатура,
        |                       ТабДок.Склад
        |                   ИЗ
        |                       ТабДок КАК ТабДок)) КАК ОстаткиНоменклатурыОстатки
        |       ПО ТабДок.Номенклатура = ОстаткиНоменклатурыОстатки.Номенклатура
        |
        |УПОРЯДОЧИТЬ ПО
        |   Номенклатура,
        |   ПартияДата
        |ИТОГИ
        |   МАКСИМУМ(Количество),
        |   МАКСИМУМ(Склад),
        |   СУММА(КоличествоОстаток),
        |   СУММА(СуммаОстаток),
        |   МАКСИМУМ(СуммаДок)
        |ПО
        |   Номенклатура
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ТабДок.Номенклатура,
        |   ТабДок.Количество,
        |   БронированиеТовараОстатки.Номенклатура КАК Номенклатура1,
        |   ТабДок.Склад,
        |   БронированиеТовараОстатки.КоличествоОстаток,
        |   БронированиеТовараОстатки.Номенклатура КАК Номенклатура2
        |ИЗ
        |   ТабДок КАК ТабДок
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.БронированиеТовара.Остатки(
        |               &Момент,
        |               (Номенклатура, Склад) В
        |                   (ВЫБРАТЬ
        |                       ТабДок.Номенклатура,
        |                       ТабДок.Склад
        |                   ИЗ
        |                       ТабДок КАК ТабДок)) КАК БронированиеТовараОстатки
        |       ПО ТабДок.Номенклатура = БронированиеТовараОстатки.Номенклатура";
 
        Если Режим = РежимПроведенияДокумента.Оперативный Тогда 
            Запрос.УстановитьПараметр("Момент", Неопределено);
        Иначе
            Запрос.УстановитьПараметр("Момент", МоментВремени());
        КонецЕсли;
        Запрос.УстановитьПараметр("Ссылка", Ссылка);
        
        
        Результат = Запрос.Выполнить();
        ВыборкаНоменклатура =
        Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам); 
        Пока ВыборкаНоменклатура.Следующий() Цикл
        Если ВыборкаНоменклатура.КоличествоОстаток <
        ВыборкаНоменклатура.Количество Тогда
        //КОНТРОЛЬ ОТРИЦАТЕЛЬНЫХ ОСТАТКОВ
        // СПИСЫВАЕМЫХ ТОВАРОВ !!!
        Отказ = Истина;
        Сообщение = Новый СообщениеПользователю;
        Нехватка = ВыборкаНоменклатура.Количество -
        ВыборкаНоменклатура.КоличествоОстаток;
        Сообщение.Текст = "В документе N" + Номер +" от "+Дата+" не хватает "+Нехватка+" единиц товара "+
        ВыборкаНоменклатура.Номенклатура;
        Сообщение.Сообщить();
    Иначе
        //!!! ВЫЧИСЛЕНИЕ СЕБЕСТОИМОСТИ
        // СПИСЫВАЕМЫХ ПАРТИЙ ТОВАРОВ!!!
        КоличествоНадоСписать = ВыборкаНоменклатура.Количество;
        ВыборкаДетальныеЗаписи = ВыборкаНоменклатура.Выбрать(); 
        Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
            Если ВыборкаДетальныеЗаписи.КоличествоОстаток <=
                КоличествоНадоСписать Тогда
                //списываем всю партию
                КоличествоКСписанию =
                ВыборкаДетальныеЗаписи.КоличествоОстаток;
                СтоимостьКСписанию = ВыборкаДетальныеЗаписи.СуммаОстаток;
                //уменьшаем количество к списанию
                КоличествоНадоСписать = КоличествоНадоСписать - КоличествоКСписанию;
            Иначе
                //списываем часть партии
КоличествоКСписанию = КоличествоНадоСписать;
Если ВыборкаДетальныеЗаписи.КоличествоОстаток <> 0 Тогда
СтоимостьКСписанию = ВыборкаДетальныеЗаписи.СуммаОстаток/
ВыборкаДетальныеЗаписи.КоличествоОстаток*КоличествоКСписанию;
иначе
СтоимостьКСписанию = ВыборкаДетальныеЗаписи.СуммаОстаток;
КонецЕсли;
//обнуляем количество к списанию
КоличествоНадоСписать = 0;
КонецЕсли;  
 //формируем набор записей
Движение = Движения.ОстаткиНоменклатуры.Добавить(); 
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
Движение.Склад = Склад;
Движение.Партия = ВыборкаДетальныеЗаписи.Партия;
Движение.Количество = КоличествоКСписанию;
Движение.Сумма = СтоимостьКСписанию;
Если ВыборкаНоменклатура.Количество<>0 Тогда
Движение.СуммаПродажи =
КоличествоКСписанию;
КонецЕсли;
//проверяем необходимость дальнейшего перебора партий
Если КоличествоНадоСписать <= 0 Тогда 
Прервать;
КонецЕсли;
КонецЦикла; // по партиям
КонецЕсли;
КонецЦикла; //по товарам
Движения.Задолженности.Записывать = Истина;
// регистр Задолженности Приход
Движение = Движения.Задолженности.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
Движение.Период = Дата;
Движение.Кнотрагент = Контарагент;
Движение.СуммаДолга = СуммаДокумента;
Движения.БронированиеТовара.Записывать = Истина;
Движения.СвободныеОстатки.БлокироватьДляИзменения = Истина; 
Движения.СвободныеОстатки.Записывать = Истина;
//Запрос для определения только товаров документа
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ПрдажаТоваровТовары.Номенклатура,
| СУММА(ПрдажаТоваровТовары.Количество) КАК Количество
|ИЗ
| Документ.ПрдажаТоваров.Товары КАК ПрдажаТоваровТовары
|ГДЕ
| ПрдажаТоваровТовары.Ссылка = &Ссылка
| И ПрдажаТоваровТовары.Номенклатура.ВидНоменклатуры <>
| ЗНАЧЕНИЕ(Перечисление.ВидыТоваров.Услуга)
|СГРУППИРОВАТЬ ПО
| ПрдажаТоваровТовары.Номенклатура";
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// регистр СвободныеОстатки Расход
Движение = Движения.СвободныеОстатки.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
Движение.Склад = Склад;
Движение.Количество =
ВыборкаДетальныеЗаписи.Количество;
КонецЦикла;
 
//Подготовим менеджер временных таблиц для заполнения перечня товаров
//изменившихся свободных остатков в модуле набора записей регистра
МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц; 
Движения.СвободныеОстатки.ДополнительныеСвойства.Вставить("МенеджерВременныхТаблицПроведенияПродажиТоваров",МенеджерВременныхТаблиц);
//Общая запись всех движений
Движения.Записать(); 
//Контроль отрицательных остатков
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВременныхТаблиц; 
Запрос.Текст =
"ВЫБРАТЬ
|   СвободныеОстаткиОстатки.Номенклатура,
|   СвободныеОстаткиОстатки.КоличествоОстаток
|ИЗ
|   ТабИзменившихсяТоваров КАК ТабИзменившихсяТоваров
|       ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СвободныеОстатки.Остатки(
|               &Момент,
|               (Номенклатура, Склад) В
|                   (ВЫБРАТЬ
|                       ТабИзменившихсяТоваров.Номенклатура,
|                       ТабИзменившихсяТоваров.Склад
|                   ИЗ
|                       ТабИзменившихсяТоваров КАК ТабИзменившихсяТоваров)) КАК СвободныеОстаткиОстатки
|       ПО (СвободныеОстаткиОстатки.КоличествоОстаток > 0)
|ГДЕ СвободныеОстаткиОстатки.КоличествоОстаток > 0";
Если Режим = РежимПроведенияДокумента.Оперативный Тогда 
            Запрос.УстановитьПараметр("Момент", Неопределено);
        Иначе
            Запрос.УстановитьПараметр("Момент", МоментВремени());
            КонецЕсли;
 
Результат = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = Результат.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    Отказ = Истина;
Сообщение = Новый СообщениеПользователю;
Нехватка =
- ВыборкаДетальныеЗаписи.КоличествоОстаток;
Сообщение.Текст = "В документе N" + Номер +" от "+Дата+" не хватает "
+Нехватка+" единиц товара "+ВыборкаДетальныеЗаписи.Номенклатура;
Сообщение.Сообщить();
КонецЦикла;
КонецПроцедуры

 +7 

   

Распечатать

Что такое менеджер временных таблиц и как с ним работать?

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

Код 1C v 8.2 УП

  Запрос = Новый Запрос;
    МВТ = Новый МенеджерВременныхТаблиц;
    Запрос.МенеджерВременныхТаблиц = МВТ;

         Запрос.Текст = "ВЫБРАТЬ
                   |    ТЧ.Номенклатура
                   |ПОМЕСТИТЬ ВременнаяТЗ
                   |ИЗ
                   |    &ТЧ КАК ТЧ
                   |ГДЕ
                   |    ТЧ.Номенклатура В ИЕРАРХИИ(&Номенклатура)
                   |    И ТЧ.Цена < 5";
    Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Запрос.УстановитьПараметр("ТЧ", ТЧ);
    РезультатЗапроса = Запрос.Выполнить();

                        Запрос2 = Новый Запрос;
    Запрос2.Текст = "ВЫБРАТЬ
                    | ВременнаяТЗ.Номенклатура
                    |ИЗ
                    | ВременнаяТЗ КАК ВременнаяТЗ"; 
    Запрос2.МенеджерВременныхТаблиц    = МВТ;   
    РезультатЗапроса = Запрос2.Выполнить().Выгрузить();

Например, в отчете в зависимости от выбранных настроек первичные данные обрабатываются тем или иным способом. Тогда имеет смысл в одной процедуре сформировать эти данные и поместить их во временную таблицу, которую уже передаем через менеджер временных таблиц в другую процедуру, отвечающую за выбранный способ обработки. Это позволит сократить код, сделать запросы более читаемыми. А так же в случае, если возникнут изменения в методике подготовки первичных данных для обработки, то потребуется внести изменения только в один запрос, а не в каждый.

В качестве примера работы с менеджером временных таблиц приведу следующую обработку.

Я создаю менеджер временных таблиц, и передаю его последовательно в каждую процедуру, для создания и объединения временных таблиц. Результат выводится в сводную таблицу.

Код 1C v 8.2 УП

 &НаКлиенте
Процедура ЗаполнитьСводную(Команда)
 ЗаполнитьСводнуюНаСервере();
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьСводнуюНаСервере()

   МенВТ = Новый МенеджерВременныхТаблиц;
 ПолучитьДанныеА(МенВТ);
 ПолучитьДанныеБ(МенВТ);
 ЗагрузитьСводные(МенВТ);
 МенВТ.Закрыть();

  КонецПроцедуры

&НаСервере
Процедура ПолучитьДанныеА(МенВремТаб)

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

  КонецПроцедуры // ПолучитьДанныеА()

&НаСервере
Процедура ПолучитьДанныеБ(МенВремТаб)

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

  КонецПроцедуры // ПолучитьДанныеА()

&НаСервере
Процедура ЗагрузитьСводные(МенВремТаб)

 Запрос = Новый Запрос;
 Запрос.МенеджерВременныхТаблиц = МенВремТаб;
 Запрос.Текст = "ВЫБРАТЬ
                | ЕСТЬNULL(ТабА.Контрагент, ТабБ.Контрагент) КАК Контрагент,
                | ЕСТЬNULL(ТабА.Сумма, 0) КАК Сумма,
                | ЕСТЬNULL(ТабБ.Комментарий, """") КАК Комментарий
                |ИЗ
                | ТабА КАК ТабА
                |  ПОЛНОЕ СОЕДИНЕНИЕ ТабБ КАК ТабБ
                |  ПО ТабА.Контрагент = ТабБ.Контрагент
                |
                |УПОРЯДОЧИТЬ ПО
                | Контрагент
                |АВТОУПОРЯДОЧИВАНИЕ";

         ТаблицаСводная.Загрузить(Запрос.Выполнить().Выгрузить());

КонецПроцедуры // ЗагрузитьСводные()

 

Andrew

Новичок

Сообщений: 7
Авторитет:

107

Регистрация: 08.09.2017

Добрый день, как убрать ошибку? Модуль закрыт, сами не можем.
Ошибка запуска регламентной задачи: {ОбщийМодуль.МИКО_стЗагрузкаИсторииЗвонков_v7.Модуль}: Ошибка при вызове метода контекста (Выполнить): Не установлен менеджер временных таблиц

 

Andrew

Новичок

Сообщений: 7
Авторитет:

107

Регистрация: 08.09.2017

Телефония — 1.0.22.3
Журнал — 1.0.1.11
Еще пишет постоянно Ошибка запуска регламентной задачи: {ОбщийМодуль.МИКО_Лицензирование.Модуль(50)}: [1051] Нет свободной лицензии

Но, свободные лицензии точно есть.

 

Andrew

Новичок

Сообщений: 7
Авторитет:

107

Регистрация: 08.09.2017

Добрый день, отвязка от хоста не помогла.

 

Andrew

Новичок

Сообщений: 7
Авторитет:

107

Регистрация: 08.09.2017

Посмотрел в журнале, на лицензию больше не ругается, но появилась новая ошибка:
Ошибка запуска регламентной задачи: {ОбщийМодуль.МИКО_стЗагрузкаИсторииЗвонков_v7.Модуль}: Ошибка при вызове метода контекста (ВыполнитьПакет): {(1, 1)}: Ожидается выражение «ВЫБРАТЬ»

 

Портнов Алексей

Модератор

Сообщений: 3298
Авторитет:

176

Регистрация: 18.11.2011

#7

0

27.09.2017 10:06:16

Ничто подобное правили в более новой версии модуля статистики.
Попробуйте использовать версию 1.0.1.15

Если не поможет — создайте обращение через форму обратной связи:

https://telefon.miko.ru/contacts/

Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{Документ.ОказаниеУслуги.М� �дульОбъекта(68)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос2.Выполнить();
по причине:
{(9, 2)}: Таблица не найдена «НоменклатураДокумента»
<<?>>НоменклатураДокумента КАК НоменклатураДокумента

Процедура ОбработкаПроведения(Отказ, Режим)

// регистр ОстатокМатериалов Расход
Движения.ОстатокМатериало� �.Записывать = Истина;
Движения.СтоимостьМатериа� �ов.Записывать = Истина;
Движения.Продажи.Записыват ь = Истина;

//Создать менеджер временных таблиц
МенеджерВТ = Новый МенеджерВременныхТаблиц;

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

//Какой менеджер временных таблиц использует этот запрос
Запрос.МенеджерВременныхТ� �блиц = МенеджерВТ;

Запрос.Текст =
«ВЫБРАТЬ
| ОказаниеУслугиПереченьНом енклатуры.Номенклатура КАК Номенклатура,
| ОказаниеУслугиПереченьНом енклатуры.Номенклатура.Вид Номенклатуры КАК ВидНоменклатуры,
| СУММА(ОказаниеУслугиПереч� �ньНоменклатуры.Количество ) КАК КоличествоВДокументе,
| СУММА(ОказаниеУслугиПереч� �ньНоменклатуры.Сумма) КАК СуммаВДокументе
|ПОМЕСТИТЬ НоменклатураДокумента
|ИЗ
| Документ.ОказаниеУслуги.Пе реченьНоменклатуры КАК ОказаниеУслугиПереченьНом енклатуры
|ГДЕ
| ОказаниеУслугиПереченьНом енклатуры.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ОказаниеУслугиПереченьНом енклатуры.Номенклатура,
| ОказаниеУслугиПереченьНом енклатуры.Номенклатура.Вид Номенклатуры»;

Запрос.УстановитьПараметр( «Ссылка», Ссылка);

Запрос2 = Новый Запрос;
Запрос2.МенеджерВременныхТ аблиц = МенеджерВТ;
Запрос2.Текст = «ВЫБРАТЬ
| НоменклатураДокумента.Ном� �нклатура КАК Номенклатура,
| НоменклатураДокумента.Вид� �оменклатуры КАК ВидНоменклатуры,
| НоменклатураДокумента.Кол� �чествоВДокументе КАК КоличествоВДокументе,
| НоменклатураДокумента.Сум� �аВДокументе КАК СуммаВДокументе,
| ЕСТЬNULL(СтоимостьМатериало� �Остатки.СтоимостьОстаток, 0) КАК Стоимость,
| ЕСТЬNULL(ОстатокМатериаловО� �татки.КоличествоОстаток, 0) КАК Количество
|ИЗ
| НоменклатураДокумента КАК НоменклатураДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Стоимос� �ьМатериалов.Остатки(
| ,
| Материал В
| (ВЫБРАТЬ
| НоменклатураДокумента.Ном� �нклатура
| ИЗ
| НоменклатураДокумента)) КАК СтоимостьМатериаловОстатк и
| ПО НоменклатураДокумента.Ном� �нклатура = СтоимостьМатериаловОстатк и.Материал
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Остаток� �атериалов.Остатки(
| ,
| Материалы В
| (ВЫБРАТЬ
| НоменклатураДокумента.Ном� �нклатура
| ИЗ
| НоменклатураДокумента)) КАК ОстатокМатериаловОстатки
| ПО НоменклатураДокумента.Ном� �нклатура = ОстатокМатериаловОстатки.� �атериалы»;

//Запишем пустые наборы записей, что бы читать остатки без учета данных в документе
Движения.СтоимостьМатериа� �ов.Записать();
Движения.ОстатокМатериало� �.Записать();

РезультатЗапроса = Запрос2.Выполнить();

ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();

Пока ВыборкаДетальныеЗаписи.Сл� �дующий() Цикл

Если ВыборкаДетальныеЗаписи.Ко� �ичество = 0 Тогда
СтоимостьМатериала = 0;
Иначе
СтоимостьМатериала = ВыборкаДетальныеЗаписи.Ст� �имость / ВыборкаДетальныеЗаписи.Ко� �ичество;
КонецЕсли;

Если ВыборкаДетальныеЗаписи.Ви� �Номенклатуры = Перечисления.ВидыНоменкла� �уры.Материалы Тогда

// регистр ОстатокМатериалов Расход
Движение = Движения.ОстатокМатериало� �.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
Движение.Период = Дата;
Движение.Материалы = ВыборкаДетальныеЗаписи.Но� �енклатура;
Движение.Склад = Склад;
Движение.Количество = ВыборкаДетальныеЗаписи.Ко� �ичествоВДокументе;

//регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериа� �ов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Рас� �од;
Движение.Период = Дата;
Движение.Материал = ВыборкаДетальныеЗаписи.Но� �енклатура;
Движение.Стоимость = ВыборкаДетальныеЗаписи.Ко� �ичествоВДокументе * СтоимостьМатериала;
КонецЕсли;

//регистр Продажи

Движение = Движения.Продажи.Добавить() ;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Но� �енклатура;
Движение.Клиент = Клиент;
Движение.Мастер = Мастер;
Движение.Количество = ВыборкаДетальныеЗаписи.Ко� �ичествоВДокументе;
Движение.Выручка = ВыборкаДетальныеЗаписи.Су� �маВДокументе;
Движение.Стоимость = ВыборкаДетальныеЗаписи.Ко� �ичествоВДокументе * СтоимостьМатериала;

КонецЦикла;

КонецПроцедуры

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при воспроизведении ростелеком винкс
  • Ошибка при восстановлении подключения не найден сетевой путь windows 7