Добрый день!
После обновления программы (Зарплата и управление персоналом КОРП, редакция 3.1 (3.1.23.165) ) перестали проводится документы Начисление зарплаты и взносов.
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
Значение индекса выходит за границы диапазона
{ОбщийМодуль.УчетСреднегоЗаработка.Модуль(5222)}: Начисления.Удалить(ИсключаемаяСтрока);
{ОбщийМодуль.УчетСреднегоЗаработка.Модуль(3405)}: РаспределитьВТНачисленияПоБазе(МенеджерВременныхТаблиц, Регистратор, ИсключатьВПериодКомандировок);
{ОбщийМодуль.УчетСреднегоЗаработка.Модуль(3009)}: ЗарегистрироватьНачисленияДляРасчетаОбщегоСреднегоЗаработка(Движения, Отказ, МенеджерВременныхТаблиц, ИсключатьВПериодКомандировок, ЗаписыватьДвижения);
{ОбщийМодуль.УчетСреднегоЗаработка.Модуль(237)}: ЗарегистрироватьДанныеОбщегоСреднегоЗаработка(Движения, Отказ, МенеджерВременныхТаблиц, ЗаписыватьДвижения);
{Документ.НачислениеЗарплаты.МодульМенеджера(265)}: УчетСреднегоЗаработка.ЗарегистрироватьДанныеСреднегоЗаработка(Движения, Отказ, ДанныеДляПроведения.НачисленияДляСреднегоЗаработка);
{Документ.НачислениеЗарплаты.МодульОбъекта(124)}: Документы.НачислениеЗарплаты.ПровестиПоУчетам(Ссылка, РежимПроведения, Отказ, Неопределено, Движения, ЭтотОбъект, ДополнительныеСвойства);
по причине:
Значение индекса выходит за границы диапазона
В чем может быть причина?
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
Столкнулись с такой проблемой при проведении ЗП в бухгалтерии.
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{ОбщийМодуль.УчетНДФЛ.Модуль(1569)}: Ошибка при вызове метода контекста (Записать)
Движения.РасчетыНалогоплательщиковСБюджетомПоНДФЛ.Записать();
по причине:
Запись не верна! Значение поля «Дата получения дохода» не может быть пустым! (Регистр накопления: Расчеты налогоплательщиков с бюджетом по НДФЛ; Номер строки: 1)
Решение: нужно перепровести начисления за предыдущие месяцы. Как мы поняли это просто глюк, 1с не видит проведенные ранее доки.
Загрузка…
Поле объекта не обнаружено (ВидыНоменклатуры) |
Я |
11.12.17 — 14:51
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{Документ.ОказаниеУслуг.МодульОбъекта(6)}: Поле объекта не обнаружено (ВидыНоменклатуры)
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда
1 — 11.12.17 — 14:52
При этом тут ошибок не обнаруживает.
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиМатериалов.Записывать = Истина;
Движения.СтоимостьМатериалов.Записывать=Истина;
Для Каждого ТекСтрокаПереченьНоменклатуры Из ПереченьНоменклатуры Цикл
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда
// регистр ОстаткиМатериалов Расход
Движение = Движения.ОстаткиМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = ТекСтрокаПереченьНоменклатуры.Количество;
// регистр СтоимостьМатериалов Расход
Движение = Движения.СтоимостьМатериалов.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Материал = ТекСтрокаПереченьНоменклатуры.Номенклатура;
Движение.Стоимость = ТекСтрокаПереченьНоменклатуры.Количество * ТекСтрокаПереченьНоменклатуры. Стоимость;
КонецЕсли;
КонецЦикла;
КонецПроцедуры;
2 — 11.12.17 — 14:53
Кэш, прав
3 — 11.12.17 — 15:04
А можно по подробнее, я не профи, студет, который выполняет домашнее задание)
4 — 11.12.17 — 15:05
Не видит код твое перечисление
5 — 11.12.17 — 15:07
а как сделать , что бы видел?)
6 — 11.12.17 — 15:08
Все примерно что вот C:UsersuserAppDataLocal1C1cv8
и вот тут C:UsersuserAppDataRoaming1C1cv8
имеет вид примерно вот такой
7c5b5c16-ffaa-4503-873e-491ea5b80492
грохнуть
то что имеет нормальное название оставить ))
7 — 11.12.17 — 15:09
(3) Русским языком объясняю
В конфигуратор загляни: есть ли в конфигурации перечисление «ВидыНоменклатуры» (у меня, например, это справочник, а не перечисление) и есть ли в этом перечислении значение с именем «Материал» — может быть там есть «Материалы», а не «Материал»?
Если в конфигураторе всё «на месте», то почисть кэши на всякий случай как советовали.
8 — 11.12.17 — 15:10
о боже
9 — 11.12.17 — 15:10
я поняла, щас попробую)
10 — 11.12.17 — 15:15
Где файлы кэша и как очистить кэш — гугли, советов много. Первый попавшийся — v8: Очистить КЭШ параметров сеанса
11 — 11.12.17 — 15:15
У меня виды номенклатуры,находятся в справочнике. Тип перечисление.ссылка.виды номенклатуры
12 — 11.12.17 — 15:18
и в перечислениях все в порядке
13 — 11.12.17 — 15:20
(11) пользуйся отладчиком
14 — 11.12.17 — 15:27
У тебя точно Перечисления.ВидыНоменклатуры а не ВИД?
15 — 11.12.17 — 15:46
(12) возможно пустая строка у тебя в документе
16 — 11.12.17 — 16:03
(11) «Тип перечисление.ссылка.виды номенклатуры» — бессмысленный набор несвязанных между собой слов. С точки зрения 1С и конфигурации
17 — 11.12.17 — 16:14
Пройдитесь отладчиком и вычислите выражение этого и «ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры» этого «Перечисления.ВидыНоменклатуры.Материал», посмотрите тип этого «ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры» и напишите перечисление это или справочник
18 — 11.12.17 — 19:37
я вообще ничего не соображаю
19 — 11.12.17 — 20:07
О да
20 — 11.12.17 — 20:35
я все пересмотрела 500 раз уже. все по книжке. но собака, все равно , ошибка…
21 — 11.12.17 — 20:37
Скрины в Студию ))
22 — 11.12.17 — 20:40
Читаем ВИНИМАТЕЛЬНО
ИЗ (0) >>Поле объекта не обнаружено (ВидыНоменклатуры)
читаем из (1)>>Перечисления.ВидыНоменклатуры.Материал
Думаем
У тебя что за конфа?
23 — 11.12.17 — 20:43
ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры
У тебя ЭТО поле есть???
видЫ или Вид ??
24 — 11.12.17 — 20:45
ив от выше вот это строчки
Процедура ОбработкаПроведения(Отказ, Режим)
Что там написано????
25 — 11.12.17 — 20:50
есть это поле. вид номенклатуры. что такое конфа? а как скрины сюда прикрепить?)
26 — 11.12.17 — 20:51
конфа=конфиграция
ты скажи что написано выше
Процедура ОбработкаПроведения(Отказ, Режим)
Что там написано???? начинается на символ «&»
27 — 11.12.17 — 20:55
да ничего там не написано) а конфигурация , когда я начинаю перепроводить документ выдает это. Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{Документ.ОказаниеУслуг.МодульОбъекта(6)}: Поле объекта не обнаружено (ВидыНоменклатуры)
Если ТекСтрокаПереченьНоменклатуры.Номенклатура.ВидНоменклатуры = Перечисления.ВидыНоменклатуры.Материал Тогда
28 — 11.12.17 — 20:59
Ну тогда напиши
&НаСервере
Процедура ОбработкаПроведения(Отказ, Режим)
29 — 11.12.17 — 21:02
написала, пишет так.{Документ.ОказаниеУслуг.МодульОбъекта(29,12)}: Процедура или функция с указанным именем уже определена (ОбработкаПроведения)
Процедура <<?>>ОбработкаПроведения(Отказ, Режим) (Проверка: Сервер)
30 — 11.12.17 — 21:04
Ну ты
Процедура ОбработкаПроведения(Отказ, Режим)
не пиши
ты перед ней напиши, строкой выше &НаСервере
31 — 11.12.17 — 21:07
к сожалению не помогло…
32 — 11.12.17 — 21:08
Чудес не бывает )
33 — 11.12.17 — 21:10
я уже 3 день на него надеюсь…
34 — 11.12.17 — 21:13
Тимвьювер есть?
если есть то на почту мне давай, моя почта в карточке отрыта
35 — 11.12.17 — 21:13
ураааа. я его дождалась!!!! решила попробовать написать не &НаСервере а &НаКлиенте. и все получилось. Спасибо Вам за это)
36 — 11.12.17 — 21:14
Вам вообще рассказывали что нибудь там где ты учишься про:
Особенности компиляции этих директив управляемого приложения
Подробнее на Programmist1s.ru: http://programmist1s.ru/direktivyi-vyipolneniya-koda1s-v-upravlyaemyih-formah/
37 — 11.12.17 — 21:15
я хрен знает что там пишешь такое стратегическое
38 — 11.12.17 — 21:17
я учусь на заочке, мы пришли, нам скинула все на флешку и отправили разбираться. К сожалению это все обучение.
39 — 11.12.17 — 21:18
мдяяяяя…..
мужики, готовьтесь ))) новое поколение скоро прибудет )))
40 — 11.12.17 — 21:19
неее, я не програмист
41 — 11.12.17 — 21:20
(38) kofanovka,
Как хоть контора называется, и специальность, что бы народ знал
42 — 11.12.17 — 21:20
даже с ошибкой профессию эту написала)))
43 — 11.12.17 — 21:20
Коммерция (торговое дело)
44 — 11.12.17 — 21:22
(40) >>неее, я не програмист
а на кой вам эти фокусы которые ты спрашиваешь????
это вообще то как минимум хоть какой-то технический факультет
45 — 11.12.17 — 21:26
+44 Бред какой
>>Коммерция (торговое дело)
в соседней ветке уже было )))
>> _никак не привыкнуть к мысли, что люди, рожденные в этом веке, уже программируют
и я туда же, тоже не могу привыкнуть))
kofanovka
46 — 11.12.17 — 21:39
домашнее задание) или экзамен автоматом) да это не профильный предмет, а так, для общего развития скорее всего.
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
Автор DK502, 25 авг 2014, 12:23
0 Пользователей и 1 гость просматривают эту тему.
Всем привет! При попытке проведения документа «Движение топлива» вылезает ошибка
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’ {Документ.СписаниеНефтепродуктов1(49)}: Значение не является значением объектного типа (Пустая)
Если НЕ Стр.ДокументОприходования.Пустая() И (Стр.Количество > 0) Тогда
Текст процедуры выглядит так:
ПроверитьЗаполнение(Отказ);
Остаток = РассчитатьОстаток();
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить(«Контрагент»);
Таблица.Колонки.Добавить(«ВидТоплива»);
Таблица.Колонки.Добавить(«Количество»);
Таблица.Колонки.Добавить(«ДокументОприходования»);
Таблица.Колонки.Добавить(«Дата»);
Остатки = РегистрыНакопления.Партии;
Фильтр = Новый Структура;
Фильтр.Вставить(«ВидТоплива»,ВидТоплива);
Фильтр.Вставить(«Контрагент», Контрагент);
ТабОстатков = Остатки.Остатки(Дата,Фильтр);
ТабОстатков.Колонки.Добавить(«Дата»);
Если ТабОстатков.Количество() <> 0 Тогда
Для Каждого Стр Из ТабОстатков Цикл
Если НЕ Стр.ДокументОприходования.Пустая() И Стр.Количество > 0 Тогда
Стр.Дата = Стр.ДокументОприходования.Дата;
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.Контрагент = Контрагент;
НоваяСтрока.ВидТоплива = ВидТоплива;
НоваяСтрока.Количество = Стр.Количество;
НоваяСтрока.Дата = Стр.Дата;
НоваяСтрока.ДокументОприходования = Стр.ДокументОприходования;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Таблица.Сортировать(«Дата»);
Когда ставлю точку останова, то в строке
Если НЕ Стр.ДокументОприходования.Пустая() И (Стр.Количество > 0) Тогда
Стр.ДокументОприходования.Пустая() = Ложь
Стр.Количество = 0.
Значит, дело всё же в Стр.Количество? Т.к. условие 0>0 не выполняется, поэтому он не хочет выполняться? Или в чём дело? Подскажите, пожалуйста.
Цитата: DK502 от 25 авг 2014, 12:23
Всем привет! При попытке проведения документа «Движение топлива» вылезает ошибка
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’ {Документ.СписаниеНефтепродуктов1(49)}: Значение не является значением объектного типа (Пустая)
Если НЕ Стр.ДокументОприходования.Пустая() И (Стр.Количество > 0) ТогдаТекст процедуры выглядит так:
ПроверитьЗаполнение(Отказ);
Остаток = РассчитатьОстаток();
Таблица = Новый ТаблицаЗначений;
Таблица.Колонки.Добавить(«Контрагент»);
Таблица.Колонки.Добавить(«ВидТоплива»);
Таблица.Колонки.Добавить(«Количество»);
Таблица.Колонки.Добавить(«ДокументОприходования»);
Таблица.Колонки.Добавить(«Дата»);Остатки = РегистрыНакопления.Партии;
Фильтр = Новый Структура;
Фильтр.Вставить(«ВидТоплива»,ВидТоплива);
Фильтр.Вставить(«Контрагент», Контрагент);
ТабОстатков = Остатки.Остатки(Дата,Фильтр);
ТабОстатков.Колонки.Добавить(«Дата»);
Если ТабОстатков.Количество() <> 0 Тогда
Для Каждого Стр Из ТабОстатков Цикл
Если НЕ Стр.ДокументОприходования.Пустая() И Стр.Количество > 0 Тогда
Стр.Дата = Стр.ДокументОприходования.Дата;
НоваяСтрока = Таблица.Добавить();
НоваяСтрока.Контрагент = Контрагент;
НоваяСтрока.ВидТоплива = ВидТоплива;
НоваяСтрока.Количество = Стр.Количество;
НоваяСтрока.Дата = Стр.Дата;
НоваяСтрока.ДокументОприходования = Стр.ДокументОприходования;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Таблица.Сортировать(«Дата»);Когда ставлю точку останова, то в строке
Если НЕ Стр.ДокументОприходования.Пустая() И (Стр.Количество > 0) ТогдаСтр.ДокументОприходования.Пустая() = Ложь
Стр.Количество = 0.Значит, дело всё же в Стр.Количество? Т.к. условие 0>0 не выполняется, поэтому он не хочет выполняться? Или в чём дело? Подскажите, пожалуйста.
Попробуй заменить Стр.ДокументОприходования.Пустая() на ПустаяСтрока(Стр.ДокументОприходования)
Попробуй так
Если ЗначениеЗаполнено(Стр.ДокументОприходования)
Cегодня не все могут провести завтрашним числом. Вернее, не только лишь все — мало кто может это сделать.
ну-ну
Стр.ДокументОприходования — скорее всего имеет составной тип данных, и может быть не заполнен в регисте, соответственно иметь значение = Неопределено.
Функция ЗначениеЗаполнено() будет ругаться в этом случае.
Поэтому проверку условия надо начинать с этого
…
Если Стр.ДокументОприходования <> Неопределено и ЗначениеЗаполнено(Стр.ДокументОприходования) …
…
если помогло нажмите: Спасибо!
Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{Документ.РасходнаяНакладная.МодульОбъекта(68)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос2.Выполнить();
по причине:
{(17, 28)}: Поле не найдено «НоменклатураДокумента.Номенклатура»
ПО НоменклатураДокумента.<<?>>Номенклатура = СтоимостьТоваровОстатки.Номенклатура
Процедура ОбработкаПроведения(Отказ, Режим)
Движения.ОстаткиТоваров.Записывать = Истина;
Движения.СтоимостьТоваров.Записывать = Истина;
Движения.Продажи.Записывать = Истина;
//Менеджер временных таблиц
МенеджерВТ = Новый МенеджерВременныхТаблиц;
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст =
«ВЫБРАТЬ
| РасходнаяНакладнаяТовары.Товар,
| РасходнаяНакладнаяТовары.Товар.ВидНоменклатуры КАК ВидНоменклатуры,
| СУММА(РасходнаяНакладнаяТовары.Количество) КАК КоличествоВДокументе,
| СУММА(РасходнаяНакладнаяТовары.Сумма) КАК СуммаВДокументе
|ПОМЕСТИТЬ НоменклатураДокумента
|ИЗ
| Документ.РасходнаяНакладная.Товары КАК РасходнаяНакладнаяТовары
|ГДЕ
| РасходнаяНакладнаяТовары.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| РасходнаяНакладнаяТовары.Товар,
| РасходнаяНакладнаяТовары.Товар.ВидНоменклатуры»;
Запрос.УстановитьПараметр(«Ссылка», Ссылка);
РезультатЗапроса = Запрос.Выполнить();
Запрос2 = Новый Запрос;
Запрос2.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос2.Текст =
«ВЫБРАТЬ
| НоменклатураДокумента.Номенклатура,
| НоменклатураДокумента.ВидНоменклатуры,
| НоменклатураДокумента.КоличествоВДокументе,
| НоменклатураДокумента.СуммаВДокументе,
| ЕСТЬNULL(СтоимостьТоваровОстатки.СтоимостьОстаток, 0) КАК Стоимость,
| ЕСТЬNULL(ОстаткиТоваровОстатки.КоличествоОстаток, 0) КАК Количество
|ИЗ
| НоменклатураДокумента КАК НоменклатураДокумента
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьТоваров.Остатки(
| ,
| Номенклатура В
| (ВЫБРАТЬ
| НоменклатураДокумента.Номенклатура
| ИЗ
| НоменклатураДокумента)) КАК СтоимостьТоваровОстатки
| ПО НоменклатураДокумента.Номенклатура = СтоимостьТоваровОстатки.Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки(
| ,
| Номенклатура В
| (ВЫБРАТЬ
| НоменклатураДокумента.Номенклатура
| ИЗ
| НоменклатураДокумента)) КАК ОстаткиТоваровОстатки
| ПО НоменклатураДокумента.Номенклатура = ОстаткиТоваровОстатки.Номенклатура»;
Движения.СтоимостьТоваров.Записать();
Движения.ОстаткиТоваров.Записать();
РезультатЗапроса = Запрос2.Выполнить();
//ТЗ = РезультатЗапроса.Выгрузить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Количество = 0 Тогда
СтоимостьТоваров = 0;
Иначе
СтоимостьТоваров = ВыборкаДетальныеЗаписи.Стоимость / ВыборкаДетальныеЗаписи.Количество;
КонецЕсли;
Если ВыборкаДетальныеЗаписи.ВидНоменклатуры = Перечисления.ВидНоменклатуры.Товар Тогда
Движение = Движения.ОстаткиТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
Движение.Склад = Склад;
Движение.Количество = ВыборкаДетальныеЗаписи.Количество;
Движение = Движения.СтоимостьТоваров.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Номенклатура;
Движение.Стоимость = ВыборкаДетальныеЗаписи.СтоимостьТовара * ВыборкаДетальныеЗаписи.Количество;
КонецЕсли;
// Регистр Продажи
Движение = Движения.Продажи.Добавить();
Движение.Период = Дата;
Движение.Номенклатура = ВыборкаДетальныеЗаписи.Товар;
Движение.Количество = ВыборкаДетальныеЗаписи.КоличествоВДокументе;
Движение.Сумма = ВыборкаДетальныеЗаписи.СуммаВДокументе;
Движение.Стоимость = ВыборкаДетальныеЗаписи.СтоимостьТовара * ВыборкаДетальныеЗаписи.КоличествоВДокументе;
КонецЦикла;
Движения.Записать();
Если Режим = РежимПроведенияДокумента.Оперативный Тогда
// Проверить отрицательные остатки
Запрос3 = Новый Запрос;
Запрос3.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос3.Текст = «ВЫБРАТЬ
| ОстаткиТоваровОстатки.Номенклатура,
| ОстаткиТоваровОстатки.КоличествоОстаток
|ИЗ
| РегистрНакопления.ОстаткиТоваров.Остатки(
| ,
| Номенклатура В
| (ВЫБРАТЬ
| НоменклатураДокумента.Номенклатура
| ИЗ
| НоменклатураДокумента)
| И Склад = &Склад) КАК ОстаткиТоваровОстатки
|ГДЕ
| ОстаткиТоваровОстатки.КоличествоОстаток < &КоличествоОстаток»;
Запрос3.УстановитьПараметр(«Склад», Склад);
РезультатЗапроса = Запрос3.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Сообщение = Новый СообщениеПользователю();
Сообщение.Текст = «Не хватает » + Строка(- ВыборкаДетальныеЗаписи.КоличествоОстаток) + » единиц товара «»» + ВыборкаДетальныеЗаписи.Номенклатура + «»»»;
Сообщение.Сообщить();
Отказ = Истина;
КонецЦикла;
КонецЕсли;
КонецПроцедуры