друзья , подскажите пожалуйста , есть ли метод как побороть такую беду
чеки из фнс загружаются , но при нажатии кнопки "перенести в документ" получаю ошибку
{АП_ЗагрузкаЧеков Обработка.ЗагрузкаЧеков.Форма.Форма.Форма(629)}: Значение не является значением объектного типа (НайтиСтроки)
МасСтр = НаборАналитики.НайтиСтроки (Новый Структура ("ИспользоватьДляРасхода", Истина));
Какую версию конфигурации используете?
1С:Предприятие 8.3 (8.3.12.1616)
Деньги 8, редакция 2.0 (2.0.33.14) (http://v8.1c.ru/money)
Copyright © ООО "1С-Софт", 2009-2018. Все права защищены
(http://www.1c.ru)
режим Серверный
смог пока что сделать так, закомментил некоторые строки аналитики.
в итоге при нажатии "перенести в документ" получаю сообщение "Неопределено", но по чеку таки создается расходная операция.
сейчас нет времени разбираться - потом попробую нормально сделать, если меня никто не опередит))
сегодня общалась с инспектором ФНС (по работе) - они уже "в шоке" и у них "полная жесть", потому что "ФНС по всей России переходит на новую программу"
Это даже "хуже чем вы 1С с 8.2 на 8.3 переводите"
так что: Хорошего вам настроения! И всего доброго!!!)
лучше не пользуйтесь моей редакцией обработки - она как выяснилось рождает проблемы как минимум если вы использовали до этого аналитику. Перестают открываться прошлые операции.
А чего вы хотели добиться комментированием данного куска кода?
&НаСервере
Функция ПеренестиВДокументНаСервере(ДокСсылка)
ТаблицаЗначений = РеквизитФормыВЗначение("СоставЧека");
Если ЗначениеЗаполнено(ДокСсылка) Тогда
ДокументОбъект = ДокСсылка.ПолучитьОбъект();
Иначе
ДокументОбъект = Документы.Расход.СоздатьДокумент();
ДокументОбъект.Заполнить(Неопределено);
ДокументОбъект.Дата = ЭтотОбъект.Дата;
ДокументОбъект.СуммаЧека = ЭтотОбъект.СуммаДокумента;
Если ЗначениеЗаполнено (ЭтаФорма.Кошелек) Тогда
ДокументОбъект.КошелекДолг = ЭтаФорма.Кошелек;
КонецЕсли;
КонецЕсли;
//Сформируем таблицу аналитики
//лТЗАналитики = АналитикаСтатей.НоваяТаблицаВидИЗначениеАналитики();
//лТЗАналитики.Колонки.Добавить("РедактироватьВШапке", Новый ОписаниеТипов("Булево")); //Добавим поле для определения, что можно менять
//Получим набор аналитики по Объекту
//НаборАналитики = ПолучитьАктуальныйНаборАналитики (ДокументОбъект);
//Выберем только аналитики используемые в Расходе
//МасСтр = НаборАналитики.НайтиСтроки (Новый Структура ("ИспользоватьДляРасхода", Истина));
//Заполним таблицу аналитики, так получим значения по-умолчанию, которые заполняются в шапке.
//Для Каждого СтрНабораАналитики Из МасСтр Цикл
// Если лТЗАналитики.Найти (СтрНабораАналитики.ВидАналитики, "ВидАналитики") = Неопределено Тогда //Хотя вроде бы лишнее условие
// СтрАналитики = лТЗАналитики.Добавить ();
// ЗаполнитьЗначенияСвойств (СтрАналитики, СтрНабораАналитики);
// СтрАналитики.ЗначениеАналитики = СтрНабораАналитики.ЗначениеАналитикиРасходаПоУмолчанию;
// Если СтрАналитики.РедактироватьВШапке И Не ЗначениеЗаполнено (СтрАналитики.ЗначениеАналитики) Тогда //Стоит флаг редактирования в шапке, а значения по-умолчанию нет.
// СтрАналитики.РедактироватьВШапке = Ложь; //Сбросим флаг. Хотя может лучше оставить? Тут вопрос в том, заполять ли данную аналитику из СтатьиРасхода
// КонецЕсли;
// КонецЕсли;
//КонецЦикла;
//Заполнение аналитики Магазина
Если ЗначениеЗаполнено(Магазин) Тогда
//Прямой поиск...
//АналитикаМагазин = лТЗАналитики.Найти (ПланыВидовХарактеристик.ВидыАналитик.МестоТраты, "ВидАналитики");
//Если АналитикаМагазин = Неопределено Тогда //Получается, что аналитика не используется, но мы добавим
//АналитикаМагазин = лТЗАналитики.Добавить ();
//АналитикаМагазин.ВидАналитики = ПланыВидовХарактеристик.ВидыАналитик.МестоТраты;
КонецЕсли;
//АналитикаМагазин.ЗначениеАналитики = ЭтотОбъект.Магазин;
//АналитикаМагазин.РедактироватьВШапке = Истина; //На всякий случай поставим, что редактируется в шапке.
//КонецЕсли;
ДокументОбъект.Расходы.Очистить();
ТаблицаЗначений.Свернуть("СтатьяРасходов,Наименование","Количество,Скидка,Стоимость");
Для Каждого Строка Из ТаблицаЗначений Цикл
НоваяСтрока = ДокументОбъект.Расходы.Добавить();
НоваяСтрока.СтатьяРасходаИмущество = Строка.СтатьяРасходов;
Если Строка.СтатьяРасходов.КоличественныйУчет Тогда
НоваяСтрока.Количество = Строка.Количество;
КонецЕсли;
НоваяСтрока.Скидка = Строка.Скидка;
НоваяСтрока.СкидкаВведенаВручную = Строка.Скидка > 0;
НоваяСтрока.Сумма = Строка.Стоимость;
НоваяСтрока.КомментарийСтроки = СокрЛП(Строка.Наименование);
РасширеннаяАналитика = АналитикаСтатей.ПолучитьРасширеннуюАналитикуДляСтатьи(Строка.СтатьяРасходов);
Для Каждого СтрРасшАналитики Из РасширеннаяАналитика Цикл
Если Не СтрРасшАналитики.Использовать Тогда Продолжить; КонецЕсли; //Есть такое поле будем проверять.
//СтрАналитики = лТЗАналитики.Найти (СтрРасшАналитики.ВидАналитики, "ВидАналитики");
//Если СтрАналитики = Неопределено Тогда //Вопрос - добавлять или нет. Пока не буду.
Продолжить;
//ИначеЕсли СтрАналитики.РедактироватьВШапке Тогда //Редактируемые в шапке тоже пропускаем.
//Продолжить;
//КонецЕсли;
//Ну а здесь заполним аналитику
//СтрАналитики.ЗначениеАналитики = СтрРасшАналитики.ЗначениеПоУмолчанию;
КонецЦикла;
//Преобразуем таблицу в ссылку
//НоваяСтрока.АналитикаСтатьи = АналитикаСтатей.ПолучитьСсылкуНаНаборЗначенийАналитик (лТЗАналитики);
КонецЦикла;
//Сохраним аналитику в документ
ДокументОбъект.АналитикаДокумента.Очистить();
//Для Каждого СтрАналитика Из лТЗАналитики Цикл
СтрАналитикиДок = ДокументОбъект.АналитикаДокумента.Добавить();
//ЗаполнитьЗначенияСвойств (СтрАналитикиДок, СтрАналитика);
Если СтрАналитикиДок.РедактироватьВШапке Тогда
//СтрАналитикиДок.ЗначениеАналитикиВШапке = СтрАналитика.ЗначениеАналитики;
КонецЕсли;
//КонецЦикла;
//Ў+
Для Каждого Строка ИЗ ДокументОбъект.Расходы Цикл
Если НЕ ЗначениеЗаполнено(Строка.СтатьяРасходаИмущество) Тогда
Строка.СтатьяРасходаИмущество = Справочники.СтатьиРасходов.ПрочиеРасходы;
КонецЕсли;
КонецЦикла;
//Ў-
ДокументОбъект.Комментарий = СформироватьКомментарийСПараметрамиЧека(ДокументОбъект);
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);//Ў+-
// Заполнения поля документа, чтобы не создавалось 2-й раз
Попытка
ЭтаФорма.Расход = ДокументОбъект.Ссылка;
СтрокаТаблицы = СписокЧеков.НайтиПоИдентификатору(Элементы.СписокЧеков.ТекущаяСтрока);
СтрокаТаблицы.ДокументРасхода = ДокументОбъект.Ссылка;
СтрокаТаблицы.ДокументРасходаПроведен = ДокументОбъект.Ссылка.Проведен;
Исключение
КонецПопытки;
//Возврат ДокументОбъект.Ссылка;
КонецФункции
Было бы достаточно зайти в константу "Использовать аналитику статей" и снять там галочку, эффект был бы тот же :-)
Пришлите мне идентификационные данные этого чека, я проверю, что происходит в ответе ФНС и что 1С`ка с этим делает.
Почитав код, о котором идёт речь (в котором ошибка) логически вырисовывается, что у вас проблема со списком аналитики, которую вы используете в расходных операциях. Зайдите в Сервис - Изменить аналитику в операциях и проверьте используемую аналитику, что-то у вас не так...
А чего вы хотели добиться комментированием данного куска кода?
Было бы достаточно зайти в константу "Использовать аналитику статей" и снять там галочку, эффект был бы тот же :-)
Хорошо, когда профессионал дает краткий и точный ответ (совет)! :-)
Пожалуйста, поделитесь в формате "epf"