Имя: Пароль:
1C
1С v8
Исчезают движения при повторном проведении
0 егаис
 
26.02.13
19:15
Не соображу. Создал новый документ в 8-ке.
По движениям:Проведение разрешить, Оперативное запретить, Удаление движений - не удалять.
Кусочек кода
   ДатаДока = Дата;
   Проводки = Движения.Хозрасчетный;
   Проводки.Записывать = Истина;
   
   ТаблицаОбъектов = НоменклатурныеГруппы.Выгрузить();
   ОбщийКоэффициентРаспределения = ТаблицаОбъектов.Итог("КоэффициентРаспределения");
   КоличествоОбъектов = ТаблицаОбъектов.Количество();

   Запрос = Новый Запрос;
   Запрос.Текст =
       "ВЫБРАТЬ
       |    СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток,
       |    ХозрасчетныйОстатки.Подразделение,
       |    ХозрасчетныйОстатки.Субконто2
       |ИЗ
       |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет20, , Субконто1 = &Объект) КАК ХозрасчетныйОстатки
       |
       |СГРУППИРОВАТЬ ПО
       |    ХозрасчетныйОстатки.Субконто2,
       |    ХозрасчетныйОстатки.Подразделение";

   Запрос.УстановитьПараметр("Дата", КонецДня(Дата));
   Запрос.УстановитьПараметр("Объект", ОбъектРаспределения);
   Запрос.УстановитьПараметр("Счет20", ПланыСчетов.Хозрасчетный.ОсновноеПроизводство);

   Результат = Запрос.Выполнить();
   ВыборкаДетальныеЗаписи = Результат.Выбрать();

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

По какой причине движения формируются через раз? Т.е. провели - есть проводки, повторно провели - исчезают. Спасибо
1 Жан Пердежон
 
26.02.13
19:18
Удаление движений - не удалять
2 Жан Пердежон
 
26.02.13
19:18
остатков при повторном проведении нет
3 Лодырь
 
26.02.13
19:18
1. Есть остатки
2. провели документ, остатки исчезли
3. начали перепроводить документ, остатков то нет, нет проводок - появились остатки.
4. провели документ остатки исчезли
и так далее
4 егаис
 
26.02.13
19:20
(2), (3) угумс, тупанул. Спасибо.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.