Имя: Пароль:
1C
1C 7.7
v7: ПОМОГИТЕ ПОЖАЛУЙСТА!!!
🠗 (GROOVY 07.06.2014 01:17)
0 maxeev79
 
07.06.14
01:10
Возникла проблема, когда я заполняю документ(Учет продукции), при проведении его, должно количество сколько мы учли например в справочнике 100 огурцов а мы проводим документ, на 50 огурцов, то должно прибавляться в справочник, т.е должно стать 150 огурцов. Все работает, но когда в справочнике есть группы, то ошибку выдает.
Вот такой у меня код в модуле:
Процедура ОбработкаПроведения()



   ВыбратьСтроки();
   СпрТовар=СоздатьОбъект("Справочник.Продукция");
   СпрТовар.выбратьЭлементы();
   Пока ПолучитьСтроку() = 1 Цикл

      Операция.НоваяПроводка();
      Операция.Дебет.Счет = СчетПоКоду("43",ПланыСчетов.НашПлан);
      Операция.Кредит.Счет = СчетПоКоду("20.1",ПланыСчетов.НашПлан);
      Операция.Количество = Количество;  
      СпрТовар.НайтиПоНаименованию(Строка(Наименование));
      СпрТовар.УстановитьАтрибут("Количество",СпрТовар.текущийЭлемент().Количество+Количество);
      СпрТовар.записать();

   КонецЦикла;
   Операция.Записать();


КонецПроцедуры
1 GROOVY
 
07.06.14
01:17
Сформулируйте вопрос.
2 maxeev79
 
07.06.14
01:38
Этот код при проведении документа, записывает количество в справочник. Этот код отлично работат, но когда количество уровней в справочнике 2, то выдает ошибку, вот такую..
СпрТовар.УстановитьАтрибут("Количество",СпрТовар.текущийЭлемент().Количество+Количество);
{Документ.Приемный_акт.Модуль Документа(17)}: Не выбран элемент!
3 Злопчинский
 
07.06.14
01:40
(0) Сделай так, чтобы наименования групп ГАРАНТИРОВАННО не совпадали с наименованиями элементов. А то ты пытаешься записать значение количетсва в группу справочника, а не в элемент - т.к. у группы и элемента совпадают наименования. вот натипонаименованию и находи группу (так как она была создана раньше) и пытается туда впихнуть невпих.емое
4 Злопчинский
 
07.06.14
01:41
(2) ну, для начала неплохо бы тупо запулить:
Если СпрТовар.НайтиПоНаименованию(Строка(Наименование)) = 0
Тогда
  Сообщить("хрен вам а не огруцы");
Иначе
      СпрТовар.УстановитьАтрибут("Количество",СпрТовар.текущийЭлемент().Количество+Количество);
      СпрТовар.записать();
КонецЕсли
5 Злопчинский
 
07.06.14
01:43
очень интересно будет также посмотреть - что будет твориться если документ будет проведен несколько раз...
.
нафига вам в псравочник пихать количества? булгахтеры не умеют пользоваться ОСВ и прочими отчетами по счетам/проводкам..?
6 Злой Бобр
 
07.06.14
01:44
(0) Вы пытаетесь сделать автоматизированный бардак. Будете продолжать "экономить" и заниматься "самолечением"? Или может всетаки программиста наймете?..
Ответ есть в СП. Или у вас его "украли"? Тут есть товарищи которые за недорого могут продать.
7 Злой Бобр
 
07.06.14
01:46
Блин, я тупанул. Следующим вопросом будет - что такое СП?..
8 KRV
 
07.06.14
06:06
(6) Чего пристал? Людям требуется справочник огурцов - они его получат. ))
9 Забияка
 
07.06.14
06:36
(0)А может быть все-таки лучше в регистр остатков писать?
10 Мимохожий Однако
 
07.06.14
07:23
(0)
СпрТовар.выбратьЭлементы();
противоречит строке внутри цикла
СпрТовар.НайтиПоНаименованию(Строка(Наименование));
..
При переборе элементов можно задать фильтр, чтобы пропускать группы. При поиске элемента - аналогично
11 Alexor
 
07.06.14
09:28
(0) я надеюсь это курсовая в институте, а не рабочая база?
12 m-serg74
 
07.06.14
10:12
(10)
СпрТовар.выбратьЭлементы();
противоречит строке внутри цикла


оно не пртиворечит а просто не делает ни х.рена полезного
13 maxeev79
 
07.06.14
11:06
Эммм, конечно спасибо большое за ваши максимально интересные мысли. Мне просто нужно было, добавить или изменить код, что бы не было ишибки с группами, не более того
14 m-serg74
 
07.06.14
14:45
(13) а в строках Документа именно Наименование(тип строка) или все таки ссылка на справочник?
15 maxeev79
 
07.06.14
19:11
Мне просто код исправить, не более. Без лишних заморочек.
Если действительно, кто разбирается в 1с, то думаю не составит труда его изменить, за что я буду очень благодарен.
16 maxeev79
 
08.06.14
00:47
Ссылка на справочник
17 maxeev79
 
08.06.14
00:51
Или же другой какой нибудь выход есть? Я можно сказать вообще не разбираюсь, а это курсовая=)
18 maxeev79
 
08.06.14
01:00
А как это сделать?(10)
19 maxeev79
 
08.06.14
01:01
это мимохожемуоднако.
Просто хз как здесь на форуме адресовывать нужному лицу
20 m-serg74
 
08.06.14
11:01
(16) если это ссылка на справочник.продукция, то нахрена его искать по Строка(Наименование)???
21 m-serg74
 
08.06.14
11:02
(19) праввила почитай, осмотрись... тыжпрограммист
22 m-serg74
 
08.06.14
11:03
(17) /Я можно сказать вообще не разбираюсь, а это курсовая/

доверь тем кто разбирается
23 maxeev79
 
08.06.14
22:07
Убрал искать по Строка(Наименование), ошибок нету, но не записывает
24 Злопчинский
 
09.06.14
01:16
(23) прогнать в отладчике - есть навык?
п (4) проверял - ?
25 maxeev79
 
09.06.14
09:50
(24) не прогонял, не пользовался ни разу.
А толку проверять то
26 an-korot
 
09.06.14
10:05
ну что ты хотел? ты ищешь по названию, у  тебя есть каталог в котором есть такое слово по которому ты ищешь, вот он и глючит на каталог то проводки не вешаются ...


а вообще видно что у тебя в документе в строках хранится не элемент справочника номенклатура, а только его название - кто тебя такому учил?!! на худой конец ты мог бы хотя бы в скрытом столбике хранить код товара и по нему поиск делать?
о_О

почему ты так сделал?
27 maxeev79
 
10.06.14
17:26
(26) Вообщем, в коде не разбираюсь.
Если есть мысль и время как нибудь подкорректировать этот код или вообще другой код предложить, то буду безумно рад и благодарен
28 maxeev79
 
10.06.14
17:28
Ребята не давлю, но просто если действительно понимаете как это сделать, то просто напишите этот долбаный код, а потом уже пишите- да как так можно, кто тебя учил этому и все в этом плане.