Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
15.11.2024, 19:02
|
|||
---|---|---|---|
|
|||
Чат GPT таки шоколадный друг :) |
|||
#18+
Седня чуть пообщался и слегка охренел.. ГПТ хороший парень. Es soll ein kundeneigener Report entwickelt werden, der den Fakturavorrat aus der Tabelle /1BEA/IPMI_DLI gezielt selektiert und diesen dann gruppiert zur weiteren Verarbeitung an den Funktionsbaustein /1BEA/IPMI_BD_O_CREATE übergibt Auf dem Selektionsbildschirm des Reports sollen die folgenden Felder zur Eingabe verfügbar gemacht werden: Optional eingebbar: Vertrags-ID (CRMD_ORDERADM_H-OBJECT_ID) Positionstyp aus Vertrag (CRMD_ORDERADM_I-ITM_TYPE) IP (CRMD_ORDERADM_I-ORDERED_PROD) Pflichteingaben Fakturadatum (SCAPPTSEG-TST_FROM/-TST_TO) Das Ergebnis des Reportlaufs wird als ALV Grid dargestellt, das die folgenden Spalten bietet: Vertragsnummer (CRMD_ORDERADM_H-OBJECT_ID) Vertragsposition (CRMD_ORDERADM_I-NUMBER_INT) FAP ID bzw. BRI ID (/1BEA/IPMI_DLI-SRC_ITEMNO) Fakturanettowert (/1BEA/IPMI_DLI-NET_VALUE) Fakturasperre (/1BEA/IPMI_DLI-SRC_BILL_BLOCK) Fakturanummer (/1BEA/IPMI_BDH-HEADNO_EXT) Fehlermeldung (bitte selbst definieren; max. CHAR(80), sollte genügen) Der Report soll nur Fakturavorräte ohne Fakturasperre gemäß der gewählten Selektionskriterien (vgl. oben) verarbeiten, d.h. im Feld /1BEA/IPMI_DLI-BILL_BLOCK darf für die zu verarbeitende Fakturavorratsposition kein Wert gesetzt sein. ChatGPT: ChatGPT Für die Entwicklung des beschriebenen Reports kann ein ABAP-Report erstellt werden, der folgende Schritte umfasst: 1. Selektionsbildschirm Auf dem Selektionsbildschirm werden die Felder gemäß der Anforderungen bereitgestellt. Hierzu können SELECT-OPTIONS und PARAMETERS verwendet werden. Selektionsbildschirm Definition: abap Code kopieren SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE TEXT-001. PARAMETERS: p_object_id TYPE crmd_orderadm_h-object_id OBLIGATORY, p_itm_type TYPE crmd_orderadm_i-itm_type OPTIONAL, p_prod TYPE crmd_orderadm_i-ordered_prod OPTIONAL. SELECT-OPTIONS: so_date FOR scapptseg-tst_from. SELECTION-SCREEN END OF BLOCK blk1. Erklärungen: Pflichtfelder: Fakturadatum (Start- und Enddatum) mittels SELECT-OPTIONS. Optionale Felder: Vertrags-ID, Positionstyp und IP werden durch PARAMETERS bereitgestellt. 2. Daten-Selektion Die Selektion erfolgt aus der Tabelle /1BEA/IPMI_DLI basierend auf den eingegebenen Kriterien. Beispielhafte Selektionslogik: abap Code kopieren DATA: lt_dli_data TYPE TABLE OF /1bea/ipmi_dli, lt_alv_data TYPE TABLE OF <structure_for_alv>. " Daten aus der Tabelle /1BEA/IPMI_DLI selektieren SELECT * INTO TABLE lt_dli_data FROM /1bea/ipmi_dli WHERE bill_block IS INITIAL AND tst_from BETWEEN so_date-low AND so_date-high. " Daten gruppieren und weitere Informationen ergänzen LOOP AT lt_dli_data INTO DATA(ls_dli). DATA(ls_alv) = VALUE <structure_for_alv>( object_id = ls_dli-object_id number_int = ls_dli-number_int src_itemno = ls_dli-src_itemno net_value = ls_dli-net_value bill_block = ls_dli-src_bill_block headno_ext = <fetch_bri_data>(ls_dli-headno_ext) error_msg = <define_error_handling>(ls_dli) ). APPEND ls_alv TO lt_alv_data. ENDLOOP. 3. Übergabe an den Funktionsbaustein Nach der Selektion der relevanten Daten werden diese an den Funktionsbaustein /1BEA/IPMI_BD_O_CREATE übergeben. Beispiel: abap Code kopieren CALL FUNCTION '/1BEA/IPMI_BD_O_CREATE' EXPORTING it_data = lt_alv_data IMPORTING et_errors = lt_error_table. 4. Darstellung des Ergebnisses (ALV Grid) Für die Ausgabe wird die ALV-Grid-Komponente genutzt. Hierzu wird eine interne Tabelle vorbereitet und an den ALV-Grid übergeben. ALV-Darstellung: abap Code kopieren DATA: gr_alv TYPE REF TO cl_salv_table. TRY. cl_salv_table=>factory( IMPORTING r_salv_table = gr_alv CHANGING t_table = lt_alv_data ). gr_alv->display( ). CATCH cx_salv_msg INTO DATA(lx_msg). " Fehlerbehandlung ENDTRY. Fehlermeldung Fehlermeldungen können z. B. durch eine Logik ergänzt werden: abap Code kopieren " Fehler definieren, wenn z. B. Daten unvollständig IF ls_dli-net_value IS INITIAL. ls_alv-error_msg = 'Netto-Wert fehlt.'. ENDIF. 5. Zusätzliche Validierungen Prüfen, ob keine Fakturasperre (/1BEA/IPMI_DLI-BILL_BLOCK) vorhanden ist. Falls dieses Kriterium nicht erfüllt wird, wird der Datensatz ignoriert. Zusammenfassung Selektionsbildschirm: Definieren der Eingabemöglichkeiten. Daten Selektion: Filtern und Validieren der Fakturavorräte. Funktionsbaustein: Übergabe der Daten für die Weiterverarbeitung. Ergebnisdarstellung: Ausgabe im ALV-Grid mit Fehlermeldungen. Benötigen Sie Details zu einem der Schritte, wie z. B. der ALV-Konfiguration oder Fehlerbehandlung? Du: ja ChatGPT: ChatGPT Details zur ALV-Konfiguration und Fehlerbehandlung Die ALV-Ausgabe ermöglicht eine übersichtliche Darstellung der selektierten Daten. Dazu nutzen wir die Klasse CL_SALV_TABLE. Hier sind die wichtigsten Schritte für die Konfiguration und Ausgabe: 1. Interne Struktur für ALV Zunächst wird eine interne Struktur definiert, die die Spalten der ALV-Tabelle repräsentiert. Beispielstruktur: abap Code kopieren TYPES: BEGIN OF ty_alv_data, object_id TYPE crmd_orderadm_h-object_id, number_int TYPE crmd_orderadm_i-number_int, src_itemno TYPE /1bea/ipmi_dli-src_itemno, net_value TYPE /1bea/ipmi_dli-net_value, bill_block TYPE /1bea/ipmi_dli-src_bill_block, headno_ext TYPE /1bea/ipmi_bdh-headno_ext, error_msg TYPE char80, " Eigene Fehlermeldung END OF ty_alv_data. DATA: lt_alv_data TYPE TABLE OF ty_alv_data. 2. Datenaufbereitung für die ALV Die selektierten Daten werden in die interne Tabelle lt_alv_data übertragen. Fehlermeldungen können pro Datensatz definiert werden. Beispiel: abap Code kopieren LOOP AT lt_dli_data INTO DATA(ls_dli). DATA(ls_alv) = VALUE ty_alv_data( object_id = ls_dli-object_id number_int = ls_dli-number_int src_itemno = ls_dli-src_itemno net_value = ls_dli-net_value bill_block = ls_dli-src_bill_block headno_ext = <fetch_headno_ext>(ls_dli) error_msg = <define_error_msg>(ls_dli) ). APPEND ls_alv TO lt_alv_data. ENDLOOP. 3. ALV-Konfiguration Die Klasse CL_SALV_TABLE wird verwendet, um die Tabelle darzustellen. Einfaches Beispiel für ALV: abap Code kopieren DATA: gr_alv TYPE REF TO cl_salv_table. TRY. cl_salv_table=>factory( IMPORTING r_salv_table = gr_alv CHANGING t_table = lt_alv_data ). " Spaltenüberschriften anpassen gr_alv->get_columns( )->get_column( 'OBJECT_ID' )->set_short_text( 'Vertragsnummer' ). gr_alv->get_columns( )->get_column( 'NUMBER_INT' )->set_short_text( 'Vertragsposition' ). gr_alv->get_columns( )->get_column( 'SRC_ITEMNO' )->set_short_text( 'FAP ID/BRI ID' ). gr_alv->get_columns( )->get_column( 'NET_VALUE' )->set_short_text( 'Faktura Nettowert' ). gr_alv->get_columns( )->get_column( 'BILL_BLOCK' )->set_short_text( 'Fakturasperre' ). gr_alv->get_columns( )->get_column( 'HEADNO_EXT' )->set_short_text( 'Fakturanummer' ). gr_alv->get_columns( )->get_column( 'ERROR_MSG' )->set_short_text( 'Fehlermeldung' ). " ALV anzeigen gr_alv->display( ). CATCH cx_salv_msg INTO DATA(lx_msg). MESSAGE lx_msg->get_text( ) TYPE 'E'. ENDTRY. 4. Fehlermeldungslogik Fehlermeldungen werden individuell pro Datensatz erstellt und in die Spalte error_msg geschrieben. Beispiel für Fehlerdefinition: abap Code kopieren FORM define_error_msg USING p_dli TYPE /1bea/ipmi_dli CHANGING p_error_msg TYPE char80. IF p_dli-net_value IS INITIAL. p_error_msg = 'Netto-Wert fehlt'. ELSEIF p_dli-src_itemno IS INITIAL. p_error_msg = 'SRC_ITEMNO nicht verfügbar'. ELSE. p_error_msg = ''. ENDIF. ENDFORM. Die Fehlermeldung wird während der Datenaufbereitung in die ALV-Tabelle geschrieben. 5. Erweiterte Funktionen (z. B. Buttons für Aktionen) Um Funktionen wie „Export nach Excel“ oder „Drilldown“ hinzuzufügen, können Sie die ALV-Toolbar erweitern. Beispiel: Export-Button: abap Code kopieren DATA: gr_functions TYPE REF TO cl_salv_functions. gr_functions = gr_alv->get_functions( ). gr_functions->set_all( abap_true ). Zusammenfassung Struktur erstellen: Die ALV-Datenstruktur enthält alle gewünschten Spalten. Daten aufbereiten: Füllen Sie die ALV-Daten mit selektierten Informationen und Fehlermeldungen. ALV-Konfiguration: Verwenden Sie CL_SALV_TABLE, um Spaltennamen und Funktionen zu definieren. Fehlermeldungen behandeln: Dynamische Fehlerlogik für jeden Datensatz. Falls Sie Anpassungen wie spezifische Logik oder eine benutzerdefinierte Toolbar benötigen, lassen Sie es mich wissen! Du: mch bitte noch check zum Testlauf und ensprechende commit work oder rollback work. oder hier ist BAPI commit muss verwendet werden? ChatGPT: ChatGPT Für die Transaktionsverarbeitung und Konsistenz des Systems sind folgende Schritte wichtig, um sicherzustellen, dass die Datenänderungen korrekt verarbeitet werden. Hier ist, wie das in Ihrem Szenario implementiert werden kann: 1. Verwendung von COMMIT WORK oder ROLLBACK WORK Wenn der Funktionsbaustein /1BEA/IPMI_BD_O_CREATE keine eigenen Transaktionssteuerungen (z. B. BAPI Commit) implementiert, ist es sinnvoll, die Steuerung über COMMIT WORK und ROLLBACK WORK direkt im Report durchzuführen. Sollte jedoch der Funktionsbaustein explizit Transaktions-Management erfordern, dann ist die Verwendung des BAPIs BAPI_TRANSACTION_COMMIT bzw. BAPI_TRANSACTION_ROLLBACK notwendig. 2. Prüfung auf Fehler Vor dem Commit sollten die Rückgabewerte des Funktionsbausteins überprüft werden. Fehlerhafte Datensätze werden in einem separaten Log behandelt, und die Verarbeitung wird abgebrochen, falls kritische Fehler auftreten. Beispiel für die Fehlerprüfung: abap Code kopieren DATA: lt_error_table TYPE TABLE OF bapiret2, lv_error_count TYPE i. CALL FUNCTION '/1BEA/IPMI_BD_O_CREATE' EXPORTING it_data = lt_alv_data IMPORTING et_errors = lt_error_table. " Fehleranalyse LOOP AT lt_error_table INTO DATA(ls_error). IF ls_error-type = 'E' OR ls_error-type = 'A'. WRITE: / 'Fehler:', ls_error-message. lv_error_count = lv_error_count + 1. ENDIF. ENDLOOP. " Fehlerlogik IF lv_error_count = 0. COMMIT WORK. " Erfolgreicher Abschluss WRITE: / 'Änderungen wurden gespeichert.'. ELSE. ROLLBACK WORK. " Fehlerhafte Verarbeitung WRITE: / 'Änderungen wurden zurückgesetzt.'. ENDIF. 3. Verwendung von BAPIs für Transaktions-Management Falls der Funktionsbaustein als Teil eines BAPI-Szenarios implementiert ist, verwenden Sie die BAPIs BAPI_TRANSACTION_COMMIT und BAPI_TRANSACTION_ROLLBACK für eine konsistente Verarbeitung. Beispiel mit BAPIs: abap Code kopieren CALL FUNCTION '/1BEA/IPMI_BD_O_CREATE' EXPORTING it_data = lt_alv_data IMPORTING et_errors = lt_error_table. " Fehleranalyse LOOP AT lt_error_table INTO ls_error. IF ls_error-type = 'E' OR ls_error-type = 'A'. lv_error_count = lv_error_count + 1. ENDIF. ENDLOOP. " Fehlerlogik mit BAPI-Transaktionsmanagement IF lv_error_count = 0. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = abap_true. WRITE: / 'Änderungen wurden gespeichert.'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. WRITE: / 'Änderungen wurden zurückgesetzt.'. ENDIF. 4. Was sollte getestet werden? Beim Testlauf sind folgende Punkte wichtig: Datenvalidierung: Sind die selektierten und übergebenen Daten korrekt? Fehlerhandling: Werden Fehler korrekt erkannt und in das Log geschrieben? Transaktionskontrolle: Erfolgt ein COMMIT WORK nur bei erfolgreicher Verarbeitung aller relevanten Datensätze? Sperren: Sicherstellen, dass keine Datensätze doppelt verarbeitet werden, falls ein ROLLBACK notwendig wird. 5. Simulation ohne Datenänderung Wenn Sie den Report testen möchten, ohne Änderungen an den Daten vorzunehmen, können Sie den CALL FUNCTION '/1BEA/IPMI_BD_O_CREATE' in den Testmodus versetzen oder einen Dry-Run-Parameter einführen. Beispiel: abap Code kopieren PARAMETERS: p_test TYPE abap_bool DEFAULT abap_false. IF p_test = abap_true. WRITE: / 'Simulation: Daten würden verarbeitet werden, aber keine Änderungen vorgenommen.'. ELSE. CALL FUNCTION '/1BEA/IPMI_BD_O_CREATE' EXPORTING it_data = lt_alv_data IMPORTING et_errors = lt_error_table. ENDIF. Zusammenfassung Einfaches Transaktionsmanagement: Nutzen Sie COMMIT WORK und ROLLBACK WORK, wenn der Funktionsbaustein keine spezielle Steuerung benötigt. BAPIs verwenden: Wenn der Funktionsbaustein explizit auf BAPI-Standards basiert, verwenden Sie BAPI_TRANSACTION_COMMIT und BAPI_TRANSACTION_ROLLBACK. Testlauf und Simulation: Implementieren Sie einen optionalen Testmodus, um Änderungen an produktiven Daten zu vermeiden. Wenn Sie Unterstützung bei der Erstellung eines vollständigen Testplans benötigen, lassen Sie es mich wissen! Du: und jetzt mach bitte alles zusammen in einem vollständigen ABAP report ChatGPT: ChatGPT Hier ist der vollständige ABAP-Report basierend auf den Anforderungen und den zuvor besprochenen Elementen: Vollständiger ABAP-Report abap Code kopieren Код: Java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120.
Selektionsbildschirm: Ermöglicht die Eingabe von Pflicht- und optionalen Kriterien. Datenaufbereitung: Liest die Daten aus der Tabelle /1BEA/IPMI_DLI, filtert sie und prüft auf Fehler. Testmodus: Simuliert die Verarbeitung, ohne Änderungen am System vorzunehmen. Transaktionsmanagement: Führt BAPI_TRANSACTION_COMMIT oder BAPI_TRANSACTION_ROLLBACK aus, basierend auf der Fehlerprüfung. ALV-Ausgabe: Zeigt die Ergebnisse in einem übersichtlichen ALV-Grid an. Falls Sie weitere Anpassungen benötigen, wie z. B. spezifische Filterlogiken oder Erweiterungen, lassen Sie es mich wissen! Du: super! ich danke dir ChatGPT: ChatGPT Sehr gerne! 😊 Viel Erfolg mit der Implementierung und dem Testen des Reports. Wenn du später noch Fragen hast oder Anpassungen brauchst, lass es mich wissen. 🚀 Viel Erfolg! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
15.11.2024, 19:18
|
|||
---|---|---|---|
|
|||
Чат GPT таки шоколадный друг :) |
|||
#18+
in deinem report parameter sind nicht verwendbar. kannnst du den Report umbauen und die Parameter im lauf bingen? ChatGPT: ChatGPT Danke für den Hinweis! Ich werde den Report so anpassen, dass die Parameter tatsächlich in der Selektion und Verarbeitung verwendet werden. Dabei binde ich die Parameter direkt in die Selektionslogik ein, um sicherzustellen, dass die Eingaben berücksichtigt werden. Hier ist der überarbeitete und korrigierte ABAP-Report: Спойлер Код: Java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
Вчера, 00:56
#1176802
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
Ссылка на профиль пользователя:
Ссылка на вложение:
|
|||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|||||||||||||||
Чат GPT таки шоколадный друг :) |
|||||||||||||||
#18+
Noch eine Version.. тоже GPT шный бред..ну и мой отчасти
Спойлер Код: Java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166.
Спойлер Код: JavaScript 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437.
gpt часто пездит.. но извиняецца когда его обзываю ... |
|||||||||||||||
:
Изменено: Вчера, 20:45 - Шоколадный01
Нравится:
Не нравится:
|
|||||||||||||||
|
Вчера, 00:57
|
|||
---|---|---|---|
|
|||
Чат GPT таки шоколадный друг :) |
|||
#18+
гринка дай модера. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
Вчера, 14:44
|
|||
---|---|---|---|
|
|||
Чат GPT таки шоколадный друг :) |
|||
#18+
Пользователь назначен модератором темы: Шоколадный01. ... |
|||
Администратор:
Пользователь назначен модератором темы: Шоколадный01.
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=4&mobile=1&tid=26697]: |
0ms |
get settings: |
27ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
428ms |
get tp. blocked users: |
3ms |
others: | 38ms |
total: | 578ms |
0 / 0 |