17 июля 2025
1C-RarusTechDay 2025
8-я открытая техническая конференция для специалистов 1С
Зарегистрироваться
1C-RarusTechDay 2025 — 8‑я открытая техническая конференция для специалистов 1С

Ошибка в Партиях товаров отданных

Декоративное изображение

Для получения доступа к форуму необходимо авторизоваться
или зарегистрироваться на сайте.

Интересующийся
RSS
Смотрел на релизе 5.1.15.10 ну думаю ошибка осталось до сих пор.
В регистре ПартииТоваровОтданные в модуле набора записей есть вот такой код.
Код
ТекСтрокаПартий=МассивНайденныхСтрокПартий[СчПартий];
         КоличествоПартии=ТекСтрокаПартий.Количество;
         СтруктураОтбора = Новый Структура("Номенклатура,ХарактеристикаНоменклатуры,Партия",ТекСтрокаПартий.Номенклатура,ТекСтрокаПартий.ХарактеристикаНоменклатуры,ТекСтрокаПартий.Партия);
         Если АвтомобильВТаблице Тогда
            СтруктураОтбора.Вставить("Автомобиль", ТекСтрокаПартий.Автомобиль);
         КонецЕсли;
         Если ЕстьГТД И НЕ обЗначениеНеЗаполнено(СтрокаТоваров.ГТД) Тогда
            СтруктураОтбора.Вставить("ГТД", СтрокаТоваров.ГТД);
         КонецЕсли; 
         МассивНайденныхСтрокГТД=РезультатЗапросаПоГТД.НайтиСтроки(СтруктураОтбора);
         Для СчГТД=0 По МассивНайденныхСтрокГТД.ВГраница() Цикл
            ТекСтрокаГТД=МассивНайденныхСтрокГТД[СчГТД];
            НоваяЗапись=Добавить();
            НоваяЗапись.ВидДвижения=ВидДвиженияНакопления.Приход;
            НоваяЗапись.Период=ШапкаДокумента.Дата;
            НоваяЗапись.Регистратор=ШапкаДокумента.Ссылка;
            НоваяЗапись.ДокументПередачи=ШапкаДокумента.Ссылка;
            НоваяЗапись.Партия=?(ТекСтрокаПартий.Партия=Неопределено,ШапкаДокумента.Ссылка,ТекСтрокаПартий.Партия);
            НоваяЗапись.ГТД=ТекСтрокаГТД.ГТД;
            НоваяЗапись.Контрагент=Контрагент;
            НоваяЗапись.ДоговорВзаиморасчетов=ДоговорВзаиморасчетов;
            Если ЕстьАвтомобиль Тогда
               НоваяЗапись.Автомобиль = СтрокаТоваров.Автомобиль;
            КонецЕсли;
            НоваяЗапись.Номенклатура=ТекСтрокаПартий.Номенклатура;
            НоваяЗапись.ХарактеристикаНоменклатуры=ТекСтрокаПартий.ХарактеристикаНоменклатуры;
            НоваяЗапись.ХозОперация=ШапкаДокумента.ХозОперация;
            НоваяЗапись.Количество=Мин(ТекСтрокаГТД.Количество,ТекСтрокаПартий.Количество,КоличествоТовара);
            К=(1/СтрокаТоваров.Количество)*НоваяЗапись.Количество;
            Сумма=?(СтрокаТоваров.СуммаВсего=NULL,0,СтрокаТоваров.СуммаВсего);
            НоваяЗапись.Сумма=Окр(обПересчет(Сумма,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаРегл,КурсРегл)*К,2);
            НоваяЗапись.СуммаУпр=Окр(обПересчет(Сумма,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаУпр,КурсУпр)*К,2);
            НоваяЗапись.СуммаНДС=Окр(?(СтрокаТоваров.СуммаНДС=NULL,0,обПересчет(СтрокаТоваров.СуммаНДС,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаРегл,КурсРегл)*К),2);
            КДляСпис = К;
            К=(1/КоличествоПартии)*НоваяЗапись.Количество;
            Если ПередаватьНаКомиссиюВесьТовар Тогда
               НоваяЗапись.СуммаСебестоимостиУпр=Окр(обПересчет(ТекСтрокаПартий.СуммаВсего,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаУпр,КурсУпр)*К,2);
               НоваяЗапись.СуммаСебестоимостиРегл=Окр(обПересчет(ТекСтрокаПартий.СуммаВсего,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаРегл,КурсРегл)*К,2);
               ТекСтрокаПартий.СуммаВсего = ТекСтрокаПартий.СуммаВсего - ТекСтрокаПартий.СуммаВсего*К;
            Иначе
               НоваяЗапись.СуммаСебестоимостиУпр=ТекСтрокаПартий.СуммаУпр*К;
               НоваяЗапись.СуммаСебестоимостиРегл=ТекСтрокаПартий.Сумма*К;
               ТекСтрокаПартий.СуммаУпр   = ТекСтрокаПартий.СуммаУпр - НоваяЗапись.СуммаСебестоимостиУпр;
               ТекСтрокаПартий.Сумма      = ТекСтрокаПартий.Сумма - НоваяЗапись.СуммаСебестоимостиРегл;
            КонецЕсли;
            КоличествоТовара=КоличествоТовара-НоваяЗапись.Количество;
            ТекСтрокаПартий.Количество=ТекСтрокаПартий.Количество-НоваяЗапись.Количество;
            ТекСтрокаГТД.Количество=ТекСтрокаГТД.Количество-НоваяЗапись.Количество;
            
            Если ТекСтрокаГТД.Количество=0 Тогда
               РезультатЗапросаПоГТД.Удалить(ТекСтрокаГТД);
               ТекСтрокаГТД=Неопределено;
            КонецЕсли;
            Если ТекСтрокаПартий.Количество=0 Тогда
               НаборЗаписейПартии.Удалить(ТекСтрокаПартий);
               ТекСтрокаПартий=Неопределено;
               Прервать;
            КонецЕсли;
            Если КоличествоТовара=0 Тогда
               Прервать;
            КонецЕсли; 
         КонецЦикла;
         Если КоличествоТовара>0 И (НЕ обЗначениеНеЗаполнено(ТекСтрокаПартий) И ТекСтрокаПартий.Количество>0) Тогда
            НоваяЗапись=Добавить();
            НоваяЗапись.ВидДвижения=ВидДвиженияНакопления.Приход;
            НоваяЗапись.Период=ШапкаДокумента.Дата;
            НоваяЗапись.Регистратор=ШапкаДокумента.Ссылка;
            НоваяЗапись.ДокументПередачи=ШапкаДокумента.Ссылка;
            НоваяЗапись.Партия=ТекСтрокаПартий.Партия;
            НоваяЗапись.Контрагент=Контрагент;
            НоваяЗапись.ДоговорВзаиморасчетов=ДоговорВзаиморасчетов;
            Если ЕстьАвтомобиль Тогда
               НоваяЗапись.Автомобиль = СтрокаТоваров.Автомобиль;
            КонецЕсли;
            НоваяЗапись.Номенклатура=ТекСтрокаПартий.Номенклатура;
            НоваяЗапись.ХарактеристикаНоменклатуры=ТекСтрокаПартий.ХарактеристикаНоменклатуры;
            НоваяЗапись.ХозОперация=ШапкаДокумента.ХозОперация;
            НоваяЗапись.Количество=Мин(ТекСтрокаПартий.Количество,КоличествоТовара);
            К=(1/СтрокаТоваров.Количество)*НоваяЗапись.Количество;
            Сумма=?(СтрокаТоваров.СуммаВсего=NULL,0,СтрокаТоваров.СуммаВсего);
            НоваяЗапись.Сумма=Окр(обПересчет(Сумма,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаРегл,КурсРегл)*К,2);
            НоваяЗапись.СуммаУпр=Окр(обПересчет(Сумма,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаУпр,КурсУпр)*К,2);
            НоваяЗапись.СуммаНДС=Окр(?(СтрокаТоваров.СуммаНДС=NULL,0,обПересчет(СтрокаТоваров.СуммаНДС,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаРегл,КурсРегл)*К),2);
            К=(1/КоличествоПартии)*НоваяЗапись.Количество;
            Если ПередаватьНаКомиссиюВесьТовар Тогда
               НоваяЗапись.СуммаСебестоимостиУпр=Окр(обПересчет(ТекСтрокаПартий.СуммаВсего,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаУпр,КурсУпр)*К,2);
               НоваяЗапись.СуммаСебестоимостиРегл=Окр(обПересчет(ТекСтрокаПартий.СуммаВсего,ШапкаДокумента.ВалютаДокумента,ШапкаДокумента.КурсДокумента,ВалютаРегл,КурсРегл)*К,2);
            Иначе
               НоваяЗапись.СуммаСебестоимостиУпр=ТекСтрокаПартий.СуммаУпр*К;
               НоваяЗапись.СуммаСебестоимостиРегл=ТекСтрокаПартий.Сумма*К;
            КонецЕсли;
            КоличествоТовара=КоличествоТовара-НоваяЗапись.Количество;
            ТекСтрокаПартий.Количество=ТекСтрокаПартий.Количество-НоваяЗапись.Количество;
            Если ТекСтрокаПартий.Количество=0 Тогда
               НаборЗаписейПартии.Удалить(ТекСтрокаПартий);
               //Прервать;
            КонецЕсли;
            Если КоличествоТовара=0 Тогда
               Прервать;
            КонецЕсли; 
         КонецЕсли; 
         Если КоличествоТовара=0 Тогда
            Прервать;
         КонецЕсли; 

