Имя: Пароль:
1C
1С v8
Реализация товаров и услуг
0 avt27
 
09.10.15
04:15
Всем доброго времени суток!

Есть вот такая задача. В общем списке реализации товаров и услуг необходимо добавить колонку с количеством позиций по каждому документу. Так как я ни разу не сталкивался с 1С, а начальство это как обычно не интересует, прошу помощи.
1 lxndr
 
09.10.15
04:23
2 тонны яблок + 5 бутылок водки = ?
2 lxndr
 
09.10.15
04:24
форма управляемая/обычная?
3 avt27
 
09.10.15
04:28
(2) Не совсем понимаю, что значит обычная. Прошу сильно не ругать.
4 Metman
 
09.10.15
04:29
(3) Конфигурацию озвучь
5 mehfk
 
09.10.15
04:29
Ты там кем?
6 Metman
 
09.10.15
04:31
(0) Весело у вас. А сам кто? Админ/грузчик/бетонщик?
7 Metman
 
09.10.15
04:33
Я бы посоветовал начать с букваря (Радченко). А то сейчас с помощью форума сделаешь, начальство скажет, типа, "че прикидывался, вон сделал же". И даст задание еще какую-нибудь мегаважную хрень делать.
8 avt27
 
09.10.15
04:40
А сам админ, и даже мысли не было с 1с связываться. За букварь спасибо думаю, что в дальнейшем буду изучать и на курсы придется походить))

Конфигурация Бухгалтерия предприятия, редакция 2.0 (2.0.64.19)

Платформа 1С:Предприятие 8.2 (8.2.19.121)
9 VladZ
 
09.10.15
05:08
(8) Порядок работы такой:
1. Отойти подальше от 1С.
2. Позвать специалиста.
10 avt27
 
09.10.15
05:14
Я бы с радостью, но боюсь теперь уже не получится..
11 Любопытная
 
09.10.15
05:17
(10) Не получится отойти или не получится позвать специалиста?
Главное - сделай копию базы перед тем, как начнешь эксперименты. Бухи будут благодарны)
12 Любопытная
 
09.10.15
05:18
(10) Вам количество строк надо или количество отгруженного?
13 avt27
 
09.10.15
05:22
Я так понимаю в документе реализации товаров и услуг выбираю форму выбора далее добавляю колонку. В свойствах задаю имя, в параметре элемента управления ставлю поле ввода. А вот с параметром данные непонятка....
14 avt27
 
09.10.15
05:23
Вызвать спеца как обычно денег нет и сорваться не получится.
15 avt27
 
09.10.15
05:25
Без копии конфигурации и бд никуда.

Надо количество строк.
16 Web00001
 
09.10.15
05:30
(13)Нет неправильно понимаешь.

1. Надо добавить реквизит документа "КоличествоСтрокТЧ"
2. В модуле объекта в событии при записи вычислять количество строк:
КоличествоСтрокТЧ = ИмяТвоейТабличнойЧасти.Количество();
3. В форме списка добавить колонку с этим реквизитом.
17 patria0muerte
 
09.10.15
05:32
(13) А чем ПриПолученииДанных в форме списка, с получением Максимума по Товары.НомерСтроки не лучше?
18 patria0muerte
 
09.10.15
05:32
(17) к (16)
19 Любопытная
 
09.10.15
05:34
(17) И что это будет? Шерстить список документов при каждом обновлении данных. Не комильфо. Лучше действительно реквизит запилить, всем легче будет
20 Mikhail Volkov
 
09.10.15
05:34
(15) БП нет под рукой, но как-то так:
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
    Для Каждого ОформлениеСтроки Из ОформленияСтрок Цикл
    ОформлениеСтроки.Ячейки.КоличествоСтрокДокумента.УстановитьТекст(ОформлениеСтроки.ДанныеСтроки.Товары.Количество());
    КонецЦикла;
КонецПроцедуры //СписокПриПолученииДанных()
21 Mikhail Volkov
 
09.10.15
05:37
КоличествоСтрокДокумента - имя добавленной колонки, Товары -ИмяТвоейТабличнойЧасти
22 Tapeworm
 
