Имя: Пароль:
1C
1С v8
Получение значения по номенклатуре
0 DEaD_EGOR
 
25.03.16
16:43
Всем привет. Подскажите, как получить в таб части формы такой функционал....?
Система, считав значение поля табчасти НОМЕНКЛАТУРА, автоматически заполняет поле табчасти СЧЕТА УЧЕТА из регистра сведений СчетаУчетаНоменклатуры ...БП 3,0 стандартная
1 DEaD_EGOR
 
25.03.16
16:44
я прописал НоваяСтрока.СчетаУчета = ПолучитьСчетаУчетаНаСервере(Text);

и  &НаСервере
Функция ПолучитьСчетаУчетаНаСервере (Наименование)
    
    мСчета = РегистрыСведений.СчетаУчетаНоменклатуры.НайтиПоНаименованию(Наименование);
    мСчета.Наименование = Наименование;
    мСчета.Записать();
    Возврат мСчета.Ссылка;
      
КонецФункции

но это не работает. Где ошибка?
2 DEaD_EGOR
 
25.03.16
16:45
предупреждаю сразу, в 1с я только начал учиться программированию..
3 salvator
 
25.03.16
16:45
Посмотри как это реализовано в типовых механизмах. Например, при изменении номенклатуры в поступлении товаров и услуг.
4 aleks_default
 
25.03.16
16:46
(2)Ну так может стоит начать с учебников?
5 DEaD_EGOR
 
25.03.16
16:48
(4) учебники и видеокурсы у меня параллельно изучаются. Я создал внешнюю форму обработки... Из эксель файла в демке БП 3,0 заполняется Новый документ Реализация Товаров. У меня всё считывает и  заполняет кроме счетов учёта...
6 aleks_default
 
25.03.16
16:52
Никому не интересно расказывать тут элементарные вещи новичку. Ничего лучше чем (3) тебе тут не посоветуют.
7 zenik
 
25.03.16
16:54
В БП 3.0 есть функция БухгалтерскийУчетПереопределяемый.ПолучитьСчетаУчетаНоменклатуры(); - через нее и получай счета учета, а свою ПолучитьСчетаУчетаНаСервере (Наименование) - выкинь, ибо она у тебя ИЗМЕНЯЕТ (благо не сильно) счета, а не получает.
8 DEaD_EGOR
 
25.03.16
16:58
(7) а разве нельзя получить их из регистра сведений счетаучетаноменклатуры?
9 zenik
 
25.03.16
17:00
(8) Именно там их и надо получать, но не так как Вы :)
10 DEaD_EGOR
 
25.03.16
17:16
(9)это я понимаю, потому и попросил совета у знающих людей..
11 zenik
 
25.03.16
17:22
Таки совет уже дали - использовать правильную функцию... В ней же можно и поглядеть как правильно получать значения :)
12 DEaD_EGOR
 
25.03.16
17:34
(11) просто мне тут щас сказали, что нужно составлять запрос, считывать данные, потом вычленять из массива.... я так подозреваю, что это всё будет очень тормозить обработку..
13 zenik
 
25.03.16
18:02
Хм, вообще 1С это либо получение данных, либо их запись. А обработка будет тормозить ровно на столько, на сколько криво будет написана. Если в ней будут куски как в (1), то да - тормозить будет серьезно :)
14 DEaD_EGOR
 
25.03.16
18:04
(13) Вообще я могу выложить полный код обработки.... Маленькая портянка. Но это ничего не даст))) Просто фигня такая, что я делаю обработку, мне один советует одно, другой-другое. а самому написать знаний не хватает. вот и глупость получается..
15 zenik
 
26.03.16
00:02
Повторяю:
СчетаУчета = БухгалтерскийУчетПереопределяемый.ПолучитьСчетаУчетаНоменклатуры(Документ.Организация, Документ.Номенклатура);
....
СтрокаДокумента.СчетУчета = СчетаУчета.СчетУчета;
СтрокаДокумента.СчетУчетаНДС = СчетаУчета.СчетУчетаНДС;