Имя: Пароль:
1C
1C 7.7
v7: Программное проведение
0 Gangar
 
10.10.13
17:05
Доброго дня.
Имеется - 1С Бухгалтерия для Украины 7.70.297
В ней документ - Банковская выписка.
Есть обработка переноса документов из Торговли в Бухгалтерия.
Код проведения и записи документа вот такой:
    
    Текст.Открыть(ИмяФайлаВыгрузки);
    Для К = 1 По Текст.КоличествоСтрок() Цикл
        Стр = Текст.ПолучитьСтроку(К);
        СЗ.ИзСтрокиСРазделителями(Стр);        
        Вид         = СЗ.ПолучитьЗначение(3);
                ......//Лишнее вырезано        
        Док = СоздатьОбъект("Документ."+Вид+"");                
        Док.Новый();
                ......//Лишнее вырезано            
        Док.Записать();
        Док.Провести();
        Сообщить("Записан и проведен докумен "+Док.Вид()+" с номером "+Док.НомерДок+" от "+Док.ДатаДок+".");
    КонецЦикла;


Так вот, программно проведенный счет отображается в журналах, в реестрах, но не отображается в Банковской выписке, пока я не проведу его вручную.

Подскажите, где копать?
1 Allexe
 
10.10.13
17:07
(0) В форме документа? При программном проведении не заполняются какие-то реквизиты? Проверь отладчиком что влияет на отображение в выписке
2 Rie
 
10.10.13
17:10
(0) Какой-то из реквизитов не заполнен или неверно заполнен.
При "ручном" проведении - предварительно идёт запись, и ПриЗаписи этот реквизит заполняется.
3 Gangar
 
10.10.13
17:23
Реквизиты не меняются.
http://s003.radikal.ru/i204/1310/b5/584f87907704.jpg
4 viktor_vv
 
10.10.13
17:43
(3) При создании счета програмно реквизит "        ОтборЗаказаКонтрагент " заполняется?
5 viktor_vv
 
10.10.13
17:45
(4)+ Там в ПРиЗаписи() строка есть

    ОтборЗаказаКонтрагент = ?(Заказ.Выбран() = 0, Контрагент, 0);

вот по этому реквизиту и происходит отбор документов контрагента при выборе в выписке из журнала "ОтборЗаказов".
6 viktor_vv
 
10.10.13
17:46
(5) "Заказ" - это договор выбранный в Счете.
7 viktor_vv
 
10.10.13
17:47
(5)+ Хотя по товему примеру он и при интерактивной записи не должен был отбираться. Скорее всего в ПриЗаписи() изменили, чтобы в реквизит отбора всегда писался контрагент.
8 viktor_vv
 
10.10.13
17:55
(7) Это я прогнал слегка :). Как раз-то при не выбранном Договоре и заполняется реквизит отбора контрагентом из самого счета.
Если договор выбран, то в отбор заказов счет не включается.
9 Gangar
 
10.10.13
18:00
(8) Оказалось немного страннее
в журнале Отбор заказов было УстановитьОтбор("ЗаказыКонтрагентов",Контрагент).
Поменл на "Контагент" и все заработало.
10 viktor_vv
 
10.10.13
18:04
(9) Ничего странного. Посмотри состав графы отбора "ЗаказыКонтрагентов" и "Контрагент". Там разные реквизиты из счета включены.
ИМХО лучше сделать так, как в ПриЗаписи сделано.
11 viktor_vv
 
10.10.13
18:05
(10)+ Потом накатишь обновление и опять будешь вспоминать, че оно так странно работает.
12 viktor_vv
 
10.10.13
18:07
(10) Имел ввиду изменить код обработки по загрузке, добавив заполнение реквизита Счета "ОтборЗаказаКонтрагент", вместо изменения кода в журнале отборов.
13 Gangar
 
10.10.13
18:11
(12) Уже добавил, спасибо за помощь!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.