09.10.15
05:37
Вот альтернативный путь без реквизита, работает хорошо, но ЕСТЕСТВЕННО тормозит:

в процедуру ПриОткрытии добавь(это чтоб форму не менять):

КолонкаПозиций = ЭлементыФормы.ДокументСписок.Колонки.Добавить("Позиций");
КолонкаПозиций.Видимость = Истина;

В процедуру ДокументСписокПриПолученииДанных:

Для Каждого Строка Из ОформленияСтрок Цикл
    Если Строка <> Неопределено Тогда
        Строка.Ячейки.Позиций.УстановитьТекст( Строка.ДанныеСтроки.Ссылка.Услуги.Количество() + Строка.ДанныеСтроки.Ссылка.Товары.Количество());
    КонецЕсли;    
КонецЦикла;

Проверил в форме списка на БП 2.0, в форме выбора тоже должно работать.
23 Любопытная
 
09.10.15
05:39
(20) Ссылку там потеряли
ОформлениеСтроки.Ячейки.КоличествоСтрокДокумента.УстановитьТекст(ОформлениеСтроки.ДанныеСтроки.Ссылка.Товары.Количество());
24 Web00001
 
09.10.15
05:44
(17)Мне казалось гораздо правильнее посчитать один раз, чем каждый раз делать запросы к базе при открытии списка, при кручении мышкой туда сюда, наложении отборов и тд.
25 Web00001
 
09.10.15
05:45
+(24)и не надо учить плохому(использовать события для этого не предназначенные) с самого начала человека.
26 Tapeworm
 
09.10.15
05:48
Создавать новые реквизиты и менять форму это тоже для новичка ничего хорошего не принесёт. Особенно при обновлении, тем более в данном случае когда БП.
27 Любопытная
 
09.10.15
05:50
(26) А если они реализаций делают по тыще штук в день?
28 Web00001
 
09.10.15
05:50
(26)С новым реквизитом при обновлении ничего не случится. А менять форму придется в любом случае.
29 Web00001
 
09.10.15
05:53
+(28)Плохого тоже. А вот за привычку делать запросы к базе в "ПриПолученииДанных" без явной на то необходимости надо отрубать пальцы, по одному за каждый выявленный случай.
30 Tapeworm
 
09.10.15
06:00
(27) А если нет?

(29) Если с точки зрения оптимизации, то естественно вы правы. Да я и в начале своего сообщения всё написал что во-первых это альтернатива реквизиту, а во-вторых ЕСТЕСТВЕННО будет тормозить.

(28) Это видать личное, но я всегда стараюсь не менять диалог формы, а все (когда это реально) элементы интерфейса создаю программно. Это облегчает обновления, по крайней мере мне.
31 Mikhail Volkov
 
09.10.15
06:02
(23) Угу
32 avt27
 
09.10.15
06:04
Web00001 можно по подробней про создание реквизита?!

В документе реализация товаров и услуг создаю реквизит с типом число. Далее "В модуле объекта в событии при записи вычислять количество строк" я так понимаю это в модуле формы выбора документа реализации товаров и услуг? И что есть "ИмяТвоейТабличнойЧасти.Количество()"

P.S.Сильно не ругайте я пока далек от этого всего. но делать надо.
33 patria0muerte
 
09.10.15
06:09
(19)(24) Впрочем да, согласен. Но лучше тогда уже реквизит + подписку на событие "Перед записью" добавить, чем опять таки лезть в процедуры записи документа.
34 patria0muerte
 
09.10.15
06:27
(32) Если в общем, то примерно следующий порядок действий:
1) Добавляешь в документ реквизит "КоличествоСтрок" с типом Число
2) Добавляешь общий модуль (Общие - Общие модули) с именем ДополнительныеДействияДокументов
В нем пишешь:

Процедура ДополнительныеДействияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
Если ТипЗнч(Источник) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда
КоличествоСтрок = Источник.Товары.Количество(); ///Здесь Товары - имя табличной части, в которой считаем количество строк
КонецЕсли;
КонецПроцедуры

3) Добавляешь подписку на событие с именем "ДополнительныеДействияПередЗаписьюДокумента". Подписка добавляется в Общие - ПодпискиНаСобытие. В подписке ставишь Источник - ДокументОбъект, Событие - "ПередЗаписью", Обработчик - ДополнительныеДействияДокументов.ДополнительныеДействияПередЗаписьюДокумента.
4) В форме списка документа - добавляешь колонку КоличествоСтрок

Вроде все
35 patria0muerte
 
09.10.15
06:28
+(34) Ошибся немного

Источник.КоличествоСтрок = Источник.Товары.Количество();///Здесь Товары - имя табличной части, в которой считаем количество строк
36 Tapeworm
 
09.10.15
06:31
(34) 5) Перепроводишь все реализации! :) А на этом пункте опять вспоминаем что у нас тут БП
37 patria0muerte
 
09.10.15
06:32
(34) + 1
Ну конечно, если это нужно... может быть их и с текущего момента все устроит.
Да и обменДанными.Загрузка = Истина никто не отменял
38 patria0muerte
 
09.10.15
06:32
(37) к (36)
39 Tapeworm
 
09.10.15
06:37
(37) Либо мне спать пора, либо я реально не понимаю как поможет "обменДанными.Загрузка = Истина" при перепроведении реализаций чтоб оборотно-сальдовая не поплыла в бухгалтерии.
40 Web00001
 
09.10.15
06:47
(39)Если перед записью сделать ОбменДанными.Загрузка = Истина, то изменится только реквизит, никакие обработчики в том числе и проведение не сработают. Все останется как было.
41 orangekrs
 
09.10.15
07:04
ТС, мой тебе совет, как человека, который переквалифицировался из сисада в 1С. Сначала изучи базовые понятия платформы,конфигурации,термины, а только потом ничинай что-то кодить.
Ты,кстати,вообще понимаешь на что подписался без знаний что-то быдлокодить в базе, да ещё и БП. Ты хоть знаешь, как обновлять нетиповые конфы?
42 Web00001
 
09.10.15
07:08
(41)
- Ты хоть знаешь кто я такой?
- Ты вообще хотя бы понимаешь с кем ты связался?
где то я такие речи уже слышал :)
43 avt27
 
09.10.15
08:47
Я не подписывался. Меня поставили перед фактом или делай или ищи работу... Так что без вариантов...
44 Cyberhawk
 
09.10.15
08:54
Сделай внешний отчет со списком и количеством строк - пусть смотрят, этого по-любому должно хватить.
А вообще спроси там у них, кто и каким образом (какое решение будет принимать) будет использовать эту информацию о кол-ве строк в документах
45 senior
 
09.10.15
09:00
(43) да ты должен быть рад что у тебя шанс переквалифицироваться из каких-то там админов в 1С. Не у всех он есть этот шанс
46 VladZ
 
09.10.15
09:00
(43) Сурово...  А завтра попросят полы в кабинетах помыть...
47 avt27
 
09.10.15
09:37
(32) Если в общем, то примерно следующий порядок действий:
1) Добавляешь в документ реквизит "КоличествоСтрок" с типом Число
2) Добавляешь общий модуль (Общие - Общие модули) с именем ДополнительныеДействияДокументов
В нем пишешь:

Процедура ДополнительныеДействияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
Если ТипЗнч(Источник) = Тип("ДокументОбъект.РеализацияТоваровУслуг") Тогда
КоличествоСтрок = Источник.Товары.Количество();///Здесь Товары - имя табличной части, в которой считаем количество строк

КонецЕсли;
КонецПроцедуры

3) Добавляешь подписку на событие с именем "ДополнительныеДействияПередЗаписьюДокумента". Подписка добавляется в Общие - ПодпискиНаСобытие. В подписке ставишь Источник - ДокументОбъект, Событие - "ПередЗаписью", Обработчик - ДополнительныеДействияДокументов.ДополнительныеДействияПередЗаписьюДокумента.
4) В форме списка документа - добавляешь колонку КоличествоСтрок


В обработчике нет такого "ДополнительныеДействияДокументов.ДополнительныеДействияПередЗаписьюДокумента"
48 avt27
 
09.10.15
09:38
senior так вот еще пока не знаю радоваться мне или плакать))))
49 avt27
 
09.10.15
09:40
Сделай внешний отчет со списком и количеством строк - пусть смотрят, этого по-любому должно хватить.
А вообще спроси там у них, кто и каким образом (какое решение будет принимать) будет использовать эту информацию о кол-ве строк в документах


Это делается чтоб ленивый бухгалтер не открывал каждый раз документ а сразу видел сколько там строк... Только я не пойму зачем?))))
50 Cyberhawk
 
09.10.15
09:48
"чтоб ленивый бухгалтер не открывал каждый раз документ а сразу видел сколько там строк"
Ну, увидел он, сколько там строк. Дальше что? Как он использует эту информацию? Без нее он не может выполнять какую-то свою функцию?
Выясни это все обязательно,т.к. мне уже интересно.
51 lenochka-semicova
 
09.10.15
09:58
(46) Да-да.
Сначала, сделай нам кофе, пожалуйста...
Потом, просто - сделай нам кофе...
А потом и на работу старшно приходить - черт его знает, что еще завтра придется делать...

(43) Лучше меняй сразу работу...
52 Buster007
 
09.10.15
10:02
(0) пора менять работу, ты сам до этого не дошел, но начальство подсказало
53 Buster007
 
09.10.15
10:02
(43) ты плохой админ?
54 avt27
 
09.10.15
10:08
По существу: руководителя интересует объем проделанной бухгалтером работы. Ему мало знать, что бух вколотил 5 первичных документов на сумму два миллиона. Его еще интересует, а сколько времени было потрачено на внесение этих документов. Одно дело когда акт выполненных работ содержит две позиции, а другое дело - две сотни позиции. И в первом случае получается, что бух вколотил 5 актов по 2 строки и потратил 10% рабочего времени на работу и 90% на соцсети, а во втором - видно, что на внесение первички ушло все его рабочее время. За соцсети руководитель платить не готов. А за работу - не против. Как то так...Лепить отчет? А зачем, если можно доработать форму?...
55 Cyberhawk
 
09.10.15
10:09
(54) Ты не ответил на вопрос, кто будет пользоваться информацией о кол-ве строк
56 Buster007
 
09.10.15
10:10
(54) эээххх... давно я таких руководителей не видел )
вот и ты сидишь без дела, надо бы и тебе поработать )
57 VladZ
 
09.10.15
10:10
(54) "И в первом случае получается, что бух вколотил 5 актов по 2 строки и потратил 10% рабочего времени на работу и 90% на соцсети". Количество строк и время внесения можно использовать для анализа работы оператора. Бухгалтер, кроме внесения данных, еще чем-то занят. Или у вас бухгалтера только операторской работой заняты???
58 Buster007
 
09.10.15
10:10
(55) в (54) вроде написано..
"руководителя интересует"
59 ДенисЧ
 
09.10.15
10:10
(54) У тебя директор не кот случайно?
60 avt27
 
09.10.15
10:11
Отвечаю на вопрос: исключительно руководитель. И он сам бывший ИТ-шник и поэтому не факт, что его устроит вариант с отчетом
61 avt27
 
09.10.15
10:12
Дружище, предложи свой вариант оценки производительности буха...я готов рассмотреть его в качестве альтернативы.
62 VladZ
 
09.10.15
10:13
(60) вариант с отчетом в данном случае эффективнее. Можно сразу итоги собрать по автору.
63 ДенисЧ
 
09.10.15
10:13
(61) по результатам работы смотреть - не вариант? Если все документы введены вовремя и правильно - значит, он работает.
64 VladZ
 
09.10.15
10:13
А для анализа загрузки сотрудников используются другие механизмы.
65 avt27
 
09.10.15
10:15
(вариант с отчетом в данном случае эффективнее. Можно сразу итоги собрать по автору.)

Первичку вносит только материалист, делить весь объем документов по юзерам смысла нет...
66 avt27
 
09.10.15
10:16
(А для анализа загрузки сотрудников используются другие механизмы.)

Коллеги, давайте вернемся к топику...
Если есть что еще сказать по существу - готов выслушать (про отчет уже понял).
67 VladZ
 
09.10.15
10:17
(65) можно посчитать итог за период: за день, за месяц и т.д.
68 Cyberhawk
 
09.10.15
10:18
"он сам бывший ИТ-шник и поэтому не факт, что его устроит вариант с отчетом" // Лол
Так и вижу дира-бывшего айтишника, ковыряющегося в бинарных данных файла базы данных для оценки эффективности своих сотрудников
69 VladZ
 
09.10.15
10:19
(66)  Это и есть по существу. Чтобы разработать ПО, нужно иметь техническое задание. Представь себе, подходишь ты к строителям и говоришь: меня тут попросили домик построить. Небольшой, 3 этажа. Подскажите, как мне правильно кирпичи класть?
70 avt27
 
09.10.15
10:22
Я понимаю что у каждого свое виденье решения вопроса, но задача поставлена и ее надо решить. Так что прошу помочь кому не трудно с решением этой задачи.
71 Тoлько_
Просмотр
 
09.10.15
10:39
(70) Ну ты и терпила) просто жесть, слов нет, только эмоции. А начальник твой идиот. Вот я всё и расставил по полочкам)

А если серьезно - подойди к начальнику и логично объясни, что ты не знаешь 1С. Чтобы решать задачи по 1С для тебя нужно выделить бюджет на обучение, видео-курсы от Чистова, литературу, а еще как минимум несколько месяцев времени на усвоение. И только потом твой тупой начальник может иметь право требовать от тебя решения простейших задач по 1С. И то, с данной конкретной задачей - оценить производительность буха, ты должен его послать далеко и надолго, потому что это не технический, а организационный вопрос. И что там он думает про забивание строчек и соц сети это тоже бред. А если он упрямый и не поддается вразумлению - у тебя один выход - найти нормальную работу с адекватным начальством. Работодятелов много, а ты один, нервы надо экономить.

Вот такой краткий гайд для мягкотелых одминов)
72 avt27
 
09.10.15
10:47
Ты по существу можешь помочь решить изначальную проблему или нет. А решать менять мне работу и как разговаривать с начальством я думаю что сам с этим разберусь.
73 Buster007
 
09.10.15
10:53
(72) понимаешь в чем дело, за тебя твою работу никто делать не будет. Если у тебя есть затык с чем-то, то озвучь его и тебе помогут с ним.
74 avt27
 
09.10.15
10:53
Если ты крут в 1с я только рад за тебя. Но если соизволишь вернуться в начало топа и немного почитаешь. То в начале я отписался что 1С я профан и прошу помощи в решении конкретной задачи. Если кто может помочь буду рад, а пообсирать мое умение в 1С и неодыкватность моего начальства думаю немного не уместно.
75 Web00001
 
09.10.15
10:59
(73)Так он озвучил уже в (47). Не может найти обработчик который должен сам создать. Вот у него и затык. Можно начинать помогать :)
76 Buster007
 
09.10.15
11:02
(74) я твое умение не обсирал, а лишь указал с чем обычно здесь помогают.
77 patria0muerte
 
09.10.15
11:07
(47) Что то странно у тебя. Точно 1 и 2 пункты выполнил? И слово Экспорт написал?
78 hhhh
 
09.10.15
11:09
(74) твой вопрос:

В обработчике нет такого "ДополнительныеДействияДокументов.ДополнительныеДействияПередЗаписьюДокумента"

ответ, в твоем

