Имя: Пароль:
1C
1С v8
Как при создании документа определить из какого журнала он создавался?
,
0 Cerera
 
01.02.13
09:11
Мне нужно, чтобы у меня был отдельный журнал, куда попадали бы документы ЗапазПокупателя с определённым значением реквизита. Так же мне нужно, чтобы создав документ из этого журнала, мы могли в модуле документа определить, что он создан именно из этого журнала? это чтоб при создании запихнуть значение в реквизит нужно но как определить что именно из этого журнала? или мне надо свою панель нарисовать с кнопками?
1 cw014
 
01.02.13
09:19
Платформа какая?
2 Нуф-Нуф
 
01.02.13
09:21
имхо бизнес-логика страдает на обе ноги
3 Cerera
 
01.02.13
09:24
(1)8.2 обычная. не управляемые формы.
(2)ваши предположения могут страдать на обе ноги. в данном случае так нужно. это же элементарно. через один журнал создаются документы с одним видом операции. через другой - с другим. так даже в ТИС было
4 Cerera
 
01.02.13
09:35
не. ну неужели никто не знает. ФормаРодитель же должна гдето указываться.
5 PuhUfa
 
01.02.13
09:44
(4) у формы есть Владелец, но в твоем случае владельцом будет табличная часть журнала, а не сам журнал. Можно конечно извращаться, но...
6 MaxS
 
01.02.13
09:44
В форме списка докментов есть такое понятие как отбор. Можно копать туда. Считывать какой отбор в форме и принимать решение что делать с документом.
7 Мимохожий Однако
 
01.02.13
09:47
Документ создается не из журнала, а сам по себе. Журнал только один из вариантов отображения списка документов.
8 Serg_1960
 
01.02.13
09:52
(6) Если автор из модуля документа сумеет выкрутиться и добраться до значений отбора этого(!) журнала.Сильно сомневаюсь, однако.

"мы могли в модуле документа определить" - глупости это всё(имхо). Но если нельзя, но очень хочется - создай "флаг" по которому будешь ориентироваться на местности. И если делать "это", то не в "модуле документа", а в основной форме объекта при открытии.
9 cw014
 
01.02.13
09:54
ОбработкаЗаполнения(ДанныеЗаполнения)

Где "ДанныеЗаполнение" - документ-основание, если документ вводится на основании или структура отбора, если документ создается из журнала с отбором
10 Cerera
 
01.02.13
09:54
(8)а вот как ориентироваться на местности то?
11 Cerera
 
01.02.13
09:55
(9)другое дело!
12 Maxus43
 
01.02.13
09:55
(2) + 1
(3) это 7-шные подходы, они давно отмерли в 8-ке, тут делают по другому, о чем в предыдущих ветках тебе почти каждый говорил
13 Cerera
 
01.02.13
09:56
(12)сдаюсь. начал делать отдельный вид документа (( слишком много гемора просто сейчас получу. придется в коде типовой рыться.
14 mih_io
 
01.02.13
09:57
У элемента формы типа СписокДокументов есть предопределенный метод "ПередНачаломДобавления". Он отрабатывает, когда ты нажимаешь на кнопку создать новый документ. Юзай его. Делаешь СтандартнуюОбработку = Ложь. Создаешь нужный документ сам, присваиваешь нужный реквизит где надо сам и открываешь форму нового документа.
15 Cerera
 
01.02.13
09:57
(14)ооо. вот это как раз то что надо. решение проблемы
16 Maxus43
 
01.02.13
09:58
(15) это ты щас будешь косиыли 7-ки переводить на 8-ку. в Итоге гемора будет больше, чем если делать по образу и подобию типовых
17 Cerera
 
01.02.13
10:02
(16)придется отдельным видом документа делать. чтобы всё по понятиям было. просто хотел избежать гемора при переписании кода.
18 Maxus43
 
01.02.13
10:03
(17) твой документ ничего не двигает, является только основанием. Где там переписание масштабное? всё норм
19 Cerera
 
01.02.13
10:06
(18)не двигает это да. но в нём большое количество функционала - бизнес процессы, рассчет цены. в этом геморик есть. придется в коде менять название ЗаказПокупателя на ЗаказПокупателяСводный
20 Cerera
 
01.02.13
10:07
(18)спасибо что убедили делать отдельным документом.
21 Maxus43
 
01.02.13
10:07
(20) не ради тебя, ради всех 1сников кто потом ЭТО будет сопровождать)
22 mih_io
 
01.02.13
10:08
Создаешь новую форму списка у этого документа, при открытии встраиваешь отбор на нужный тебе реквизит и делаешь, чтобы его нельзя было изменить и когда создаешь новый документ из этого списва, вставляешь нужное значение в новый документ по умолчанию.

А поддерживать потом изменения в обоих документах, это конечно не гемор ) хех
23 Maxus43
 
01.02.13
10:09
(22) 7-шник?
короче автор - делай сувалку. Делать ли 2-й док. Пусть решит демократия
24 Cerera
 
