Официальный сайт студ.городка НГТУ
Программирование и БД » [1С need help] как указать счет в програмно созданном расходнике? 

#1  23.03.07 01:35

[1С need help] как указать счет в програмно созданном расходнике?

1С v7.7
Конфигурация: Комплексная конфигурация 4.5

Как указать счет в програмно созданном расходном кассовом ордере (РКО)?

В комплексной конфигурации, в модуле документа РКО на поле ввода "Счет" назначена вот такая процедура:

Код::

Процедура ПриИзмененииСчета()
	глПриВыбореБухСчета(Контекст);
КонецПроцедуры

Процедура "глПриВыбореБухСчета(Контекст)" находится в глобальном модуле:

Код::

Процедура глПриВыбореБухСчета(Конт, ОбновлятьПодписи = 1, ТолькоПодписи = 0) Экспорт
	Если (ОбновлятьПодписи = 1)
	   и (ТипЗначенияСтр(Конт.Счет) = "Счет") Тогда
		// установим заголовок (подпись) счета и субконто.
		Конт.Форма.ТекстСчет.Заголовок(Конт.Счет.Наименование);
		Для Номер = 1 По 3 Цикл
Конт.Форма.ПолучитьАтрибут("ТекстВидСубконто"+Номер).Заголовок(глПредставлениеВидаСубконто(Конт.Счет, Номер));
		КонецЦикла;
	КонецЕсли;
	Если ТолькоПодписи = 0 Тогда
		глУстановитьТипВидРеквизита(Конт, "Счет", "Счет");
		Для Номер = 1 По 3 Цикл
			глУстановитьТипВидРеквизита(Конт, "Субконто"+Номер, глПолучитьТипСубконто(Конт.Счет, Номер));
		КонецЦикла;
	КонецЕсли;
КонецПроцедуры

Реквизит шапки в РКО - "Счет" имеет неопределенный тип значения

Создаю програмно документ:

Код::

	
...
...
	РКО = СоздатьОбъект("Документ.РКО");
	РКО.Новый();
	РКО.ДатаДок = ДатаДок;
	РКО.Фирма = Спр.ТекущийЭлемент();
	РКО.Касса = СпрКасса.ТекущийЭлемент();
	РКО.ДвижениеДенежныхСредств = СпрДвижениеДС.ТекущийЭлемент();
	РКО.Валюта = СпрВалюта.ТекущийЭлемент();
	РКО.КодОперации = глКО.Прочее;
	
	

	РКО.Сумма = Уч1Сумма; 
	РКО.Записать();

Как мне указать счет програмно?
Написать что то типа:

Код::

РКО.Счет = [Значение];

Не работает :(

После счета, нужно будет указать ещё его субконто, надеюсь приблизительно одинаково он указывается

Надеюсь изложил проблему доступно
Заранее благодарен.

Исправлено gigobiZ (23.03.07 01:36)

Offline

#2  23.03.07 16:47

juf
Профиль

Re: [1С need help] как указать счет в програмно созданном расходнике?

Уже не помню, что там в комплексной намутила фирма 1С....

Смысл такой. Если на форме есть какой-либо реквизит с типом "Неопределенный", то для него выполняется метод
Форма.Счет.НазначитьТип("Счет");
или
Форма.Счет.НазначитьТип("Счет.Основной");
После этого ему можно присваивать значение
Счет = СчетПоКоду("62.1",Основной);

Это для модуля формы.


Для документа (конкретно в твоем случае) надо сделать так:
РКО.НазначитьТип("Счет","Счет");
или
РКО.НазначитьТип("Счет","Счет.Основной");
потом назначить ему значение
РКО.Счет = СчетПоКоду("60.1",Основной);

По субконто, тут хитрее надо :)

Пусть у тебя Реквизиты для субконто называются Субконто1,Субконто2,Субконто3
Тогда код будет таким:

РКО.НазначитьТип("Субконто1", СчетПоКоду("60.1",Основной).ВидСубконто(1));
РКО.НазначитьТип("Субконто2", СчетПоКоду("60.1",Основной).ВидСубконто(2));
РКО.НазначитьТип("Субконто3", СчетПоКоду("60.1",Основной).ВидСубконто(3));

Типы установлены. Теперь можешь присваивать :)

Offline

#3  23.03.07 22:30

Re: [1С need help] как указать счет в програмно созданном расходнике?

примерно так и думал что через НазначитьТип надо сделать, но как не знал толком
juf, спасибо огромнейшее, всё получилось как ты и описал :)

Исправлено gigobiZ (23.03.07 22:31)

Offline

#4  24.03.07 09:24

juf
Профиль

Re: [1С need help] как указать счет в програмно созданном расходнике?

Было бы за что :) Обращаяся, ежели что....

Offline

Программирование и БД » [1С need help] как указать счет в програмно созданном расходнике? 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.026 сек.
Выполнено 14 запросов.