Процедура ДополнительныеДействияПередЗаписьюДокумента(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт

неправильное количество параметров. Должно быть не 4 параметра, а 3. Или может 2. Посмотри в доугих обработчиках ПередЗаписью.
79 patria0muerte
 
09.10.15
11:12
(78) Смотрю в своих обработчиках (УПП 1.2 перепиленая) - 4 параметра. Так что не в том суть видимо.

(77) Может быть проблема в том, чт опри создании общего модуля не указал там галочки "Сервер", "Клиент(Обычное приложение)" и "Вызов сервера"
80 Тoлько_
Просмотр
 
09.10.15
12:53
(72) Зря ты уповаешь на добрых мистян, которые всё сделают за тебя и разжуют и в рот положат. У тебя нет никаких знаний по 1С, чтобы вообще даже начать решать задачу. Как тут можно говорить о помощи когда тебе даже элементарная база, элементарные термины не известны? Помогают людям с конкретными проблемами - то есть вот это сделал, вот это не получается. А тут получается пришел полный ноль, говорит, ничего вообще не знаю, не ругайте, помогите решить задачу. Это нормально?
81 Mikhail Volkov
 
09.10.15
14:17
(74) С мой подсказки в (20) + поправка в (23) прошло более 5 часов. И до сих пор не сделал, не попробывал этот вариант? Весь в дебатах, ну-ну...
82 orangekrs
 
09.10.15
20:04
Вот кстати, правильно сказал (71) - обидно когда такие как ТС приходят на форум с нулевыми знаниями, просят за них (хотя они думают, что это всё очень просто и легко, и им нужно просто подсказать) сделать какой-нибудь бред.
Офигеть. Править типовую конфу, чтобы выводить количество строчек в форму. И я так понимаю, потом вручную  будут считать сколько строк введено всего по всем документам. Даааа....
83 orangekrs
 
09.10.15
20:05
По делу: ТС, в (72) нечего обижаться - тебе вначале нормально начали отвечать по существу твоего безумного вопроса - ты начал тупить, обучать тебя через форум азам работы с 1С естественно никто не будет (а именно это тебе и требуется, чтобы решить твою "задачу").  И тебе начали объяснять как раз изначальную проблему и как её решить. Ты чувствуешь разницу ? Да в другом месте тебя бы давно отправили бы нафиг, а тут ещё разговоры разговаривают. Иди смотреть обучающие видео, читать книги по 1С.
84 avt27
 
12.10.15
04:11
(81) Извиняюсь по запарке забыл отписаться. Не могу проверить твой вариант, т.к. при открытии реализации товаров и услуг 1с-ка виснет. Или это из-за моих кривых рук или из-за того что не может обработать такое количество документов при открытии.
85 avt27
 
12.10.15
04:12
(75) Сделал все как ты сказал, но считать не хочет.((
86 avt27
 
12.10.15
04:16
Спасибо за совет про букварь Радченко и видео-курсы от Чистова. Все выходные потратил на изучение... Буду признателен если еще что-нить посоветуйте)))
87 jsmith82
 
12.10.15
05:23
(86) http://www.v8.1c.ru/metod/books/book.jsp?id=195
Для 8.1 и 8.2 - уточни уж (то бишь ОФ или УФ)
88 VladZ
 
12.10.15
05:24
(86) Ты из какого города?
89 jsmith82
 
12.10.15
05:24
Сибирь по ходу..
90 avt27
 
12.10.15
05:32
(88) Я с Комсомольска-на-Амуре
91 jsmith82
 
12.10.15
05:33
То-то уже очи протёр
92 avt27
 
12.10.15
05:35
У нас уже обед)))
93 hhhh
 
12.10.15
05:36
(92) все реализации перепровел?
94 hhhh
 
12.10.15
05:41
(92) в (47) неправильно

КоличествоСтрок = Источник.Товары.Количество()///Здесь Товары - имя табличной части, в которой считаем количество строк

нужно

Источник.КоличествоСтрок = Источник.Товары.Количество()///Здесь Товары - имя табличной части, в которой считаем количество строк
95 hhhh
 
12.10.15
05:43
(92) или лучше

Источник.КоличествоСтрок = Источник.Товары.Количество() + Источник.Услуги.Количество();
96 avt27
 
12.10.15
05:52
(94) Сейчас попробую...
97 avt27
 
12.10.15
05:52
Да перепровел
98 avt27
 
12.10.15
05:56
(95) Заработало))) И в правду "ВОЛШЕБНЫЙ ФОРУМ"
99 avt27
 
12.10.15
07:14
Всем огромное спасибо за помощь!!!

Чет даже мне понравилось в 1с ковыряться, так что, пойду выбивать у начальства оплаченные курсы и литературу. А далее в топку это администрирование пора переквалифицироваться в 1с-ка))))
100 VladZ
 
12.10.15
07:23
(99) Ага! Удачи! :)   Ждем тему: насяльник сказал, что "фигня это ваша 1С! Строк много в документах, а народ все равно в Инете зависает!".
Основная теорема систематики: Новые системы плодят новые проблемы.