Имя: Пароль:
1C
 
Передача операций в 1с
0 lemb
 
11.11.07
16:09
Здравствуйте.
Опять вот понадобилось с 1с поработать (в7.7, бюджет).
Требуется из текстового файла принять операции (у операции одна проводка). Делаю так:
  ..  // открываем текстовик, проверяем наличие записей, далее:
  Операция = СоздатьОбъект("Операция");  
  Фирма = СоздатьОбъект("Справочник.Фирмы");  
  СчетДб  = СоздатьОбъект("Счет.ЕПСБУ");    
  СчетКр  = СоздатьОбъект("Счет.ЕПСБУ");  
  Для Ном = 1 По Журнал6.КоличествоСтрок() Цикл // по тестовику
   Операция.Новая();  
   Операция.НоваяПроводка();
       Операция.ДатаОперации = чему-надо ;
       Операция.Содержание = чему-надо ;
   Операция.СуммаОперации =  чему-надо ;  
   Операция.Сумма =  чему-надо ;
       // Ищем по коду счета дебета и кредита
       Операция.Дебет.Счет = СчетДб.ТекущийСчет();
       ..... // Теперь вопрос
   Фирма.НайтиПоКоду(КодФирмы,0) ;
     Если Фирма.Выбран() = 1 Тогда  
     Операция.Учреждение = Фирма.ТекущийЭлемент();
     Сообщить(СтрЖурнал6+" "+Фирма.Наименование); // Находится
   Иначе
     Сообщить("Нет такого подразделения!")
   КонецЕсли;                              
       Операция.Записать() ;
  КонецЦикла;
Далее смотрю журнал "операции, введенные вручную" - операция есть, дата, сумма, содержание у ней есть, проводка с суммой и счетами есть а учреждения нет. Что я делаю не так, и как надо ? Или какую-нибудь обработку дайте посмотреть, которая делает как надо.
P.S. Ногами просьба сильно не пинать, с 1с я общаюсь по полдня раз в полгода.
P.P.S. Фотка выкладывалась, когда вопросы задавала прошлый или позапрошлый раз. Новой пока нету.
С уважением, Марина
1 SnarkHunter
 
11.11.07
16:14
У субконто Учреждение какой тип?
2 lemb
 
11.11.07
16:23
В видах Субконто Учреждение не фигурирует. В реквиэите проводки Учреждению соответствует тип значения: Справочник.Фирмы
Или я вопрос не поняла ?
Марина
3 DimG
 
11.11.07
16:47
Мож пустой элемент находится? Напиши Сообщить(СтрЖурнал6+" "+Фирма.Наименование+" "+Операция.Учреждение.Выбран());
4 lemb
 
11.11.07
17:32
К наименованию добавилась 1. Т.е. Операция.Учреждение.Выбран() = 1
И что ?
Марина
5 SnarkHunter
 
11.11.07
17:37
(4)Значит проблема с журналом...
6 lemb
 
11.11.07
17:39
А поподробней, для блондинок :)
Марина
7 lemb
 
11.11.07
19:03
И что? Никто не знает?
Марина
8 КонецЦикла
 
11.11.07
19:25
Марина - what is it?
9 NS
 
11.11.07
19:29
Операция.Документ.ВыбраннаяФирма = СпрФирмы.ТекущийЭлемент();
10 lemb
 
11.11.07
19:40
(9) СПАСИБО !!!
Еще бы понять, почему так.
Марина
11 NS
 
11.11.07
19:59
Нужно прописывать и в проводке, и в окументе.
В документе это общий реквизит - например для отображения в журналах и т.д.
В проводках это реквизит проводки - например разделитель учета.
12 lemb
 
11.11.07
20:13
(11) Т.е., тогда может правильно работать не с объектом "Операция", а "Документ.Операция" ? Я полагала, что "Документ.Операция" создается как бы на автомате (да вроде так и есть) при создании Операции.
С уважением, Марина
13 NS
 
11.11.07
20:20
"Документ.Операция" создается автоматом. Но реквизиты его автоматом же проставиться не могут...
Правильней работать с объектом "Операция", но реквизиты документа заполнять через Операция.Документ
14 NS
 
11.11.07
20:20
Реквизиты.
15 lemb
 
11.11.07
20:45
(13),(14) Т.е. когда я создаю операцию: Операция.Новая(), чтобы заполнить проводку мне надо вызвать метод Операция.НоваяПроводка(), а Операция.Документ.Новый() не надо ? Вопрос, видимо, риторический - так как документ в журнале виден и Учреждение появилось.
Еще раз спасибо.
Марина
16 NS
 
11.11.07
20:47
Операция.Документ.Новый() не нужно, так как документ.операция создается автоматом.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший