8.1: УТ 10.3 "Установка типов цен по группам номенклатуры для покупателей" ОШИБКА!

Новая тема
"Столкнулся с проблемой не могу провести документ "Установка типов цен по группам номенклатуры для покупателей", выдает сообщение что "Найдены записи о типах цен для групп, которые уже действуют в выбранном периоде:" именно когда Вид операции "по номенклатурным группам"

хотя условия закрыты по дату формирования нового документа, вот модуль от 1С

Процедура ПроверитьПересекающиесяДокументы(Отказ, Заголовок)

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

   Запрос.УстановитьПараметр("ДокументСсылка", Ссылка);
   Запрос.УстановитьПараметр("ПустойТипЦен", Справочники.ТипыЦенНоменклатуры.ПустаяСсылка());
   Запрос.УстановитьПараметр("Дата", ДатаНачала);
   Запрос.УстановитьПараметр("Контрагент", Контрагент);

   Запрос.Текст = "
   |ВЫБРАТЬ РАЗЛИЧНЫЕ
   |    Док.НоменклатурнаяЦеноваяГруппа КАК Группа,
   |    РегТипыДляПокупателей.ТипЦен КАК ТипЦен,
   |    РегТипыДляПокупателей.Период КАК ДатаНачала,
   |    РегТипыДляПокупателей.Регистратор КАК Регистратор
   |ИЗ
   |    Документ.УстановкаТиповЦенПоГруппамНоменклатурыДляПокупател­ей.НоменклатурныеЦеновыеГруппы КАК Док
   |СОЕДИНЕНИЕ Справочник.Номенклатура КАК СпрНоменклатура
   |ПО Док.Ссылка = &ДокументСсылка
   |И (СпрНоменклатура.НоменклатурнаяГруппа = Док.НоменклатурнаяЦеноваяГруппа
   |ИЛИ СпрНоменклатура.ЦеноваяГруппа = Док.НоменклатурнаяЦеноваяГруппа)
   |СОЕДИНЕНИЕ РегистрСведений.ТипыЦенПоГруппамНоменклатурыДляПокупателей КАК РегТипыДляПокупателей
   |ПО (СпрНоменклатура.НоменклатурнаяГруппа = РегТипыДляПокупателей.НоменклатурнаяЦеноваяГруппа
   |ИЛИ СпрНоменклатура.ЦеноваяГруппа = РегТипыДляПокупателей.НоменклатурнаяЦеноваяГруппа)
   |И Контрагент = &Контрагент
   |УПОРЯДОЧИТЬ ПО Период Возр, Группа Возр, ТипЦен Убыв
   |";

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

   ТЗ.Колонки.Добавить("ДатаОкончания");
   ТЗ.ЗаполнитьЗначения('00010101' ,"ДатаОкончания");

   КоличествоСтрок = ТЗ.Количество() - 1;
   Для Тмп = 0 По КоличествоСтрок Цикл
       СтрокаТЗ = ТЗ[КоличествоСтрок - Тмп];

Если НЕ ЗначениеЗаполнено(СтрокаТЗ.ТипЦен) Тогда
Для Тмп1 = 0 По ТЗ.Количество() -1 Цикл
СтрокаПоиска = ТЗ[Тмп];

Если СтрокаПоиска.Группа = СтрокаТЗ.Группа
И НЕ ЗначениеЗаполнено(СтрокаПоиска.ДатаОкончания) Тогда
СтрокаПоиска.ДатаОкончания = СтрокаТЗ.ДатаНачала;
ТЗ.Удалить(СтрокаТЗ);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;

СтрокаДокументовПересечений = """";
Для Каждого СтрокаТЗ Из ТЗ Цикл
Если НЕ ЗначениеЗаполнено(ДатаОкончания) Тогда
Если СтрокаТЗ.ДатаОкончания > Дата Или НЕ ЗначениеЗаполнено(СтрокаТЗ.ДатаОкончания) Тогда
СтрокаДокументовПересечений = СтрокаДокументовПересечений + Символы.ПС + СтрокаТЗ.Группа +": " + СтрокаТЗ.Регистратор;
КонецЕсли;
Иначе
Если (ДатаНачала >= СтрокаТЗ.ДатаНачала И ДатаОкончания <= СтрокаТЗ.ДатаОкончания)
Или (ДатаНачала <= СтрокаТЗ.ДатаНачала И ДатаОкончания >= СтрокаТЗ.ДатаОкончания)
Или (ДатаНачала <= СтрокаТЗ.ДатаНачала И ДатаОкончания >= СтрокаТЗ.ДатаНачала)
Или (ДатаНачала <= СтрокаТЗ.ДатаОкончания И ДатаОкончания >= СтрокаТЗ.ДатаОкончания) Тогда
СтрокаДокументовПересечений = СтрокаДокументовПересечений + Символы.ПС + СтрокаТЗ.Группа +": " + СтрокаТЗ.Регистратор;
КонецЕсли;
КонецЕсли;
КонецЦикла;

Если НЕ ПустаяСтрока(СтрокаДокументовПересечений) Тогда
ОбщегоНазначения.СообщитьОбОшибке("Найдены записи о типах цен для групп, которые уже действуют в выбранном периоде:" + СтрокаДокументовПересечений, Отказ, Заголовок);
Отказ = Истина;
КонецЕсли;

КонецПроцедуры //ПроверитьПересекающиесяДокументы()

как мне думается, но пропустили цифру 1 или задумка от 1С?

...
КоличествоСтрок = ТЗ.Количество() - 1;
Для Тмп = 0 По КоличествоСтрок Цикл
СтрокаТЗ = ТЗ[КоличествоСтрок - Тмп];

Если НЕ ЗначениеЗаполнено(СтрокаТЗ.ТипЦен) Тогда
Для Тмп1 = 0 По ТЗ.Количество() -1 Цикл
СтрокаПоиска = ТЗ[Тмп1]; // RR 24.01.2010

Если СтрокаПоиска.Группа = СтрокаТЗ.Группа
И НЕ ЗначениеЗаполнено(СтрокаПоиска.ДатаОкончания) Тогда
СтрокаПоиска.ДатаОкончания = СтрокаТЗ.ДатаНачала;
ТЗ.Удалить(СтрокаТЗ);
Прервать;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЦикла;
...

СтрокаПоиска = ТЗ[Тмп1];

после такого тюнинга модуля все заработало. ошибка это или нет?

тестировалось на релизе "Управление торговлей", редакция 10.3 (10.3.9.4) "
Читают тему
(гостей: 1)

Быстрый переход