Перестал работать или не работает метод ПоискПоНомеру 1С 8.2/8.3
Данные > Статьи и инструкции > Программирование
ПРОГРАММИРОВАНИЕ 1С 8 → перейти в меню [СТАТЬИ И ИНСТРУКЦИИ]
Отчёт всегда работал! И вдруг ошибка: Документ не найден! А он есть… Эта проблема обычно возникает, когда в документе, по которому происходит поиск, мы поменяли периодичность. Дело в том, что в методе НайтиПоНомеру(<НомерДокумента>-обязательный параметр, <ДатаИнтервала> - необязательный параметр, если периодичность: Непериодически и обязательный параметр, если периодичность: В пределах года, месяца, квартала, дня)
Решение проблемы: Всё, что нужно сделать, это добавить в параметры дату, в пределах периодичности которой будет происходить поиск документов. Например: Если периодичность документа установлена - "В пределах года". Дата в параметре = '21.07.2015', то отбор будет осуществляться за весь 2015 год.
Код "До" в 1С 8.3:
Процедура ТабличнаяЧасть1НомерПриИзменении(Элемент)
Если документы.ТТН_Расход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер)<>документы.ТТН_Расход.ПустаяСсылка() тогда
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ=
документы.ТТН_Расход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер);
ВвестиЧисло(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Количество, "Введите количество документов", 3, 0);
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Дата=
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ.Дата;
ИначеЕсли
документы.ТТН_Приход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер)<>документы.ТТН_Приход.ПустаяСсылка() тогда
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ=
документы.ТТН_Приход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер);
ВвестиЧисло(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Количество, "Введите количество документов", 3, 0);
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Дата=
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ.Дата;
Иначе
Сообщить("Документа с таким номером не обнаружено!");
КонецЕсли;
КонецПроцедуры
Если документы.ТТН_Расход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер)<>документы.ТТН_Расход.ПустаяСсылка() тогда
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ=
документы.ТТН_Расход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер);
ВвестиЧисло(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Количество, "Введите количество документов", 3, 0);
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Дата=
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ.Дата;
ИначеЕсли
документы.ТТН_Приход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер)<>документы.ТТН_Приход.ПустаяСсылка() тогда
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ=
документы.ТТН_Приход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер);
ВвестиЧисло(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Количество, "Введите количество документов", 3, 0);
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Дата=
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ.Дата;
Иначе
Сообщить("Документа с таким номером не обнаружено!");
КонецЕсли;
КонецПроцедуры
Код "После" в 1С 8.3:
Процедура ТабличнаяЧасть1НомерПриИзменении(Элемент)
Если документы.ТТН_Расход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер,Дата)<>документы.ТТН_Расход.ПустаяСсылка() тогда
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ=
документы.ТТН_Расход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер,Дата);
ВвестиЧисло(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Количество, "Введите количество документов", 3, 0);
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Дата=
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ.Дата;
ИначеЕсли
документы.ТТН_Приход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер,Дата)<>документы.ТТН_Приход.ПустаяСсылка() тогда
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ=
документы.ТТН_Приход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер,Дата);
ВвестиЧисло(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Количество, "Введите количество документов", 3, 0);
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Дата=
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ.Дата;
Иначе
Сообщить("Документа с таким номером за "+СокрЛП(Формат(Дата,"ДФ=""гггг"""))+" год не обнаружено!");
КонецЕсли;
КонецПроцедуры
Если документы.ТТН_Расход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер,Дата)<>документы.ТТН_Расход.ПустаяСсылка() тогда
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ=
документы.ТТН_Расход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер,Дата);
ВвестиЧисло(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Количество, "Введите количество документов", 3, 0);
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Дата=
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ.Дата;
ИначеЕсли
документы.ТТН_Приход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер,Дата)<>документы.ТТН_Приход.ПустаяСсылка() тогда
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ=
документы.ТТН_Приход.НайтиПоНомеру(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Номер,Дата);
ВвестиЧисло(ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Количество, "Введите количество документов", 3, 0);
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Дата=
ЭлементыФормы.ТабличнаяЧасть1.ТекущиеДанные.Документ.Дата;
Иначе
Сообщить("Документа с таким номером за "+СокрЛП(Формат(Дата,"ДФ=""гггг"""))+" год не обнаружено!");
КонецЕсли;
КонецПроцедуры
Если Вы хотите заказать абонентское обслуживание или прочие услуги Вашей 1С. Пожалуйста, ознакомьтесь с прайс-листом и оформите заявку через контактную форму.
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник