Имя: Пароль:
1C
1С v8
Отображение остатка товара в УТ 10.3
0 WhiteDragon93
 
04.11.12
18:43
Доброго времени суток! Помогите нубику. Необходимо в УТ 10.3 сделать следующее: В Документе РеализацияТоваровУслуг при АктивацииСтроки табличной части Товары выводить на форму (рядом с Тип цен) остаток этого товара на складе на дату документа и по складу. Огромная просьба написать код, т.к. интернет далеко не фонтан :)
1 Wobland
 
04.11.12
18:44
вот что тут делать? мне лениво писать код, но я могу с тобой поговорить об этом
2 Wobland
 
04.11.12
18:46
а форма - дело такое.. открыл документ, посмотрел на остаток, пока ходил курить, остаток изменился
3 WhiteDragon93
 
04.11.12
18:48
да я второй день голову ломаю, никак не допрет. клин поймал и все
4 WhiteDragon93
 
04.11.12
18:49
помогите пожалуйста кто-нибудь
5 Wobland
 
04.11.12
18:49
зачем тебе это?
6 Wobland
 
04.11.12
18:50
(5) зачем нужно показывать остаток
7 WhiteDragon93
 
04.11.12
18:50
задание дали, чтобы взять в франчайз для обучения
8 vicof
 
04.11.12
18:51
(1) "но я могу с тобой поговорить об этом", психолог, если-палки
9 Wobland
 
04.11.12
18:51
(8) мне скучно, а Апокалипсис сегодня как-то тяжеловат ;)
10 vicof
 
04.11.12
18:51
+(8) елки
11 Wobland
 
04.11.12
18:52
(7) запрос дать для начала или сам сообразишь?
12 WhiteDragon93
 
04.11.12
18:53
Лучше с запросом, а то опять тупить начну
13 Wobland
 
04.11.12
18:56
ВЫБРАТЬ
   ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
   РегистрНакопления.ТоварыНаСкладах.Остатки(
           &Период,
           Качество = &Качество
               И Номенклатура = &Номенклатура
               И СерияНоменклатуры = &СерияНоменклатуры
               И Склад = &Склад
               И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры) КАК ТоварыНаСкладахОстатки

вот этот запрос покажет тебе требуемое количество. ферштейен?
14 Wobland
 
04.11.12
18:57
можно и объектно, методом Остатки(), но это надо читать СП.
15 WhiteDragon93
 
04.11.12
19:01
Да запрос-то сделать смогу, не беда. Я не могу понять как это сделать при одинарном клике по строке табличной части и чтобы выводился остаток именно по номенклатуре из строки.
16 Wobland
 
04.11.12
19:02
(15) ты же уже понял, что тебе нужно писать обработчик события? ты же уже попытался это сделать и посмотреть у него на параметры?
17 vicof
 
04.11.12
19:04
(16) ты же уже понял, что писанины на 30 постов? :)
18 Wobland
 
04.11.12
19:05
(17) это минимум ;)
19 WhiteDragon93
 
04.11.12
19:08
(17) как так? Мне сказали, что это все совсем просто. Может я что не так сформулировал. Вот задание как мне его написали:

Форма документа Реализация ТиУ, ниже табличной части сейчас выводится синим текстом Тип цен: <наименование цены>.
Нужно рядом выводить такую фишку:
При выделении строки табличной части, выводить рядом с типом цен - остатки товара, который выделен в табличной части, на дату документа и по складу, который указан в документе
20 WhiteDragon93
 
04.11.12
19:09
Не судите строго, с 1С работаю всего пару недель и учился по видео Павла Чистова.
21 Wobland
 
04.11.12
19:11
(19) всё совсем просто. у меня пока 5 строк, но можно и меньше
22 vicof
 
04.11.12
19:13
23 WhiteDragon93
 
04.11.12
19:13
(21) можно эти 5 строк в студию?
24 Wobland
 
04.11.12
19:15
(23) на (16) сначала ответь
можно, но я против такого метода освоения
25 Wobland
 
