Имя: Пароль:
1C
 
Внешняя обработка. Не определены переменные
0 Nst
 
24.04.17
10:42
&НаСервере
Процедура Команда1НаСервере()

Операция = Объект.ОперацияБух.ПолучитьОбъект();
Проводки = РегистрыБухгалтерии.Хозрасчетный.СоздатьНаборЗаписей();

Проводки.Отбор.Регистратор.Установить(СсылкаНаДокумент);
Проводки.Прочитать();

Для каждого Проводка из НаборЗаписей Цикл

Если Проводка.СчетКт = ПланыСчетов.Хозрасчетный.ПрочиеРасчетыСРазнымиДебиторамиИКредиторами  Тогда

Проводка.СубконтоКт[Проводка.СчетКт.ВидыСубконто] = Объект.ДоговорКонтрагента;

НаборЗаписей.СубконтоКт.Договоры = Объект.ДоговорКонтрагента;

КонецЕсли;
КонецЦикла;

Проводки.Записать();

КонецПроцедуры

Добрый день! Извините,пожалуйста, только начинаю изучать 1с.
Прошу помощи.

Пишет,что не определены переменные (СсылкаНаДокумент), (НаборЗаписей)перед словом Цикл и (НаборЗаписей)перед словом Субконто.

как их определить?
Спасибо
1 Lexey_
 
24.04.17
10:43
(0) откуда ты взял эти переменные?
2 lodger
 
24.04.17
10:49
ништячный код :)
ты свою первую бух.операцию с преферансом и куртизанками пишешь?
3 dezss
 
24.04.17
10:51
(0) Дело в том, что прежде чем использовать переменную, ее надо инициализировать. Например, ее можно явно объявить, тогда этот набор символов уже будет понят средой разработки как переменная. В 1с это не обязательно, при первом присваивании значения переменной, она объявляется.
У тебя же эта переменная сразу используется, объявления не было, отсюда и ошибки.
Вот тебе и надо разобраться где этим переменным должно быть присвоено значение.
4 dezss
 
24.04.17
10:54
Могу так же предположить, что в
Для каждого Проводка из НаборЗаписей Цикл
должно быть
Для каждого Проводка из Проводки Цикл

И откуда-то тебе надо брать СсылкаНаДокумент
5 lodger
 
24.04.17
11:14
а зачем Операция = Объект.ОперацияБух.ПолучитьОбъект();?
и тут мешанина:
Проводка.СубконтоКт[Проводка.СчетКт.ВидыСубконто] = Объект.ДоговорКонтрагента;

НаборЗаписей.СубконтоКт.Договоры = Объект.ДоговорКонтрагента;
6 AlvlSpb
 
24.04.17
11:21
После строки Операция = ....
СсылкаНаДокумент = Операция.Ссылка
НаборЗаписей везде поменять на Проводки
7 AlvlSpb
 
24.04.17
11:23
Не везде. Внутри цикла вместо НаборЗаписей - Проводка
8 lodger
 
24.04.17
11:25
(7) поменяет НаборЗаписей на Проводка и получится

Проводка.СубконтоКт[Проводка.СчетКт.ВидыСубконто] = Объект.ДоговорКонтрагента;
Проводка.СубконтоКт.Договоры = Объект.ДоговорКонтрагента;

смысл?
9 AlvlSpb
 
24.04.17
11:30
(8) а это уже дело автора. Кто его знает что там у него в движениях
10 zvial
 
24.04.17
11:34
(9) Судя по коду - бардак )
11 Nst
 
24.04.17
12:43
Спасибо большое, ребят.
Извините еще раз
теперь выводит ошибку:

{ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(22)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
Операция = Объект.ОперацияБух.ПолучитьОбъект();
по причине:
Элемент не выбран!
12 AlvlSpb
 
24.04.17
12:46
(11) наверное ОперацияБух это документ?
13 lodger
 
24.04.17
12:49
(11) вангую, что ОперацияБух должно быть выведено на форму, куда вы шалудивыми ручонками введете ссылку на документ.
14 AlvlSpb
 
24.04.17
13:07
(11) В вашем коде Операция = Об'ект.ОперацияБух. ПолучитьОбект ОперацияБух это какой-то реквизит формы где вы пишите код. Раз ругается, значит это не так. Где пишите код и что такое ОперацияБух?