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

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

Показывать по 10 20 40 сообщений
Новая тема Ответить
Письмо в техподдержку 1С
[Прочее]

ДобавитьИзДокумент столкнулся с багом, как лечить немогу понять

Алекс Crazy
читатель
офлайн
Дата регистрации: 13.01.2010
Сообщений: 83
Пост №1
 
18.02.2010 23:45

Т+С 9,2 (7,70,960)
при добавление данных из ранее созданных документов все работает нормально
когда пытаюсь добавить из документа который был создан процедурой ЗагрузкаДокументовИзXML то мне выдает

> В подборе выбрана единица другого элемента справочника Номенклатура.
> Проверьте правильность указания базовой и основной единицы для элемента
> "ХХХХХХ", а также правильность указания единиц измерения
> в справочниках единиц и цен для данной позиции номенклатуры.

и все позиции при проверке на совпадение(присутствие этих позиций ране) объединяет все по совпадение единиц измерения
к примеру 20 строк товара по 1шт, дают 1 строчку 20шт

если все эти позиции забить вручную в другую накладную(2), то Добавить Из документа (2) работает нормально

просматривал в отладчике, проблемный вариант все кроме первой позиции признаются повтором первой позиции

причем в Т+С 9,2 (7,70,939) данной проблемы не возникает

Алекс Crazy
читатель
офлайн
Дата регистрации: 13.01.2010
Сообщений: 83
Пост №2
 
18.02.2010 23:45

"Процедура ОбработкаПодбора(ВыбЗнач)

ВремВидТМЦ = ВосстановитьЗначение("ВидТМЦПоУмолчанию");
Если ПустоеЗначение(ВремВидТМЦ)=1 Тогда
ВремВидТМЦ = Перечисление.ВидыТМЦ.Товар;
КонецЕсли;      

ЕстьВидТМЦВыбЗнач = глЕстьРеквизитМнЧ("ВидТМЦ", ВыбЗнач.Вид());

// Собственно обработка подбора
ВыбЗнач.ВыбратьСтроки();
Пока ВыбЗнач.ПолучитьСтроку() = 1 Цикл

// Поищем, м.б. уже есть такая позиция Номенклатуры
Поз = 0;
Если ТаблицаНоменклатуры.НайтиЗначение(ВыбЗнач.Единица, Поз, "Единица") = 1 Тогда

// нашли, увеличиваем количество
ТаблицаНоменклатуры.ПолучитьСтрокуПоНомеру(Поз);
ТаблицаНоменклатуры.Количество = ТаблицаНоменклатуры.Количество + ВыбЗнач.Количество;

Иначе // добавляем новую строку

Если НеПодбиратьУслугиИРаботы = 1 Тогда
Если (ВыбЗнач.Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Услуга)
или (ВыбЗнач.Номенклатура.ВидНоменклатуры = Перечисление.ВидыНоменклатуры.Работа) Тогда

Продолжить;

КонецЕсли;
КонецЕсли;

ТаблицаНоменклатуры.НоваяСтрока();
ТаблицаНоменклатуры.Пометка       = МеткаЕсть;
ТаблицаНоменклатуры.Номенклатура = ВыбЗнач.Номенклатура;
ТаблицаНоменклатуры.Количество = ВыбЗнач.Количество;
ТаблицаНоменклатуры.Единица       = ВыбЗнач.Единица;
ТаблицаНоменклатуры.Коэффициент = ВыбЗнач.Коэффициент;

Если ЕстьВидТМЦ = 1 Тогда
Если ПустоеЗначение(ФиксВидТМЦ) = 0 Тогда
// если вид фиксированный, то прописываем его
ТаблицаНоменклатуры.ВидТМЦ = ФиксВидТМЦ;
Иначе
Если ЕстьВидТМЦВыбЗнач = 1 Тогда
ТаблицаНоменклатуры.ВидТМЦ = ВыбЗнач.ВидТМЦ;
Иначе
ТаблицаНоменклатуры.ВидТМЦ = ВремВидТМЦ;
КонецЕсли;
КонецЕсли;
КонецЕсли;

Если ЕстьЦена = 1 Тогда // Заполним колонку цен
Если ЦенаНеРозничная = 1 Тогда

ТаблицаНоменклатуры.Цена = глПолучитьЦену(ТаблицаНоменклатуры.Номенклатура,
                                          КонтТипЦен, КонтДатаДок,
             ТаблицаНоменклатуры.Единица,
КонтВалюта, КонтКурс, КонтКратность);
Иначе // Розничные цены
СтрокаВозврЦена = """";
глПолучитьРозничныйОстатокЦену(ТаблицаНоменклатуры.Номенклатура, ТаблицаНоменклатуры.Единица, ТовОстатки, , СтрокаВозврЦена);

СписВозврЦен = ЗначениеИзстроки(СтрокаВозврЦена);
Если СписВозврЦен.РазмерСписка() > 0 Тогда
ТаблицаНоменклатуры.Цена = СписВозврЦен.ПолучитьЗначение(1);
Иначе
ТаблицаНоменклатуры.Цена = 0;
КонецЕсли;

КонецЕсли; // Если ЦенаНеРозничная = 1
КонецЕсли; // Если ЕстьЦена = 1

КонецЕсли;
КонецЦикла;

КонецПроцедуры // ОбработкаПодбора()"

Алекс Crazy
читатель
офлайн
Дата регистрации: 13.01.2010
Сообщений: 83
Пост №3
 
18.02.2010 23:52

Принципе я нашел механизм как получить нужный мне результат, но хочется понять причину бага и как его устранить

zak555 (398843952)
читатель
офлайн
Дата регистрации: 27.03.2008
Сообщений: 4656
Пост №4
 
19.02.2010 10:37

так где баг ?

Алекс Crazy
читатель
офлайн
Дата регистрации: 13.01.2010
Сообщений: 83
Пост №5
 
19.02.2010 21:18

в кодах ошибки не нашел, что именно вызывает хз, но ситуацию в которой возникает описал выше, быть может надо искать в модуле, ЗагрузкаДокументаИзXML

creative
читатель
офлайн
Дата регистрации: 24.07.2007
Сообщений: 787
Пост №6
 
19.02.2010 23:05

> в кодах ошибки не нашел, что именно вызывает хз, но ситуацию в которой возникает описал выше, быть может надо искать в модуле, ЗагрузкаДокументаИзXML

Скорее всего проблема именно в загрузке.

Если вспомнить конструкцию ТИС, то там насколько мне помнится существует два справочника единиц измерения.
Первый определяет существующую в целом по базе классификацию единиц измерения. Второй, условно назовём его "единицы измерения номенклатуры" является подчинённым родителю "номенклатура". и он связан по реквизиту единиц с первым справочником.

Вообще интересно как это происходит, но судя по сообщению выдаваемому системой происходит что то типа следующего.
При записи позиции номенклатуры создаётся ситуация когда позиция номенклатуры связывается со справочником "единицы измерения номенклатуры" не по родителю, а просто происходит присвоение значения единицы найденной первой в подчинённом справочнике.
То есть номенклатура 1 - подчинённый справочник единицы измерения (для родителя "номенклатура 1") = шт.
номенклатура 2 - опять подчинённый справочник единицы измерения (для родителя "номенклатура 1") = шт.

Вообще подобная ситуация при записи элемента справочника "Номенклатура" должна вызвать ошибку. Хотя если убиты процедуры проверки при записи...

Аналогично, если происходит просто загрузка в документ, по реквизитам табличной части, то вполне возможна такая ситуация когда для номенклатуры в строке сопоставляется единица измерения не по подчинению а по первой найденной позиции в подчинённом справочнике.
Получаем ту же ситуацию. Номенклатура = "Номенклатура 2" а единица подчинённая родителю "Номенклатура 1".

При интерактивном выборе такой ситуации добиться просто невозможно, а вот при программном назначении я думаю можно.

Так что ищи проблемы в загрузке.

Алекс Crazy
читатель
офлайн
Дата регистрации: 13.01.2010
Сообщений: 83
Пост №7
 
13.07.2010 11:55

загрузка осуществляется по штрих коду, штрих код приписан к карточке к ед измерения (то есть на разные единицы измерения одного и того же товара разные штрих кода)
захожу в накладную источник, щелкую по единице измерения(выбор ед измерения) выбираю туже единицу измерения какая и была(другой там нет)
сохраняю, и уже данная позиция перебрасываться нормально, остальные по прежнему родитель отбора ед измерения

Показывать по 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

Все теги