04.11.12
19:16
(22) это ж тоже обучение ;)
26 WhiteDragon93
 
04.11.12
19:22
(24) я понимаю, что нужно его писать. Написать пытался, но толку ноль, ничего об этом не могу толком найти.

Процедура ПриАктивизацииСтроки ()
КонецПроцедуры
27 Wobland
 
04.11.12
19:25
(26) тыкаешь два раза по ТП, ищешь в свойствах своё событие, жмёшь на лупу и попадаешь в процедуру. ничего писать не надо, ибо ты сейчас потерял привязку своей процедуры к событию. просто назвать недостаточно. далее, у тебя есть Элемент - параметр. этот элемент знает всё о ТП, в которым ты находишься. берёшь и спрашиваешь у его ТекущейСтроки, что за номенклатура, что за качество и т.д...
28 Wobland
 
04.11.12
19:27
я уложился в одну строку! правда ради этого пришлось два раза остатки получать, но что не сделаешь ради спортивного интереса ;)
717 символов
29 kotletka
 
04.11.12
19:31
(28)конкурентов плодишь, вот понапишет тс кучу овнокода за год и начнет демпинговать! А вообще лажа какая-то, немог франч попросить написать такое, чтобы взять на ОБУЧЕНИЕ, если человек конечно сам на собеседовании не вякнул, что  1с знает офигенно
30 WhiteDragon93
 
04.11.12
19:33
(29) обучение с дальнейшим приемом на работу. При разговоре сразу сказал, что абсолютный ноль в 1С
31 Wobland
 
04.11.12
19:37
(29) я свой г-код из одной строки держу в себе и не показываю ;) делов там по хорошему на 4 действия. пятое - лишняя переменная, для красоты
32 WhiteDragon93
 
04.11.12
19:40
Если не жалко, киньте код :)
У меня просто уже нет никакого желания именно в этом разбираться, так как два дня перед компом тупил, я его уже видеть не могу.
33 WhiteDragon93
 
04.11.12
19:40
Заранее спасибо, если поймете.
34 Wobland
 
04.11.12
19:41
я придумал. добейся того, чтобы при активизации строки у тебя сообщалось "я хочу получить остаток для такой-то номенклатуры". а потом задашься вопросом, как это сделать
35 floody
 
04.11.12
19:43
(34) +1 правильный препод =)

(32) "У меня просто уже нет никакого желания именно в этом разбираться"
мда, так зачем тогда вообще идти во франь? там наверное придется неделями разбираться в чем-то
36 Wobland
 
04.11.12
19:44
(33) ладно, вот тебе код. иногда проще показать, чем объяснить
Процедура ТоварыПриАктивизацииСтроки(Элемент)
   ТекСтрока=Элемент.ТекущаяСтрока;
   Отбор=Новый Структура("Склад, Номенклатура, ХарактеристикаНоменклатуры, СерияНоменклатуры, Качество",
           Склад, ТекСтрока.Номенклатура, ТекСтрока.ХарактеристикаНоменклатуры, ТекСтрока.СерияНоменклатуры, ТекСтрока.Качество);
   Остатки=РегистрыНакопления.ТоварыНаСкладах.Остатки(Дата, Отбор);
   ЭлементыФормы.НадписьОстатокТовара.Заголовок="на складе: "+?(Остатки.Количество(), Остатки[0].Количество, 0);
КонецПроцедуры

расскажи, о чём последняя строка. это для твоего же блага, мне в общем-то пофих
37 WhiteDragon93
 
05.11.12
10:19
(36) Спасибо большое. Последняя строка - это вывод остатка на форму.
38 WhiteDragon93
 
05.11.12
11:16
Процедура ТоварыПриАктивизацииСтроки(Элемент)
   ТекСтрока = Элемент.ТекущаяСтрока;
ЭлементыФормы.НадписьОстаток.Заголовок="It's Work";
КонецПроцедуры

Этого достаточно, чтобы при ПриАктивизацииСтроки сообщение выводилось на форму? Или нужен цикл, если нужен, то какой?
39 Wobland
 
05.11.12
11:20
(38) ЭлементыФормы.НадписьОстаток.Заголовок="It's Work";
вот "вывод" сообщения на форму
40 Wobland
 
05.11.12
11:21
it works, кстати
41 WhiteDragon93
 
05.11.12
11:24
(40)Тьфу, деградация одна с этим 1С англицкий стал забывать :(
42 WhiteDragon93
 
05.11.12
11:26
(39) Я в смысле нужно что-то добавлять к (36) ?
43 Wobland
 
05.11.12
11:27
(42) вопрос не понял. хочешь - добавляй
44 WhiteDragon93
 
05.11.12
11:30
(43) Просто так не работает, как я понял запрос там не нужен, так как есть метод Остатки.
45 Wobland
 
05.11.12
11:32
(44) запрос лишний, да, это альтернатива. а проверял? или опять будем скриншотами кидаться?
46 BuHu
 
05.11.12
11:34
(44)ТоварыПриАктивизацииСтроки привязана к таблице?
47 WhiteDragon93
 
05.11.12
11:43
(45) проверял

Процедура ТоварыПриАктивизацииСтроки(Элемент)
   ТекСтрока = Элемент.ТекущаяСтрока;
   Отбор=Новый Структура("Склад, Номенклатура, ХарактеристикаНоменклатуры, СерияНоменклатуры, Качество",
   Склад, ТекСтрока.Номенклатура, ТекСтрока.ХарактеристикаНоменклатуры, ТекСтрока.СерияНоменклатуры, ТекСтрока.Качество);
   Остатки=РегистрыНакопления.ТоварыНаСкладах.Остатки(Дата, Отбор);
   ЭлементыФормы.НадписьОстаток.Заголовок="на складе: +?(Остатки.Количество(), Остатки[0].Количество, 0) ";
   
КонецПроцедуры

(46) Скорее всего нет, объясните как, пожалуйста.

Простите мою глупость, просто помимо того, что я еще совсем ноль в 1С я еще и студент :) поэтому в голове совсем каша
48 Wobland
 
05.11.12
11:45
(47) ну-ка найди номер поста, в котором я уже говорил о привязке
49 Wobland
 
05.11.12
11:46
и скопипастил неумело. просил же разжевать последнюю строку
50 WhiteDragon93
 
05.11.12
11:48
(48) в (27)
(49) это я уже изменил последнюю строку под свою надпись
51 Wobland
 
05.11.12
11:50
(50) и что? пока я вижу только, что не работает. ответ в таком случае один: почини
52 WhiteDragon93
 
05.11.12
11:56
(51) буду сейчас пробовать)
Не подскажете какую-нибудь литературу по 1С 8.2?
53 Wobland
 
05.11.12
11:56
"1Cv82_Практическое пособие разработчика.djvu"
"Е.Ю. Хрусталева Разработка сложных отчетов в 1С Предприятии 8.djvu"
54 WhiteDragon93
 
05.11.12
12:06
Все, спасибо огромное, доперло, не привязал же, идиот...
Правда выводит чуть не то, но тут постараюсь сам разобраться)
55 WhiteDragon93
 
05.11.12
12:07
Все, просто кавычки не там стояли :)
56 WhiteDragon93
 
05.11.12
12:12
Мало ли, может понадобится кому

Процедура ТоварыПриАктивизацииСтроки(Элемент)
   ТекСтрока = Элемент.ТекущаяСтрока;
   Отбор=Новый Структура("Склад, Номенклатура, ХарактеристикаНоменклатуры, СерияНоменклатуры, Качество",
   Склад, ТекСтрока.Номенклатура, ТекСтрока.ХарактеристикаНоменклатуры, ТекСтрока.СерияНоменклатуры, ТекСтрока.Качество);
   Остатки=РегистрыНакопления.ТоварыНаСкладах.Остатки(Дата, Отбор);
   ЭлементыФормы.НадписьОстаток.Заголовок="На складе: "+?(Остатки.Количество(), Остатки[0].Количество, 0);

КонецПроцедуры
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.