Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
18 Ноя 2018, 07:36
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Ввод на основании документа "док1" другого документа.  (Прочитано 7387 раз)

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

Оффлайн GalaGajka

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-05-22
  • Сайт: 
Ребят, помогите новичку пожалуйста. задача - "на основании одного конкретного документа 1 можно создать только один документ 2. При попытке второй раз использовать в качестве основания документ 1 должно выдаваться сообщение, что документ уже использовался. Сделать сказали без использования флажков, следовательно возник вопрос. В каком атрибуте д1 хранится инфа о его использовании в кач-ве основания или может быть о наличии документа, введенного на основании д1? :trhregerhg:


Slin
  • Гость
Пусть Д1 - документ-основание, а Д2 - документ, вводимый на основании
у Д2 создаем реквизит "Основание" типа ДокументСсылка.Д1 - в нем будет храниться ссылка на документ-основание
При вводе на основании в модуле объекта Д2 вызывается обработчик "ОбработкаЗаполнения" с параметром "Основание", которые и есть ссылка на документ-основание.
// ищем документы, введенные на основании.

Запрос = Новый Запрос;

Запрос.Текст =
"ВЫБРАТЬ
| Д2.Ссылка
|ИЗ
| Документ.Д2 КАК Д2
|ГДЕ
| Д2.Основание = &Основание";

Запрос.УстановитьПараметр("Основание", Основание);

Если Не Запрос.Выполнить().Пустой() Тогда
    Предупреждение("Документ уже вводился на основании");
    Возврат;
КонецЕсли;

// если нет таких документов, присваиваем реквизиту значение.


ЭтотОбъект.Основание = Основание;

// заполняем остальные реквизиты

упс... написал для 8  :nhsrm:

Оффлайн GalaGajka

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-05-22
  • Сайт: 
Привет, спасибо тебе) я только не поняла. у меня приобретениеОс и ВводВЭксплуатациюОС. там где "д2.Ссылка" будет "ввод.приобретение"? а обработчик "ОбработкаЗаполнения" будет "Процедура "ОбработкаЗаполнения(Основание)"? а Документ.Д2 будет "Документ.Ввод"? а ЭтотОбъект - это так и есть "ЭтотОбъект"? а у ВводВЭксплуатацию реквизит в шапке будет? Извини что вопросами достала :nhsrm:

Оффлайн GalaGajka

  • *
  • Сообщений: 3
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2010-05-22
  • Сайт: 

Slin
  • Гость
У семерки принцип будет такой же, но конкретный код конечно другим
К сожалению, я не настолько знаю семерку, чтобы расписать тебе

Оффлайн Tatitutu

Используй это:
ВыбратьПодчиненныеДокументы(<?>,,)
Синтаксис:
ВыбратьПодчиненныеДокументы(<Дата1>,<Дата2>,<Докум>)
Назначение:
Открыть выборку документов, подчиненных заданному, в интервале дат.
Возвращает:
1 - если действие выполнено и в выборке есть хотя бы один документ;
0 - если действие не выполнено или в выборке нет ни одного документа.
Параметры:
<Дата1> - дата, документ или позиция начала выборки документов. Если данный параметр опущен, то выборка начинается с самого первого существующего в системе документа.
<Дата2> - дата, документ или позиция конца выборки документов. Если данный параметр опущен, то выборка заканчивается самым последним существующим в системе документом.
<Докум> - документ, подчиненные которому будут включаться в выборку.
Замечание:
Метод  можно использовать только для объектов, созданных функцией СоздатьОбъект.

т.е. выбираешь документ и проверяешь, если у него уже есть подчиненные документы - тогда вводить на основание его уже нельзя иначе вводим новый докумет. Как то так.

*  MAGAZKA - лучшая программа для розничного магазина (с) *


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
69 Сообщений
AIFrame AIFrame
60 Сообщений
wise wise
51 Сообщений
alex0402
46 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
46 Сообщений
alexandr_ll
45 Сообщений
BuhRust
27 Сообщений
andron81_81
24 Сообщений
LexaK
22 Сообщений
byte777
21 Сообщений

* Кто онлайн

  • Точка Гостей: 147
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal