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

Делаем обработку из Excel'я в 1с БП документов покупки и реализации

Автор надюшка, 01 мар 2011, 14:24

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

надюшка

НовДок = Документы.РеализацияТоваровУслуг.СоздатьДокумент();

НовДок.Дата = ТекущаяДата();
НовДок.УстановитьНовыйНомер();
НовДок.Контрагент = СтрокаТЗ.контрагент;


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


вытаскивание в табличную часть документа данных по номенклатуре (счета учета!!!) - как это осуществить???



так же необходимо занести в справочник ЕдИзмерения - у меня в программе это строка, в справочник Номенклатуры это должно быть элементом Справочники.КласификаторЕдиницИзмерения - как внести данные в справочник.


Вопросы могут быть глупые, но 1С - я вижу только неделю!!!

progmikon

Можно обратиться и через НовДок.Организация = Справочники.Организации.НайтиПоНаименованию("РогаИКопыта");
Можно например, через глЗначениеПеременной("ОсновнаяОрганизация").

Договор нужно брать исходя из контрагента.

progmikon

По поводу единиц измерения - ищите, например, по наименованию. Справочники.КлассификаторЕдиницИзмерения.НайтиПоНаименованию(...);

надюшка

по поводу ед.Измерений не подходит, потому как я сама создаю данную номенклатуру в справочнике и мне нужно туда занести единицуИзм

по контрагенту и его договору, я знаю контр агента, как мне вытащить его договор

progmikon

Если у вас бухгалтерия предприятия, то единицу измерения необходимо создать единожды. Например, добавляете в табличную часть документа номенклатуру, и смотрите, есть ли единица измерения с таким наименованием, если нет, создаете.

progmikon

а какой договор вы знаете? в базе на одного контрагента несколько договоров?

надюшка


progmikon

Вы знаете, думаю можно и как-то по проще, но я бы написал функцию:

Функция ПолучитьДоговорПоКонтрагенту(СсылкаНаКонтрагента)
Запрос = Новый Запрос("ВЫБРАТЬ
                      | ДоговорыКонтрагентов.Ссылка
                      |ИЗ
                      | Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
                      |ГДЕ
                      | ДоговорыКонтрагентов.Владелец = &Владелец
                      | И ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ");
Запрос.УстановитьПараметр("Владелец", СсылкаНаКонтрагента);
Выборка = Запрос.Выполнить().Выбрать();
ДоговорКонтрагента = Неопределено;
Если Выборка.Следующий() Тогда
ДоговорКонтрагента = Выборка.Ссылка;
КонецЕсли;
Возврат ДоговорКонтрагента;
КонецФункции

и обращался бы из кода

progmikon

Вспомнил... у справочника контрагенты есть реквизит "ОсновнойДоговорКонтрагента". Можно через него.

Контрагент.ОсновнойДоговорКонтрагента

Вот так будет проще. При условии, конечно, что он заполнен.

Klyacksa

Если договор один на каждого Контрагента, то вместо варианта с запросом можно использовать функцию Выбрать справочника:
ДоговораВыборка=Справочники.ДоговорыКонтрагентов.Выбрать(,КонтрагентССылка);
Если ДоговораВыборка.Следующий() тогда
ДоговорКонтрагента=ДоговораВыборка.Ссылка;
        Иначе
                <<здесь можно создать договор, если вдруг ни одного договора у Контрагента нет>>
КонецЕсли;


Ну или реквизит "ОсновнойДоговорКонтрагента" справочника "Контрагенты".
Только вот я не уверена, что это свойство обязательно заполнено. Нужно проверить, можно ли ввести Контрагенту договор, и при этом не выбрать его основным.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

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

Теги:

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

Рейтинг@Mail.ru

Поиск