По этому коду у меня получилась следующая штука.
Хотя в партиях

Видимо вместе с
Код
КоличествоТовара=КоличествоТовара-НоваяЗапись.Количество;
Внутри цикла
Код
Для СчГТД=0 По МассивНайденныхСтрокГТД.ВГраница() Цикл
надо было сделать еще
Код
КоличествоПартии=КоличествоПартии-НоваяЗапись.Количество;

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Евгений Шульц, добрый день, В коде ошибки нет. Рекомендуем проанализировать Регистр накопления "ГТД Партий товаров компании".
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
А как тогда объяснить первый скрин?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Разве вот такая ситуация невозможна?  
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Евгений Шульц, мы не оказываем консультации по измененной конфигурации.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Очень странный ответ.
Разве нам поставщик не может поставить товар с несколькими ГТД.
Если будет как у меня на скрине
то будет повторение ситуации. И без разницы измененная конфигурация или нет.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Евгений Шульц, уточните, пожалуйста, в чем у Вас ошибка?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
В партиях товаров ушло 15 000 а в Партии товаров отданные пришло только 12600. Где еще 2400?
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Цитата
Светлана Сулименко написал:
Евгений Шульц, добрый день, В коде ошибки нет. Рекомендуем проанализировать Регистр накопления "ГТД Партий товаров компании".
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Интересующийся
Вот
Вот такое поступление

Что тут не так?  
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Сотрудник 1С-Рарус
Евгений Шульц, на типовом релизе 5,1,27,04 указанная Вами ситуация не воспроизводится. Вышлите, пожалуйста, на почту alfa@rarus.ru полный порядок воспроизведения описываемой проблемы, возможно мы что-то неверно смотрим.
Ответить

Декоративное изображение Внимание! Данный форум является модерируемым. Для получения к нему доступа необходимо авторизоваться или зарегистрироваться на сайте.

Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С