Форум программистов, компьютерный форум, киберфорум
Наши страницы
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
Titanum
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
#1

Процедура ПриЗаписи для составного типа данных

02.01.2012, 15:36. Просмотров 1212. Ответов 9
Метки нет (Все метки)

Здравствуйте.
Есть 2 справочника: Товары и Книги.
Есть документ Расходная накладная.
В документе табличная часть имеет реквизиты: Наименование и Кол.
Реквизит Наименование имеет составной тип: Справочники.Книги, Справочники.Товары.
При записи документа, количество книг или товаров в справочниках должно уменьшаться.
В процедура ПриЗаписи написана только для случая с одним справочником:
1C
1
2
3
4
5
6
7
8
9
10
Процедура ПриЗаписи(Элемент)
    
    Для Каждого ТекСтрокаТаблицаРасход из ТаблицаРасход
        Цикл
        Объект=Справочники.Книги.НайтиПоНаименованию(ТекСтрокаТаблицаРасход.Наименование).ПолучитьОбъект();
        Объект.Количество=Объект.Количество-ТекСтрокаТаблицаРасход.Количество;
        Объект.Записать();
        КонецЦикла;
        
КонецПроцедуры
Как будет выглядеть процедура для 2-х справочников?
Разные способы испробовала, не работает... Очень нужна помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.01.2012, 15:36
Ответы с готовыми решениями:

НайтиПоНаимнованию из составного типа данных
Зравствуйте. Есть таблица ТаблицаРасход, которая имеет реквизиты Наименование...

Когда вызывается ПриЗаписи() ?
Только что опытным путем установил, что если в модуле формы дока написано...

Вопрос по процедуре ПриЗаписи()
Такая непонятка - по идее процедура ПриЗаписи() запускается при нажитии кнопки...

Как обратиться к табличной части документа из процедуры "ПриЗаписи"
Здравствуйте! Создается новый документ. В его модуле, в процедуре...

ПриЗаписи и ПередЗаписью
Всем привет :) Такой вопрос (как всегда глупый). Мне нужно сделать проверку...

9
Dethmontt
Модератор
Эксперт 1С
2616 / 2416 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
02.01.2012, 16:16 #2
Ну на самом деле так не делают, для этого нужно использовать регистр.
Какой тип у "ТекСтрокаТаблицаРасход.Наименование" ???
1
Titanum
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
02.01.2012, 16:39  [ТС] #3
Цитата Сообщение от Dethmontt Посмотреть сообщение
Ну на самом деле так не делают, для этого нужно использовать регистр.
А разве количество не должно сразу уменьшаться в справочнике при проведении документа?
Цитата Сообщение от Dethmontt Посмотреть сообщение
Какой тип у "ТекСтрокаТаблицаРасход.Наименование" ???
Тип Строка же.
0
Dethmontt
Модератор
Эксперт 1С
2616 / 2416 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
02.01.2012, 18:24 #4
Из типа строки никогда не получишь нужный тип.


Цитата Сообщение от Titanum Посмотреть сообщение
А разве количество не должно сразу уменьшаться в справочнике при проведении документа?
При проведении должно убавляться количество только не в справочнике и не при записи документа

Добавлено через 1 минуту
Наверное для упрощения нужно использовать не наименования, а ссылки. (Упрощение не только программирования но и выбора пользователем.)

Добавлено через 4 минуты
И покажи структуру табличной части "ТаблицаРасход".
Желательно с типами (можно без примитивных типов)
1
Titanum
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
02.01.2012, 20:31  [ТС] #5
Вот структура документа с типами:

РасходнаяНакладная
Реквизиты:
-Покупатель: СправочникСсылка.Покупатель
-Продавец: СправочникСсылка.Сотрудники
-СуммаДокумента: Число, Длина 15, Точность 2
ТаблицаРасход:
-Наименование: СправочникСсылка.Книги, СправочникСсылка.Товары, Строка
-Цена: Число, Длина 15, Точность 2.
-Количество: Число 10
-Сумма: Число, Длина 15, Точность 2.
0
Dethmontt
Модератор
Эксперт 1С
2616 / 2416 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
02.01.2012, 20:54 #6
Сделай две табличные части Продажа Книг и продажа товаров. И тип строка тебе врядли понадобиться...

Добавлено через 2 минуты
И я думаю тебе еще нужен регистр накопления для определения остатка и движений (Товаров, книг и т.д.), регистр накопрелия подчинен двум документам (или больше) Приходная неакладная которая будет там фиксировать приход товара и расходная накладная которая будет фиксировать расход товара (+контроль остатка товара)

Добавлено через 1 минуту
Возьми любую типовую конфу для примера (Лучше всего УТ или УПП)
1
Titanum
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
02.01.2012, 20:59  [ТС] #7
На самом деле с 2-мя таблицами будет не совсем так как надо, но ладно. Спасибо вам.
0
Dethmontt
Модератор
Эксперт 1С
2616 / 2416 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
02.01.2012, 21:04 #8
Ну тогда сделайте справочник номенклатура, и там уже будет деление на товары и книги

Добавлено через 27 секунд
Из одного справочника будут выбираться и товары и книги.
1
Titanum
1 / 1 / 1
Регистрация: 25.10.2011
Сообщений: 360
03.01.2012, 02:34  [ТС] #9
Нет, с одним справочником не получится, т.к. там совершенно разные реквизиты.
0
Dethmontt
Модератор
Эксперт 1С
2616 / 2416 / 407
Регистрация: 10.03.2011
Сообщений: 8,594
Записей в блоге: 1
Завершенные тесты: 1
03.01.2012, 15:40 #10
Ну ты сделай галочку Книга или нет, если книга заполняются одни реквизиты если нет то другие. Зачем городить кучу справочников

Добавлено через 42 секунды
И посмотри как это сделано в типовом решении... Тебе же проще будет... (Например Услуга и товар)
1
03.01.2012, 15:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.01.2012, 15:40

Генерация составного артикула
Всем привет. Подскажите, как можно реализовать составной артикул при...

Реквизит составного типа
Приветствую всех. Возникла проблемка, а точнее я затупил. Есть внешняя...

Процедура замены типа данных
Доброго времени суток. Вопрос заключается вот в чем. ..... for i := 1 to...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru