Бухгалтерский учет, налогообложение, отчетность, МСФО, анализ бухгалтерской информации, 1С:Бухгалтерия

Вход или Регистрация

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Другие решения на платформе "1С:Предприятие 8"]

Закрывается программа при закрытии обработки

Лада-НТ
Пост №1
Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №1
 
09.01.2013 19:22

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

Денис (САМАРА)
Пост №2
Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8342
Пост №2
 
09.01.2013 20:24

Есть мысль пройтись отладчиком по коду этого подбора и найти место, на котором программа "падает".

Лада-НТ
Пост №3
Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №3
 
09.01.2013 20:45

Нашла, вот тут падает.

ОбработкаОбъект.Номенклатура = НоменклатураДляПодбора

Типы проверила,одинаковые. Обработка в большинстве случаев работает. Каким то образом связано с номенклатурой, полученной выбором из списка. Ума не приложу чем она может отличаться от номенклатуры найденной сразу, если тип одинаковый.

Лада-НТ
Пост №4
Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №4
 
09.01.2013 20:53

"Процедура ПолеПодбораОкончаниеВводаТекста(Элемент, Текст, Значение, СтандартнаяОбработка)

Элемент.Значение = СтрЗаменить(СокрЛП(ОчиститьСтроку(Текст))," ",""""); //тут удаляет лишние символы, оставляет только цифры и буквы

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

Запрос.Текст = "ВЫБРАТЬ

| Номенклатура.Ссылка Как Ном
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.СтрокаДляПоиска = &СтрокаДляПоиска";

Запрос.УстановитьПараметр("СтрокаДляПоиска",Элемент.Значение);

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

ТаблицаПоиска = Результат.Выгрузить();

Если ТаблицаПоиска.Количество()> 1 Тогда

НоменклатураДляПодбора = ТаблицаПоиска.ВыбратьСтроку("Найдено несколько значений").Ном;

Иначе

НоменклатураДляПодбора = Справочники.Номенклатура.НайтиПоРеквизиту("СтрокаДляПоиска",Элемент.Значение);

КонецЕсли;

Если НЕ НоменклатураДляПодбора.Пустая() Тогда

Запрос = Новый Запрос; Запрос.Текст =//тут получаем остатки по номенклатуре, там еще записи по регистру есть

ЭтаФорма.Закрыть();

Иначе

НаименованиеНоменклатуры = "Ничего не найдено";

КонецЕсли;


Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)

ОбработкаОбъект.Номенклатура = НоменклатураДляПодбора; //вот тут падает, пробовала в предыдущую процедуру вставить, перед ЭтаФорма.Закрыть() - не помогло

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

Денис (САМАРА)
Пост №5
Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8342
Пост №5
 
09.01.2013 21:16

Бррр... какой ужас.
Где проверка на то, что запрос ничего не нашел? Где проверка, что могли и не выбрать строку из множества значений? Какое значение принимает переменная "НоменклатураДляПодбора" перед "падением"? Какой тип у реквизита обработки "Номенклатура"?

Лада-НТ
Пост №6
Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №6
 
09.01.2013 21:26

Спасибо за замечания, учту. Особенно на проверку что могли и не выбрать - не подумала как то... НоменклатураДляПодбора перед падением - СправочникСсылка.Номенклатура. У реквизита обработки такой же.

Лада-НТ
Пост №7
Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №7
 
09.01.2013 21:36

"В принципе это место даже проходит, возвращается вот сюда, в основную форму. И в конце процедуры падает. Но если заремарить заполнение реквизита в подборе тогда все норм.

Процедура ДействияФормыПодобрать(Кнопка)

Форма = ЭтотОбъект.ПолучитьФорму("ФормаПодбораНоменклатуры");
Форма.ОткрытьМодально();

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

Денис (САМАРА)
Пост №8
Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8342
Пост №8
 
09.01.2013 21:47

А это идет подбор куда? Странно видеть реквизит "Номенклатура" не привязанным к табличной части. Видеть бы ваш cf, да по рукам бы надавать. :)

Лада-НТ
Пост №9
Лада-НТ
читатель
офлайн
Дата регистрации: 04.02.2009
Сообщений: 72
Пост №9
 
09.01.2013 22:10

"Это заказ на доработку очень своеобразной конфигурации, написанной разными людьми и в разное время. Короче, "письмо из простоквашино". Сама обработка уже была. Задача - изменить форму подбора чтобы при попытке выбора номенклатуры с нулевым остатком программа это регистрировала как упущенную продажу. Плюс поиск без учета символов - только буквы и цифры. Вот есть в ней такой реквизит, и надо заполнить... В основной форме есть табличное поле СписокНоменклатуры. И текущая строка определяется по данному реквизиту.
Похоже вот тут собака порылась:

Процедура СписокНоменклатурыПриПолученииДанных(Элемент, ОформленияСтрок)

Элемент.ТекущаяСтрока = ЭтотОбъект.Номенклатура;

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

При получении данных эта процедура выполняется много-много раз, видимо по количеству номенклатуры. А как по другому передать данные в текущую строку придумать не могу."

Денис (САМАРА)
Пост №10
Денис (САМАРА)
активный пользователь
офлайн
Дата регистрации: 09.04.2008
Сообщений: 8342
Пост №10
 
09.01.2013 22:41

> Сама обработка уже была.

И все работало без "падений"?

> программа это регистрировала как упущенную продажу.

Как задумано это регистрировать? Для чего это нужно регистрировать? Если регистрировать нужно для последующего анализа, то как реализован этот анализ?

> поиск без учета символов - только буквы и цифры

Чё? Буквы и цифры это и есть символы...

> Вот есть в ней такой реквизит, и надо заполнить...

Что за реквизит? Куда и каким боком он?

P.S. Видимо не видя cf сложно Вас понять мисс "Лада-НТ".

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

Читают тему:

1 гостей
Быстрый переход
Для технических специалистов
  • Учет, налогообложение, автоматизация
  • Книга жалоб и предложений по работе сайта
  • Для технических специалистов
  • Представление регламентированной отчетности
  • Говорильня
  • Бухгалтерский учет: обсуждаем проекты нормативных актов и рекомендаций по ведению учета от БМЦ
  • Новый порядок применения ККТ (онлайн кассы с передачей сведений в ФНС)
  • Интернет-конференция: Оформление командировок по новым правилам
  • ЕГАИС
Предложения партнеров
Обучение пользователей продуктов 1С

1С бесплатно 1С-Отчетность 1С:ERP Управление предприятием 1С:Бесплатно 1С:Бухгалтерия 8 1С:Бухгалтерия 8 КОРП 1С:Бухгалтерия автономного учреждения 1С:Бухгалтерия государственного учреждения 1С:Бюджет муниципального образования 1С:Бюджет поселения 1С:Вещевое довольствие 1С:Деньги 1С:Документооборот 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и кадры государственного учреждения 1С:Зарплата и управление персоналом 1С:Зарплата и управление персоналом КОРП 1С:Комплексная автоматизация 8 1С:Лекторий 1С:Предприятие 1С:Предприятие 7.7 1С:Предприятие 8 1С:Розница 1С:Управление нашей фирмой 1С:Управление производственным предприятием 1С:Управление торговлей 1СПредприятие 8

Все теги
© ООО "1C" 2000-2018 г.