Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 23:47

УЧИМСЯ программировать! ПОМОГИТЕ!!!!

Автор надюшка, 05 мар 2011, 12:07

0 Пользователей и 1 гость просматривают эту тему.

надюшка

 ui;;t;Пол года работы консультантом 1С закончились тем что мне дали задачи сделать обработку выгрузки данных из Excel-я в 1С. Языка и навыков программирования очень мало, когда-то года 3 назад было маленькое знакомства с 1С кодом. Поэтому выдаю ряд вопросов с которыми столкнулась при написании обработки.

Помогите пожалуйста!!!! :lol:

1. Во внешней обработке создаю, заполняю и провожу документ Поступление товаров и услуг
 
НовДок = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();

НовДок.Записать(РежимЗаписиДокумента.Проведение);


на основе этого документа нужно создать счет фактуру и ее провести

2. При не котором условии я не могу все данные в форму завести програмно, поэтому нужно чтоб форма была открыта и выдано сообщение для заполнение данных полей пользователем. Как видно форму я не получаю. Как провести данную операцию???
после Документы.ПоступлениеТоваровУслуг.ПолучитьФорму() - как проводиться запись данных в эту форму???

progmikon

Так все сумбурно :). Отвечу, как понял ваш вопрос: проверить, заполнен ли реквизит можно так:

Если НЕ ЗначениеЗаполнено(НовДокумент.Реквизит1) Тогда
Сообщить("Не заполнен реквизит 1");
КонецЕсли;

Надо сказать, что без заполнения ряда реквизитов, документ попросту не проведется.

Открыть форму можно так:

Форма = НовДокумент.ПолучитьФорму("Форма");
Форма.Открыть();

надюшка

Реквизит заполнен, ИНН в базе есть!!!
Просто ответ на строку кода - пустая ссылка, поэтому скорее всего где-то проблема именно с кодом!!! - только где??

Как получить форму и ее открыть я знаю, а вот как заполнить реквизиты в открытой форме программно??

Форма.Дата = ???

Klyacksa

Цитироватьна основе этого документа нужно создать счет фактуру и ее провести
Ну как. Создаем док. счет-фактура так же, как и ПТУ, заполняем (хоть данными из НовДок, хоть какими-то другими), и проводим :)
Все аналогично, как в п1. у тебя написано.
Цитировать2. При не котором условии я не могу все данные в форму завести програмно, поэтому нужно чтоб форма была открыта и выдано сообщение для заполнение данных полей пользователем. Как видно форму я не получаю. Как провести данную операцию???
после Документы.ПоступлениеТоваровУслуг.ПолучитьФорму() - как проводиться запись данных в эту форму???
Структура получается такая:
НовДок = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
<<заполняем нужные данные>>
Если <<выполняется условие, и нужно открыть форму на заполнение>> тогда
      Сообщить("Заполните недостающие данные");
      НовДок.ПолучитьФорму().Открыть();
КонецЕсли;
НовДок.Записать(РежимЗаписиДокумента.Проведение);
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Klyacksa

ЦитироватьКак получить форму и ее открыть я знаю, а вот как заполнить реквизиты в открытой форме программно??
Нужно не у формы реквизиты заполнять, а у объекта. То есть, вы создали док. НовДок, вот у него и заполняйте НовДок.Дата=...
А потом открывайте форму
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

надюшка

3. как найти сумму по документу если данные у меня заносятся по циклу

Для каждого Строка из Таблица Цикл

Если Счет<> NСчет Тогда

попытка проведения
Создание документа и заполнение шапки

КонецЕсли

Формирование табличной части

КонецЦикла

Проведение документа

progmikon

Получить можно так:

НовДок.ТабличнаяЧасть1.Итог("Сумма") + НовДок.ТабличнаяЧасть2.Итог("Сумма");

надюшка


надюшка

Вскрылась интересная ошибка:

СчетФактура.ДокументОснование = НовДок;

где НовДок документ ПоступлениеТоваровУслуг, который я создаю ранее и провожу.

Счет фактура заполняется и проводиться замечательно, но вот бухгалтер заходит в данный документ и обнаруживает, что счетфактура (проведенная) без обязательного реквизита - документ основание!!!

как такое исправить???

progmikon

Если мне не изменяет память, документыОснования нужно писать в тч


НС = ДокументСчетФактура.ДокументыОснования.Добавить();
НС.ДокументОснование = ДокументПоступление;

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск