Книга продаж, Комплексная 7.7
08.09.2008
10:10
#1
"Вот как вы считаете, это нормальное построение алгоритма?
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Регистр.КакойТоРегистр.Товар=Товар;
Регистр.КакойТоРегистр.Количество=Количество;
Регистр.КакойТоРегистр.ДвижениеПриходВыполнить();
Регистр.КакойТоРегистр.Сумма=Сумма;
КонецЦикла;
Обратите внимание на взаимное расположение ДвижениеПриходВыполнить и КакойТоРегистр.Сумма=Сумма.
А теперь смотрим в комплексную конфигурацию (7.70.484) в модуль проведения документа КнигаПокупок, процедура ПроведениеПоПоступлению():
Пока Запрос.Группировка("ДокументОплаты")=1 Цикл
...
Регистр.КнигаПокупок.ДвижениеПриходВыполнить();
Если (Регистр.КнигаПокупок.СуммаРуб<0) И (ДатаДок>=НачМесяца(глДатаПостановления283)) Тогда
Регистр.КнигаПокупок.ЗаписьДополнительногоЛиста=1;
Регистр.КнигаПокупок.КорректируемыйПериод=Запрос.КредДокумент.ДатаДок;
Иначе
Регистр.КнигаПокупок.ЗаписьДополнительногоЛиста=0;
Регистр.КнигаПокупок.КорректируемыйПериод=Дата(0);
КонецЕсли;
КонецЦикла;
То есть, знчения пары реквизитов устанавливаются уже после того как прошла команда на запись движения в регистр. с учтетом того, что работа идет в цикле, установленные значения попадают в следующее движение, которое фиксируется в базе при следующем проходе. Короче, в книге покупок в старые периоды в виде доп.листов улетели записи, которые должны быть в текущем в нормальном порядке! Каша получилась, причем несъедобная. Посмотрел на алгоритм древних конфигураций... и в 7.70.479 было тоже самое. Я не пойму!? Может я что то не понимаю? Как такие грабли могли просуществовать в конфигурации минимум 5 релизов?"
ВыбратьСтроки();
Пока ПолучитьСтроку()=1 Цикл
Регистр.КакойТоРегистр.Товар=Товар;
Регистр.КакойТоРегистр.Количество=Количество;
Регистр.КакойТоРегистр.ДвижениеПриходВыполнить();
Регистр.КакойТоРегистр.Сумма=Сумма;
КонецЦикла;
Обратите внимание на взаимное расположение ДвижениеПриходВыполнить и КакойТоРегистр.Сумма=Сумма.
А теперь смотрим в комплексную конфигурацию (7.70.484) в модуль проведения документа КнигаПокупок, процедура ПроведениеПоПоступлению():
Пока Запрос.Группировка("ДокументОплаты")=1 Цикл
...
Регистр.КнигаПокупок.ДвижениеПриходВыполнить();
Если (Регистр.КнигаПокупок.СуммаРуб<0) И (ДатаДок>=НачМесяца(глДатаПостановления283)) Тогда
Регистр.КнигаПокупок.ЗаписьДополнительногоЛиста=1;
Регистр.КнигаПокупок.КорректируемыйПериод=Запрос.КредДокумент.ДатаДок;
Иначе
Регистр.КнигаПокупок.ЗаписьДополнительногоЛиста=0;
Регистр.КнигаПокупок.КорректируемыйПериод=Дата(0);
КонецЕсли;
КонецЦикла;
То есть, знчения пары реквизитов устанавливаются уже после того как прошла команда на запись движения в регистр. с учтетом того, что работа идет в цикле, установленные значения попадают в следующее движение, которое фиксируется в базе при следующем проходе. Короче, в книге покупок в старые периоды в виде доп.листов улетели записи, которые должны быть в текущем в нормальном порядке! Каша получилась, причем несъедобная. Посмотрел на алгоритм древних конфигураций... и в 7.70.479 было тоже самое. Я не пойму!? Может я что то не понимаю? Как такие грабли могли просуществовать в конфигурации минимум 5 релизов?"
1С 8.1 УТ Обязательные полня в Док-те "реализация товаров и услуг"Формирование книги покупок в комплексной 7.7
Читают тему
(гостей: 1)