|
Программное заполнение док.ЗаявкаНаОткрытиеСчетов | ☑ | ||
---|---|---|---|---|
0
листопад
27.04.14
✎
21:12
|
Заполняю док.ЗаявкаНаОткрытиеСчетов. Выдает ошибку:
{Форма.Форма.Форма(746)}: Поле объекта не обнаружено (ФизЛицо) Док.РаботникиОрганизации.ФизЛицо = СокрЛП(ТекСтрока.FIO); В док-те, есть табличная часть "РаботникиОрганизации" и в ней есть реквизит "ФизЛицо". Почему тогда выдает ошибку??? Док = Документы.ЗаявкаНаОткрытиеСчетов.СоздатьДокумент(); Док.Организация = Справочники.Организации.НайтиПоКоду("000000001"); Док.Дата = ТекущаяДата(); Док.ВводНачальныхСведений = Истина; Док.РаботникиОрганизации.ФизЛицо = СокрЛП(ТекСтрока.FIO); Док.РаботникиОрганизации.НомерЛицевогоСчета = СокрЛП(ТекСтрока.LIC_SCHET); Док.Записать(); |
|||
1
Рэйв
27.04.14
✎
21:15
|
Строка какая у таб части РаботникиОрганизации куда писать
пытаешься? |
|||
2
Рэйв
27.04.14
✎
21:16
|
НоваяСтрока=РаботникиОрганизации.Добавить()
И дальше НоваяСтрока.ляляля=... |
|||
3
Рэйв
27.04.14
✎
21:16
|
Что то вроде
|
|||
4
Torquader
27.04.14
✎
21:18
|
А ФизЛицо - это же не строка, а справочник.
|
|||
5
ДенисЧ
27.04.14
✎
21:18
|
о. май. гад....
|
|||
6
листопад
27.04.14
✎
21:18
|
(4) Ага, спр.ФЛ
|
|||
7
kotletka
27.04.14
✎
21:20
|
(6) ну и? приравиваешь ссылку и строку, у тебя сегодня обострение?
|
|||
8
Torquader
27.04.14
✎
21:20
|
(7) У неё сегодня весеннее отупление.
|
|||
9
kotletka
27.04.14
✎
21:21
|
Док.РаботникиОрганизации.ФизЛицо = Справочники.ФизЛица.НайтипоНаименованию(СокрЛП(ТекСтрока.FIO)); ито через жпо
|
|||
10
Рэйв
27.04.14
✎
21:21
|
(7)У с=меня есть мнение что сегодня у всех. Обострение:-)
Такие вопросы задают - закачаешься. |
|||
11
kotletka
27.04.14
✎
21:21
|
(10) ммм так больше половины вопросов сегодня от неё))
|
|||
12
neo_matrix_123
27.04.14
✎
21:22
|
Процедура ДействияФормыЗагрузкаНомеровДоговоров1(Кнопка)
Предупреждение("Если для работников уже введены номера договоров, то они будут заменены на номера из файла!"); ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.ПолноеИмяФайла = ""; Фильтр = "Файл базы(*.dbf)|*.dbf"; ДиалогОткрытияФайла.Фильтр = Фильтр; ДиалогОткрытияФайла.МножественныйВыбор = Ложь; ДиалогОткрытияФайла.Заголовок = "Выберите файл"; Если ДиалогОткрытияФайла.Выбрать() Тогда ВыбФайл = Новый Файл(ДиалогОткрытияФайла.ВыбранныеФайлы[0]); Иначе Предупреждение("Файл не выбран!"); Возврат; КонецЕсли; xB = Новый xBase(ВыбФайл.ПолноеИмя); xB.Кодировка = КодировкаXBase.OEM; Если НЕ xB.Открыта() Тогда xB.ОткрытьФайл(ВыбФайл.ПолноеИмя); КонецЕсли; Если xB.Поля.Найти("CONTRACTNO") = Неопределено Тогда Предупреждение("Неверный формат файла!"); Возврат; КонецЕсли; xB.Первая(); НомерДоговора = СокрЛП(xB.CONTRACTNO); ФЛ = СокрЛП(xB.SBK_FIO); НайденноеЗначение = Справочники.ФизическиеЛица.НайтиПоНаименованию(ФЛ); Если НайденноеЗначение = Справочники.ФизическиеЛица.ПустаяСсылка() Тогда Сообщить("В справочнике ""Физические лица"" не найден(а): " + ФЛ); Иначе НомДог = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); НомДог.Отбор.Объект.Установить(НайденноеЗначение); НомДог.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номер_договора")); НомДог.Прочитать(); НомДог.Очистить(); Запись = НомДог.Добавить(); Запись.Объект = НайденноеЗначение; Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номер_договора"); Запись.Значение = НомерДоговора; НомДог.Записать(); КонецЕсли; Пока xB.Следующая() Цикл НомерДоговора = СокрЛП(xB.CONTRACTNO); ФЛ = СокрЛП(xB.SBK_FIO); НайденноеЗначение = Справочники.ФизическиеЛица.НайтиПоНаименованию(ФЛ); НомДог = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); Если НайденноеЗначение = Справочники.ФизическиеЛица.ПустаяСсылка() Тогда Сообщить("В справочнике ""Физические лица"" не найден(а): " + ФЛ); Иначе НомДог = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьНаборЗаписей(); НомДог.Отбор.Объект.Установить(НайденноеЗначение); НомДог.Отбор.Свойство.Установить(ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номер_договора")); НомДог.Прочитать(); НомДог.Очистить(); Запись = НомДог.Добавить(); Запись.Объект = НайденноеЗначение; Запись.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию("Номер_договора"); Запись.Значение = НомерДоговора; НомДог.Записать(); КонецЕсли; КонецЦикла; Если xB.Открыта() Тогда xB.ЗакрытьФайл(); КонецЕсли; Сообщить(" Загрузка завершена!"); КонецПроцедуры |
|||
13
Рэйв
27.04.14
✎
21:23
|
может ВР предложит на полставки взять?:-)
|
|||
14
Рэйв
27.04.14
✎
21:24
|
(12)Поднимите мне веки!
Дайте мне развидеть это! |
|||
15
kotletka
27.04.14
✎
21:24
|
(13) он таких ущербных любит, что неТаня Цветочек, что ОхотницаЗаГоловками
|
|||
16
Рэйв
27.04.14
✎
21:25
|
(15)Ну это естественно.Я их тоже люблю:-)
|
|||
17
листопад
27.04.14
✎
21:27
|
(9) О! Спасибо!!! Уже что-то. Щас попробую...
|
|||
18
листопад
27.04.14
✎
21:29
|
(9) Не помогло, выдал ошибку:
{Форма.Форма.Форма(747)}: Поле объекта не обнаружено (ФизЛицо) Док.РаботникиОрганизации.ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(ТекСтрока.FIO)); |
|||
19
Torquader
27.04.14
✎
21:30
|
(16) Конечно, "розовое чудо" всегда вызывает восторг и радость, когда что-то пытается сделать - потому как - некоторые решения бывают настолько удивительными.
|
|||
20
Рэйв
27.04.14
✎
21:31
|
(18)>>Поле объекта не обнаружено (ФизЛицо)
Если тебе этв фраза ни о чем не говорит..(а судя по всему нет) Пригласи программиста. |
|||
21
Рэйв
27.04.14
✎
21:33
|
(19)Я просто получаю удовольствие от стиля их мышления:-)
Их переубеждать даже не надо. |
|||
22
kotletka
27.04.14
✎
21:33
|
а ты понимаешь что Док.РаботникиОрганизации это табличная часть и её надо заполнять в цикле, либо если 1 строка то Док.РаботникиОрганизации[0].Физлицо, где счетчик итератор
|
|||
23
листопад
27.04.14
✎
21:34
|
(20) Так в конфигураторе же есть этот реквизит!!! В док-те, есть табличная часть "РаботникиОрганизации" и в ней есть реквизит "ФизЛицо" (спр.ФЛ)!!!
|
|||
24
листопад
27.04.14
✎
21:34
|
(22) Я это сама не осилю ((( Помогите!!!
|
|||
25
kotletka
27.04.14
✎
21:35
|
(23) смотри (22) ФизЛицо это колонка таб части
|
|||
26
kotletka
27.04.14
✎
21:35
|
(24) в 12 готовое решение
|
|||
27
Torquader
27.04.14
✎
21:36
|
(24) Вы вообще кто по должности и кто по образованию ?
Поймите, наконец, программирование не ваше призвание - нужно искать другие виды деятельности и зарабатывания денег. |
|||
28
Рэйв
27.04.14
✎
21:36
|
(23)Мало ли что там есть.
Вот допустим я хочу обратиться к реквизиту документа Реквизит. Говорю Сообщить(реквизит). Куда оно меня пошлет? Правильно.Именно туда:-) Область видимости нужна. |
|||
29
Torquader
27.04.14
✎
21:36
|
(26) Только там загрузка из DBF - "чудо" из (0) этого не поймёт.
|
|||
30
листопад
27.04.14
✎
21:37
|
(26) В (12)- пример записи в регистр. А мне надо в документ.
|
|||
31
kotletka
27.04.14
✎
21:37
|
(29) у чудла тоже их дбф
|
|||
32
Torquader
27.04.14
✎
21:38
|
(30) А excel тут при чём тогда ?
|
|||
33
kotletka
27.04.14
✎
21:38
|
(30) вместо регистра заполняй табличную часть документа, тоже в цикле добавляй ст
|
|||
34
kotletka
27.04.14
✎
21:39
|
*строки в тч вот в строке твое физЛицо и будет доступно
|
|||
35
kotletka
27.04.14
✎
21:39
|
(32) ты уже её темы путаешь)
|
|||
36
kotletka
27.04.14
✎
21:40
|
а хотя нет это я не туда смотрю
|
|||
37
листопад
27.04.14
✎
21:41
|
(31), (32) Из Эксель данные загрузила в ТЗ на форме, по нажатию кнопки, должен заполняться док-т.
|
|||
38
zak555
27.04.14
✎
21:41
|
(8) так у неё или у него ?
|
|||
39
Torquader
27.04.14
✎
21:41
|
(35) Я то темы путаю, а (0) - профессию перепутал.
|
|||
40
kotletka
27.04.14
✎
21:41
|
нстрока = Док.РаботникиОрганизации.Добавить();
Нстрока.ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(ТекСтрока.FIO)); |
|||
41
Torquader
27.04.14
✎
21:42
|
(38) А, может быть, при отуплении пол меняется - но (0) где-то утверждает, что оно - "девушка не замужем".
|
|||
42
zak555
27.04.14
✎
21:42
|
(40) ковнокодинг
|
|||
43
zak555
27.04.14
✎
21:43
|
(41) ты же сегодня утверждал, что в 0 автор м по данным инфостарта
|
|||
44
kotletka
27.04.14
✎
21:44
|
(42) убейся, "из того что было я его слепила". Сделай лучше из того что дано
|
|||
45
Torquader
27.04.14
✎
21:45
|
(42) Ну давайте ещё "белому чуду" расскажем, что такое правильное написание кода и как это нужно делать.
|
|||
46
zak555
27.04.14
✎
21:47
|
(44) сначала надо в РС ФИОфизиков поискать, а уж потом в справочнике
и если нигде нет -- создать элемент |
|||
47
kotletka
27.04.14
✎
21:47
|
(46) сделай
|
|||
48
zak555
27.04.14
✎
21:49
|
(47) мне не надо
|
|||
49
kotletka
27.04.14
✎
21:50
|
отвлеченно умничаешь значит, тож умеемс
|
|||
50
листопад
27.04.14
✎
22:21
|
Выдает ошибку:
{Форма.Форма.Форма(775)}: Поле объекта не обнаружено (FIO) Запрос.УстановитьПараметр("ФИО", ТекСтрока.FIO); Вот что я состряпала: Процедура ЗагрузитьНажатие(Элемент) Для Каждого СтрокаТЧ Из Таблица Цикл ФЛ = Справочники.ФизическиеЛица.НайтиПоНаименованию(СокрЛП(СтрокаТЧ.FIO),Истина); Если ФЛ = Справочники.ФизическиеЛица.ПустаяСсылка() Тогда ТекФЛ = СоздатьФЛ(СтрокаТЧ); ТекФЛ = ЗагрузитьЛицевыеСчета(СтрокаТЧ); Иначе Сообщить(СтрокаТЧ.FIO + " уже есть в базе!!!"); КонецЕсли; КонецЦикла; КонецПроцедуры Функция ЗагрузитьЛицевыеСчета(ТекСтрока) Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ЛицевыеСчетаРаботниковОрганизации.Организация, | ЛицевыеСчетаРаботниковОрганизации.Банк, | ЛицевыеСчетаРаботниковОрганизации.ФизЛицо, | ЛицевыеСчетаРаботниковОрганизации.НомерЛицевогоСчета |ИЗ | РегистрСведений.ЛицевыеСчетаРаботниковОрганизации КАК ЛицевыеСчетаРаботниковОрганизации |ГДЕ | ЛицевыеСчетаРаботниковОрганизации.Организация = &Организация //| И ЛицевыеСчетаРаботниковОрганизации.Банк = &Банк | И (ВЫРАЗИТЬ(ЛицевыеСчетаРаботниковОрганизации.ФизЛицо.Наименование КАК СТРОКА(50))) = (ВЫРАЗИТЬ(&ФИО КАК СТРОКА(50))) | И (ВЫРАЗИТЬ(ЛицевыеСчетаРаботниковОрганизации.НомерЛицевогоСчета КАК СТРОКА(23))) = (ВЫРАЗИТЬ(&Счет КАК СТРОКА(23)))" ; Организация = Справочники.Организации.НайтиПоКоду("000000001"); Запрос.УстановитьПараметр("Организация", Организация); //Запрос.УстановитьПараметр("Банк", Банк); Запрос.УстановитьПараметр("ФИО", ТекСтрока.FIO); Запрос.УстановитьПараметр("Счет", ТекСтрока.LIC_SCHET); ТаблРез = Запрос.Выполнить().Выгрузить(); ТаблРезКол = ТаблРез.Количество(); Если ТаблРезКол = 0 Тогда Запрос = Новый Запрос(); Запрос.Текст = "ВЫБРАТЬ | ФизическиеЛица.Ссылка |ИЗ | Справочник.ФизическиеЛица КАК ФизическиеЛица |ГДЕ | (ВЫРАЗИТЬ(ФизическиеЛица.Наименование КАК СТРОКА(50))) = (ВЫРАЗИТЬ(&ФИО КАК СТРОКА(50)))" ; Запрос.УстановитьПараметр("ФИО", ТекСтрока.FIO); ТаблФИО = Запрос.Выполнить().Выгрузить(); ТаблФИОКол = ТаблФИО.Количество(); Если ТаблФИОКол = 0 Тогда Сообщить("Не найден сотрудник " + ТекСтрока.FIO + " лицевой счет " + ТекСтрока.LIC_SCHET + " не записан"); ИначеЕсли ТаблФИОКол > 1 Тогда Сообщить("Не уникален сотрудник " + ТекСтрока.FIO + " лицевой счет " + ТекСтрока.LIC_SCHET + " не записан"); Иначе ЗаписьЛС = РегистрыСведений.ЛицевыеСчетаРаботниковОрганизации.СоздатьМенеджерЗаписи(); ЗаписьЛС.Организация = Справочники.Организации.НайтиПоКоду("000000001"); // ЗаписьЛС.Банк = Банк; ЗаписьЛС.ФизЛицо = ТаблФИО[0].Ссылка; ЗаписьЛС.НомерЛицевогоСчета = ТекСтрока.LIC_SCHET; ЗаписьЛС.Записать(); КонецЕсли; КонецЕсли; КонецФункции |
|||
51
zak555
27.04.14
✎
22:26
|
запрос в цикле -- фу
|
|||
52
Torquader
27.04.14
✎
22:39
|
(51) Да там и остальное ФУ особенно
ВЫРАЗИТЬ(ФизическиеЛица.Наименование КАК СТРОКА(50))) = (ВЫРАЗИТЬ(&ФИО КАК СТРОКА(50)))" |
|||
53
neo_matrix_123
27.04.14
✎
22:45
|
(51)+1 да уж. мое фио точно все не влезет
|
|||
54
Homer
27.04.14
✎
22:46
|
(50) пациент скорее мертв чем жив
|
|||
55
Torquader
27.04.14
✎
22:47
|
(50) "Чудик" - во-первых, организацию нужно найти один раз и потом использовать её, сохранённую в переменной.
Во-вторых, мы можем загрузить список ФИО в массив и выбрать соответствие запросом один раз. |
|||
56
neo_matrix_123
27.04.14
✎
22:47
|
мне интересно, а следующая ветка не будет, случаем, про выгрузку лицевых счетов обратно в файл для банка?
|
|||
57
Torquader
27.04.14
✎
22:49
|
(56) Будет.
Загрузить, чтоб выгрузить ^_^ |
|||
58
neo_matrix_123
27.04.14
✎
22:54
|
(57) ;-)) ну тада ждемс...
|
|||
59
Torquader
27.04.14
✎
22:59
|
(50) листик, листик, кис, кис, кис - напиши запрос на бис ^_^
|
|||
60
zulu_mix
27.04.14
✎
23:03
|
вангую
Док.РаботникиОрганизации.Загрузить(Запрос.Выполнить.Выгрузить()); |
|||
61
листопад
27.04.14
✎
23:09
|
Ничего не поняла. ГДЕ У МЕНЯ ОШИБКА В (50)??? Помогите пожалуйста!!!!
|
|||
62
zulu_mix
27.04.14
✎
23:18
|
(61) по шагам.
1) грузи ехель во временную тз запроса 2) соединяй временную тз с данными из БД с условием что физлицо не нулл 3) (6) 4) в запросе меняешь условие из 2 на нулл. это надо создать и дополнить табчасть в цикле |
|||
63
листопад
27.04.14
✎
23:23
|
(62) Из Эксель в ТЗ уже выгружено: Таблица. Затем перебираю ТЗ, строка в (50):
Для Каждого СтрокаТЧ Из Таблица Цикл А дальше как? |
|||
64
zulu_mix
27.04.14
✎
23:28
|
(63) не надо так делать. внимательно изучи 2) из (62)
тебе надо соединить данные в запросе и поставить условие. |
|||
65
Torquader
27.04.14
✎
23:30
|
(63) Мы в запросе должны найти человека по введённым данным, но данные живут в ТЗ.
|
|||
66
листопад
27.04.14
✎
23:35
|
(64) не получается по-другому...
|
|||
67
Torquader
27.04.14
✎
23:39
|
Таблицу во временную таблицу:
"ВЫБРАТЬ /список полей - напиши сам/ ПОМЕСТИТЬ ВремТаб1 ИЗ &ПараметрВременнаяТаблица" Соединить: ВЫБРАТЬ /Список полей - напиши сам/ ИЗ ВремТаб1 ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК СпрФл ПО /здесь пишем условие соединения/ |
|||
68
zak555
27.04.14
✎
23:40
|
завтра у автора будет матумба ?
|
|||
69
Torquader
27.04.14
✎
23:42
|
Ладно - я - спать.
(68) А вы старайтесь, чтобы "чудо" написало, то, что результат давало. |
|||
70
листопад
27.04.14
✎
23:51
|
(67) Неосилю...
|
|||
71
zulu_mix
28.04.14
✎
17:18
|
напишу обработку за фотку топлес
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |