Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
14 Дек 2017, 22:00
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Добавить в документ строку с номенклатурой  (Прочитано 3818 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Cruw

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-08-19
  • Сайт: 
  • Профессия: Программист 1С
Добрый день! В документ Отчет ККМ, нужно добавить новую строку, программно задав кол-во, сумму, и номенклатуру.
Не могу номеклатуру автоматом выбрать. Например у меня есть в справочнике номенклатуры позиция "KeyBox", надо по нажатию кнопки, добавить строку в которой будет так. Номенклатура =KeyBox, кол-во=2, сумма 190.
Мой код не работает, не пойму почему.
-----------------------------
Процедура ПоКнопкеОбработать()

НоваяСтрока();
Цена = 190;
Количкство=2;
спр=СоздатьОбъект("Справочники.Номенклатура");
Если спр.НайтиПоНаименованию("KeBox")=1 Тогда
Номенклатура=спр.ТекущийЭлемент();
КонецЕсли;
Форма.Обновить( 1);
Сообщить("Добав ил новую строку");
---------------------------------------------


Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
так а что именно не работает то? строка не появилась или появилась, но номенклатура там пустая?
если второе, то может быть причина в этом:
пр.НайтиПоНаименованию("KeBox")
(сравним с)
позиция "KeyBox"


Оффлайн Cruw

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-08-19
  • Сайт: 
  • Профессия: Программист 1С
Строка появилась, номенклатура пустая, остальные поля заполнились нормально. Позиция KeyBox, точно есть в номенклатуре.

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
тогда еще раз повторюсь: не в этой ли строке ошибка:
спр.НайтиПоНаименованию("KeBox")=1
конкретно имею ввиду "KeBox". не должно ли там быть "KeyBox"?

вообще лучше сделайте так:
мНаименование = "KeyBox";
....
Если спр.НайтиПоНаименованию(мНаименование)=1 Тогда
т.е. старайтесь избегать констант в коде.
Добавлено: 19 Авг 2013, 08:54

сделайте так например:
мНаименование = "KeyBox";
Если спр.НайтиПоНаименованию(мНаименование )=1 Тогда
Номенклатура=спр.ТекущийЭлемент();
Иначе
Сообщить("Номенклатура с наименованием " + мНаименование + " не найдена");
КонецЕсли;

Оффлайн Cruw

  • *
  • Сообщений: 4
  • РЕПУТАЦИЯ: 0
  • Регистрация: 2013-08-19
  • Сайт: 
  • Профессия: Программист 1С
Там KeyBox, эт тут я стер нечаянно) Спасибо, вечером попробую, отпишу)

Оффлайн Herby

  • *****
  • Сообщений: 936
  • РЕПУТАЦИЯ: 164
  • КПД: 18%
  • Регистрация: 2010-08-31
  • Сайт: 
  • Профессия: Программист 7.7
Там KeyBox, эт тут я стер нечаянно) Спасибо, вечером попробую, отпишу)

поиск по наименование делать не желательно. Если пользователь наименование элемента справочника поменяет, ваш код уже работать не будет.

осуществляйте поиск по коду.

Оффлайн mixqn

  • Администратор
  • *****
  • Сообщений: 1346
  • РЕПУТАЦИЯ: 166
  • КПД: 12%
  • Who is John Galt?
  • Регистрация: 2012-08-15
  • Сайт: 3gmaster.net
  • Профессия: Программист 1С
ну вообще и поиск по коду - это плохо.
я считаю эти методы пережитками прошлого и в работе не использую (за редким исключением, когда реквизит есть в форме и для простоты его надо заполнить по умолчанию, то есть если что-то не сработает и значение не заполнится, пользователь это увидит).

лучше использовать константы заданные каким-то таким способом, который гарантирует, что там правильное значение - например, ограничен доступ.
для этого подойдут либо собственно константы, либо можно предусмотреть другую структуру данных (например, у нас в базе есть регистр "Константы", доступ на запись есть только у программистов, т.е. получаем полный аналог "обычных" констант, но для добавления новой не нужно структуру данных менять и обновляться нединамически; примечание: речь идет про УПП, платформа 8.2)
Добавлено: 19 Авг 2013, 10:34

альтернатива константам, как я выше уже писал - явное указание параметров в виде реквизитов формы. так что пользователь будет видеть, заполнено значение или нет. в этом случае поиск по коду/наименованию/другим реквизитам допустим.


Теги:
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
184 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
50 Сообщений
andron81_81
40 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
34 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
29 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 326
  • Точка Скрытых: 0
  • Точка Пользователей: 3
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal