Имя: Пароль:
1C
1C 7.7
v7: Несколько вопросов по поводу конфигурирования в 7.7
,
0 sapravka
 
15.11.12
20:48
Здравствуйте!
Конфигурация самописная, про общепит: Это документ списания. И списываются как просто позиция номенклатуры, так и блюда (у которых своя цена) в одном документе. Добавил новый реквизит в табличную часть – сумма и добавил его руками в табличную часть и начались вопросы ...

http://волгалаб.рф/1c/12.jpg

Подскажите, пожалуйста,  как в 7.7 в форме документа, в табличной части:
1.    Добавить ИДЕНТИФИКАТОР и прописать его модуле формы? (или куда необходимо)
2.    Как сделать доступными поля – сделать недоступным и запретить редактирование.
3.    И самое главное – где и как прописать, что бы сумма бралась с другого документа/документов по каждой позиции номенклатуры в данном ИДЕНТИФИКАТОРЕ?
1 ТакВотЖе
 
15.11.12
20:54
ты вставил в форму текст, а тебе нужно вставить твой новый реквизит "Сумма".
В главном меню "Вставить" - "Реквизиты" - поставить крыжик на реквизите табличной части.
А СП читать не пробовал?)
2 sapravka
 
15.11.12
21:01
Пробывал сначала сам
уже полдня убил - яндекс и гугл были помощниками...
Но вот все равно все найти не смог...
А насчет: В главном меню "Вставить" - "Реквизиты" - поставить крыжик на реквизите табличной части.

http://волгалаб.рф/1c/13.jpg

Где именно необходимо поставить крыжик?

А поподробнее можно, для тех кто на бронепоезде?
3 ТакВотЖе
 
15.11.12
21:02
не.. тебе не поможет)
бросай это дело)
4 sapravka
 
15.11.12
21:03
Да вот хочу доделать и честно брошу - больше с 7.7 связываться не буду
5 ТакВотЖе
 
15.11.12
21:04
ну, бог в помощь)
6 AlexNew
 
15.11.12
21:32
(4) Не ограничивай себя 7.7.
7 sapravka
 
15.11.12
21:35
Бог меня услышал и помог...

Остался только третий вопрос:
Где и как прописать, что бы сумма бралась с другого документа/документов по каждой позиции номенклатуры в данном ИДЕНТИФИКАТОРЕ?

Я думаю в модуле формы...
Подскажите, пожалуйста, как получить ссылку с другого документа (сумма) и поставить её в моем новом реквизите (столбце)?
8 AlexNew
 
15.11.12
21:39
(7) Будь мухиком, брось до (4) хотя бы честно.
9 НикДляЗапросов
 
15.11.12
21:42
Ну бери табличную часть 1го документа и проставь суммы во втором
10 AlexNew
 
15.11.12
21:45
(9) А потом строчки местами в первом поменяй.
11 НикДляЗапросов
 
15.11.12
21:46
(10) Зачем?
12 AlexNew
 
15.11.12
21:46
(11) Затем, чтобы данные остались актуальны.
13 aka AMIGO
 
15.11.12
21:47
есть 2 функции
ПриНачалеВыбораЗначения(..)
ОбработкаВыбораЗначения(..)
в них можно вставить любой код обработки
14 aka AMIGO
 
15.11.12
21:48
в т.ч. запрос по выбору нужных документов
15 AlexNew
 
15.11.12
21:50
(14) Ты не сказал, что ему там ссылку хранить придется.
16 aka AMIGO
 
15.11.12
21:50
Процедура ПриНачалеВыбораЗначения(Идент,Флаг)
//..........
   ИначеЕсли Идент = "Резерв" Тогда
       Флаг = 0;
       Рез = СоздатьОбъект("Регистр.РезервыТоваров");
       Рез.ВременныйРасчет();
       
       Рез.УстановитьФильтр(Товар);
       Если КонДата >= ПолучитьДатуТА() Тогда
            РассчитатьРегистрыПо(ПолучитьПозициюТА());
       Иначе    
            РассчитатьРегистрыПо(КонДата);
       КонецЕсли;                                
           
       СписДок = СоздатьОбъект("СписокЗначений");
       Рез.ВыбратьИтоги();
         Пока Рез.ПолучитьИтог() = 1 Цикл
                СписДок.ДобавитьЗначение(Рез.ПоСчету);
         КонецЦикла;    
             
         Если СписДок.РазмерСписка() > 0 Тогда
             Поз = 0;ВыбЗнач = "";
             Если СписДок.ВыбратьЗначение(ВыбЗнач,,Поз,,0) > 0 Тогда
                 ОткрытьФорму(СписДок.ПолучитьЗначение(Поз));
             КонецЕсли;    
         КонецЕсли;
         
         
         
   Иначе
        Возврат;
       
   КонецЕсли;

и т.д.
17 aka AMIGO
 
15.11.12
21:52
(15) мож она ему и нужна..
пусть экспериментирует, прекрасное лего для разминки мозгов :)
18 AlexNew
 
15.11.12
21:53
(16) А такая длинная полоска...
19 aka AMIGO
 
15.11.12
21:54
(18)не завидуй :)
20 AlexNew
 
15.11.12
21:55
Рез.ВыбратьИтоги();
         Пока Рез.ПолучитьИтог() = 1 Цикл
                СписДок.ДобавитьЗначение(Рез.ПоСчету);
         КонецЦикла;    
И не только. Комментировать?
21 aka AMIGO
 
15.11.12
21:56
(20)"поСчету" измерение регистра. Пояснять надо?
22 AlexNew
 
15.11.12
21:59
(21) Ты как в том анекдоте "Мутацию мыть надо". Выгрузить в таблицу, в список. СП в помощь.
23 AlexNew
 
15.11.12
21:59
Про именования и форматирование - вообще молчу.
24 aka AMIGO
 
15.11.12
22:01
(22)я в чужой код не лажу. "Работает - не трогай" - железный прынцып.
иначе пришлось-бы много подчищать за предыдущим программистом, царствие ему небесное..
25 AlexNew
 
15.11.12
22:02
(24) Не цитируй хрень, тогда. Рад, что это не ты.
26 Ork
 
15.11.12
22:03
(22) + (23) Нет! Классика жанра. Вот она где :

РассчитатьРегистрыПо(ПолучитьПозициюТА());

Интересно. Только у меня итоги на ТА уже посчитаны?
27 aka AMIGO
 
15.11.12
22:05
+24 кстати, наименование этой конфы "Торговля". Именно просто: торговля, а не ТиС, от прежней торговли 7.5 (!) не осталось ничего. И я имею то, что имею.

ладушки.. вас ни в чем не переспоришь..

всего-то хотел пример процы привести..
Да, кстати, ТС может чем-то из моих подсказок и воспользоваться, а от вашей критики - увы.. :)
28 AlexNew
 
15.11.12
22:07
(27) Боже упаси.
(26) Ты еще скажешь в типовых посмотреть:)
29 Ork
 
15.11.12
22:07
(27) ТС уже помогли в (6). Теперь уже просто развлекуха.
30 AlexNew
 
15.11.12
22:07
(27) Хотя, если задумается над этим... Полезно.
31 aka AMIGO
 
15.11.12
22:09
(0) Процедура ПриНачалеВыбораЗначения(Идент,Флаг)
//..........

   ИначеЕсли Идент = "ИндентификаторКолонкиТЧ" Тогда
       Флаг = 0;
//..... далее ищи свои документы, и извлекай из них всё, что надо.
32 Ork
 
15.11.12
22:13
+(29) Моих мозгов, например, не хватает даже что бы просто понять :
"что бы сумма бралась с другого документа/документов по каждой позиции номенклатуры в данном ИДЕНТИФИКАТОРЕ"

Кто на ком стоял? Как в идентификаторе может храниться "каждая позиция номенклатуры". И тем более не могу понять каким образом хочет ТС "сумма бралась с другого документа/документов". Это вообще о чем?
Сумма по моему скромному ИМХУ есть результат сложения некоторого количества некоторых числовых величин. Где эти числовые величины в идентификаторе?
33 ТакВотЖе
 
15.11.12
22:14
(32) )))))
34 AlexNew
 
15.11.12
22:14
(32) А код примера ты все-таки понял?:)
35 AlexNew
 
15.11.12
22:15
(31) Уже лучше.
36 Ork
 
15.11.12
22:16
(34) А вот код примера не сработает. НиКаДа. Нет у ТаблицыЗначений, даже помещенной на форму педальки. Соответственно и метод вызван не будет.
37 ТакВотЖе
 
15.11.12
22:17
человек не может реквизит на форму вывести, а вы ему про какой-то код.. оставьте уже парня в покое, не засоряйте ему мозг)))
38 Ork
 
15.11.12
22:17
+(36) Все нужно уносить в ПриНачалеРедактированияСтроки()
39 AlexNew
 
15.11.12
22:18
(37) Того парня мы давно не трогаем. Мы про советчиков...
40 Ork
 
15.11.12
22:19
+(38) Если на форме таки ТабличнаяЧасть. Если ТаблицаЗначений - В ее свойствах - указать нужную процедуру и только там уже определяться с АктивнойКолонкой.
41 ТакВотЖе
 
15.11.12
22:19
(39) ах у вас здесь междусобойчик?)) пардон тогда)
42 sapravka
 
15.11.12
22:24
Господа подскажите:

Процедура ПриВыбореКоличества()      

   СпрКальк.ВыбратьЭлементы();
   Пока СпрКальк.ПолучитьЭлемент()>0 Цикл
       Сумма=Сумма+СпрКальк.Номенклатура.Цена*СпрКальк.Количество;
   КонецЦикла;                                  
     Сумма=Сумма*Количество;
           
КонецПроцедуры

где СпрКальк – справочник калькуляционный


То есть необходимо написать такую процедуру, что бы при добавлении (изменении) количества автоматом менялась сумма,  а эта сумма не меняется и не заполняется...

http://волгалаб.рф/1c/14.jpg
43 Ork
 
15.11.12
22:30
(42) Для разминки. (Предупреждаю - для разминки).

1. Вместо
СпрКальк.ВыбратьЭлементы();
писать
СпрКальк.ВыбратьЭлементы(0); //Обращаю внимание на параметр "0"

2. В конфигураторе в форме (обращаю внимание - именно в редакторе форм) пощелкать на колонке "Количество". Найти закладку "Дополнительно" и в поле "Формула" вписать : ПриВыбореКоличества()
44 Ork
 
15.11.12
22:33
+(43) Сумма скорее всего начнет меняться. Правда, я думаю, не совсем так, как вам нужно. Но про то дальше...
45 Тьма
 
15.11.12
22:38
Мне одному кажется, что стоимость уксусной кислоты в общепите считается не из данных калькуляционной карты, а исходя из остатка на складе или хотя бы из цены прихода?
46 AlexNew
 
15.11.12
22:42
(45) Не пей ее столько на ночь...
47 sapravka
 
15.11.12
23:24
Сумму необходимо получить со справочника, но есть 2 справочника:
1 Справочник блюда .
2. Справочник номенклатура.

Вот пытаюсь, что-то получить:
В самом начале добавил:
Перем Рез;

А потом:

Процедура ПриНачалеВыбораЗначения(Идент,Флаг)


   Если Идент = "Сумма" Тогда
       Флаг = 0;
       
   СписДок = СоздатьОбъект("СписокЗначений");
       Рез.ВыбратьИтоги(0);
   Пока Рез.ПолучитьИтог(0) = 1 Цикл
        СписДок.ДобавитьЗначение(Номенклатура.Цена);
   КонецЦикла;        
           
   Иначе
        Возврат;    
   КонецЕсли;    

КонецПроцедуры
   
Подскажите пожалуйста как выбрать суммы с этих 2 справочников (и затем соответственно умножить на количество), так как бывает то блюдо, то номенклатура и сделать так, что бы сумма проставлялась?
48 zak555
 
16.11.12
00:27
хапрос
49 sapravka
 
16.11.12
00:48
Я уже больше 10 часов пытаюсь создать данный запрос, что бы была возможность автоматической проставлении суммы при заполнении документа...