Имя: Пароль:
1C
1С v8
v8: Ввод на основании - как сделать проверку
0 server
 
17.08.11
15:41
Есть документ (заказ), при нажатии "ввод на основании" создаётся новый документ (продажа). Как сделать так что если уже вводился документ на основании, то открывать его, а не создавать вечно новый документ, а ещё лучше чтобы в форме исходного документа (заказа) было видно основание если оно создано
1 Scooter
 
17.08.11
15:47
(0)а что не понятно как открыть форму дока?
или как в форме док. основание показать?
2 Михаил Козлов
 
17.08.11
15:50
Если в заказ добавили товар (пометили на удаление/распровели старую реализацию), то что нужно делать в таких ситуациях?
Для того, чтобы увидеть, есть ли РН на основании заказа можно использовать структуру подчиненности.
Для анализа заказа (отгружен/оплачен и пр.) есть отчет "Анализ заказа".
Если заказ отгружен полностью, то новая РН будет с пустой таб. частью. Даже если ее провести, ничего страшного не случится.
3 Сергиус
 
17.08.11
16:11
(0)Ты это хочешь штатными методами сделать или поколдовать немного?))

Если поколдовать..то в ОбработкеЗаполнения документа РеализацииТоваров можно смотреть..есть ли на складе остатки по заказу..Если есть то их и выводить в форме документа, если нет, то извините..ничего не будет(можно какое-ть сообщение выводить)
4 Сергиус
 
17.08.11
16:14
+(3)ну а существующую реализацию можно искать по Основанию, которое передается в данный обработчик.. Если нашли, то ее можно и открывать.. но остатки при этом тож надо учитывать..вдруг из 5 заказных позиции реализовано было всего лишь 3..т.е. по идее тогда две формы должно вылазить..одна с данными уже проведенного документа, а вторая с теми позициями, которые еще не были реализованы
5 server
 
17.08.11
16:28
Остатки проверять не нужно, позиции заказа полностью совпадают с продажей один в один, просто каждый раз когда нажимается "ввести на основании" создается новый документ, занимает порядковый номер, вот хочу этого избежать, получается по одному основанию много левых продаж, которые потом приходится искать и удалять. А требуется сделать чтобы у каждого основания было не более одного документа, вот как это проверить при создании и чтобы номер не занимался не понятно.
6 Aleksey
 
17.08.11
16:30
В типовой бухии так реализовано в связки  реализация-счетфактура
7 Сергиус
 
17.08.11
16:35
(5) ну тогда тебе надо приписать небольшую проверочку в ОбработкеЗаполнения документа РеализацияТоваров..

Если ЗначениеЗаполнено(Основание) И ТипЗнч(Основание) = Тип("ДокументСсылка.ЗаказПокупателя") Тогда

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

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

КонецЕсли;
8 Hans
 
17.08.11
18:17
лучше перед открытием формы, т.к в обработке заполнения не возможно отказаться от открытия документа и будут открываться два.
Закон Брукера: Даже маленькая практика стоит большой теории.