01.02.13
10:11
(23)не знаю как ) а вообще можешь в двух словах пояснить почему восьмерка не приветствует подход из (22) ?
25 Мимохожий Однако
 
01.02.13
10:14
Вместо дополнительного документа можно сделать внешнюю обработку, в которой собираются нужные документы с нужным отбором с нужным функционалом.
26 Cerera
 
01.02.13
10:16
(25)почему обязательно внешнюю? ну там просто суть в том что менеджер должен набивать заявку в одном документе а потом автоматически будут создаваться несколько документов с разбивкой по юр лицам. но для пользователя это должно быть незаметно.
27 Maxus43
 
01.02.13
10:18
(24) опираться на данные отбора, подменять формы документов в зависимости от реквизита - ничего этого нет в реальных системах. Я бы даже не документ новый наверно делал, а Вид Операции документа. в зависимости от операции - разный внешний вид документа, что уже везде реализовано. В общем подход - логика работы опирается на данные, а не на то какую форму открыл юзер. Моё сугубое ИМХО
28 Cerera
 
01.02.13
10:22
(27)ну вообще я отчасти так и задумал - в зависимости от вида операции менять внешний вид документа, только посредством выбора формы )) чтоб с код отделить друг от друга. Но всё же сейчас думаю отдельный документ сделать. и чтобы они жили отдельной жизнью независимой.
29 Maxus43
 
01.02.13
10:23
(28) это лучше в точки зрения обновления например, если док типовой тот
30 mih_io
 
01.02.13
10:27
(27) наглядный пример. Есть счета покупателей, в списке счетов покупателей они идут скопом. Довольно часто клиенты просят видеть все счета одного контрагента у него в справочнике, на новой закладке-счета. Специалистам отдела продаж, обычно, удобней найти в справочнике нужного контрагента и зайдя в него, на закладке счета посмотреть все его счета. И при этом нажав там на добавить новый счет хотят, чтобы по умолчанию в новом счете вставал контрагент из под которого мы нажимали добавить.

Это я к тому, что странно всю эту логику считать семершной и ненужной.
31 Maxus43
 
01.02.13
10:31
(30) это другая ситуация, вполне стандратная. Это начальное заполнение справочника на основании отбора. В (0) речь совершенно о другом, меняется бизнес логика документа, причем довольно странным способом. В документах тут подход - Вид Операции документа, или новый. Сам я уже больше к виду операций сколняюсь, но тут вопрос об обновлениях последующих и т.д. надо просто выбрать вариант
32 Maxus43
 
01.02.13
10:33
(30) + это в 8-ке на уровне платформы вобще уже, первоначальное заполнение новых
33 НафНаф
 
01.02.13
10:35
(3) >>через один журнал создаются документы с одним видом операции. через другой - с другим

ну вот сам и ответил, по виду операции
34 Cerera
 
01.02.13
10:35
(31)а обновляться документы эти не будут. они сто раз переписанные. и если что и поменяется, то только печатные формы или доп. реквизиты. в в типовую бухгалтерию все равно заказы не выгружаются. это чисто для внутреннего документооборота они поэтому не страшно изменений.
35 Maxus43
 
01.02.13
10:38
(33) сначала думал что оптимальней новый документ по одной причине - На основании его будут делаться обычнве доки, и боюсь будет каша. Документы то однотипные. Разделив на разные доки - более прозрачно будет
36 Serg_1960
 
01.02.13
10:50
(30) Хмм...

Процедура ЖурналДокументовСписокПередНачаломДобавления(Элемент, Отказ, Копирование)
   
   Если Копирование Тогда
       Возврат;
   КонецЕсли;
   
   Отказ = Истина;
   ФормаНовогоДокумента = Документы["ЗапазПокупателя"].ПолучитьФормуНовогоДокумента(, ЭтаФорма);
   ФормаНовогоДокумента.Открыть();
   Возврат;
   
КонецПроцедуры
37 Cerera
 
01.02.13
10:59
надо будет забухать с некоторыми людьми этой ветки )
38 Maxus43
 
01.02.13
11:08
(37) не, подерёмся ещё
39 Cerera
 
01.02.13
11:26
(38)врядли ) ты же не сержант1с
40 MaxS
 
01.02.13
11:37
(27) Разработчики реальных типовых могут позволить себе любые вольности - новые виды операций и т.п.
А на местах часто требуется снизить стоимость владения ПО, уменьшить затраты на обновление и поддержку.

Самый недорогой с точки зрения последующей поддержки, по моему такой вариант:
Дополнительное Типовое Свойство документа, в общем модуле какой-нибудь процедуры, которай вызывается всеми документами поставить вызов своей процедуры из своего общего модуля, где в зависимости от вида документа и доп свойства, программно видоизменять форму документа.

Но если ТС  не требуется часто обновлять эти документы, можно делать как принято в типовых.
41 Cerera
 
01.02.13
12:15
(40)Програмно конечно это можно. правда возни немало. если учесть что формы разного размера и там множество привязок. но можно конечно панели использовать
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан